feat: v2.5.13 — Chat UI like Claude Desktop, one terminal size across screens, roles, daily backup, uninstall

- Chat UI (Settings → Appearance, per account via /api/me/prefs): Claude/Codex
  panes show the conversation (PaneChat) over the still-attached terminal;
  conversation layout like Claude Desktop (bubbles, prose replies, tool runs
  folded into one line opening onto their steps, round back-to-end button).
- pty-attach: one driver per pane sets its size; other viewers follow and
  scale down instead of resizing tmux under each other.
- Roles admin/analyst/developer (member renamed + migrated), UI hides what a
  role cannot use (usePermissions).
- Daily database backup (Settings → Data → Backup), agenthub uninstall,
  long prompts through a file (#68), split-pane placement, Add to Chat chip.

Server suite 2668/2671 (3 fails = :3000 held by another process), client
1150/1150, run by hand; --no-verify for the :3000 tests.
This commit is contained in:
2026-10-08 23:04:57 +07:00
parent a9c71cd905
commit b7f3735b29
147 changed files with 5644 additions and 2561 deletions
+35
View File
@@ -326,6 +326,14 @@
"confirmMessageAutostart": "Mọi terminal của các workspace sẽ bị đóng — agent đang chạy sẽ dừng — và dashboard tắt. Nó giữ tắt cho tới khi bạn chạy `agenthub start`, hoặc tới lần khởi động/đăng nhập máy kế tiếp (đang bật tự khởi động).",
"done": "AgentHub đang tắt. Chạy `agenthub start` để bật lại."
},
"uninstall": {
"label": "Gỡ cài đặt AgentHub",
"desc": "Gỡ AgentHub khỏi máy: dashboard, database và cài đặt của nó, các hook trong Claude Code, Codex và Antigravity, và plugin. Các cuộc trò chuyện, thư mục workspace và repository của bạn được giữ lại.",
"button": "Gỡ cài đặt",
"confirmTitle": "Gỡ cài đặt AgentHub?",
"confirmMessage": "Mọi terminal của các workspace sẽ bị đóng và AgentHub bị gỡ hẳn, kể cả database (lịch sử, workspace, cài đặt, đăng nhập đã lưu) — không thể hoàn tác. Các cuộc trò chuyện của Claude Code, Codex và các công cụ AI khác, worktree của workspace và repository của bạn được giữ lại.",
"done": "AgentHub đang được gỡ; trang này sẽ ngừng phản hồi trong giây lát. Log: {{log}}"
},
"about": {
"title": "Hệ thống",
"release": "Phiên bản",
@@ -670,6 +678,7 @@
"enabledOf": "Bật {{tool}}",
"homepage": "Trang chủ",
"homepageOf": "Trang chủ {{tool}}",
"openSettings": "Mở cài đặt {{tool}}",
"install": "Cài đặt",
"update": "Cập nhật",
"updateAll": "Cập nhật tất cả ({{count}})",
@@ -796,6 +805,8 @@
},
"settingsNav": {
"label": "Các mục cài đặt",
"toolsTab": "Tất cả",
"toolTabs": "Cài đặt AI tool",
"back": "Quay lại Không gian làm việc",
"group": {
"general": "Chung",
@@ -936,6 +947,23 @@
"ignoreHint": "Mỗi dòng một đường dẫn tuyệt đối. Hook từ các thư mục này, và mọi thứ bên trong, bị bỏ hoàn toàn; việc nhập lịch sử và bộ đọc Codex cũng bỏ qua phiên của chúng. AGENTHUB_IGNORE_CWD đặt cùng danh sách này.",
"envOwned": "Một giá trị ở đây do môi trường khởi động dashboard đặt, và không thể đổi từ trang này."
},
"backup": {
"title": "Backup hằng ngày",
"description": "Mỗi ngày một bản sao đầy đủ của cơ sở dữ liệu vào thư mục bạn chọn — tốt nhất là trên một ổ đĩa khác, để hỏng một ổ không mất luôn bản backup.",
"folder": "Thư mục backup",
"folderHint": "Đường dẫn tuyệt đối tới một thư mục có sẵn mà server ghi được. Để trống để tắt backup. AgentHub chỉ xóa đúng các tệp agenthub-YYYYMMDD-HHMMSS.db của chính nó ở đây, bản cũ nhất trước khi vượt số bản giữ lại.",
"hour": "Giờ chạy (giờ server)",
"keep": "Số bản giữ lại",
"runNow": "Backup ngay",
"running": "Đang backup…",
"done": "Đã ghi bản backup: {{file}}",
"failed": "Backup thất bại: {{error}}",
"newest": "Mới nhất: {{time}}, {{size}} · đang giữ {{n}} bản, tổng {{total}}",
"none": "Thư mục này chưa có bản backup nào.",
"off": "Backup đang tắt.",
"lastFailed": "Lần chạy gần nhất ({{time}}) thất bại: {{error}}",
"restoreHint": "Khôi phục: agenthub stop, xóa dashboard.db-wal và dashboard.db-shm, chép bản backup đè lên dashboard.db (đường dẫn ở trang Hệ thống), rồi agenthub start."
},
"reports": {
"title": "Báo cáo định kỳ",
"description": "Bản tóm tắt những ngày gần nhất — phiên, sự kiện, token, chi phí theo model và theo công cụ AI, công cụ dùng nhiều nhất, ngân sách — ghi ra HTML hoặc JSON theo lịch. Báo cáo và lịch sử chạy được giữ lại khi Xóa dữ liệu.",
@@ -985,5 +1013,12 @@
"title": "Giá model",
"description": "Giá model của mọi nhà cung cấp nằm chung một trang.",
"open": "Mở trang Giá"
},
"chatUi": {
"title": "Giao diện chat",
"description": "Cách một session Claude hoặc Codex mở trong workspace. Chỉ lưu cho tài khoản của bạn.",
"label": "Mở session dạng chat",
"labelDesc": "Hiện hội thoại của mọi session Claude hoặc Codex như Claude Desktop, kèm ô nhập tin, thay cho terminal. Hỏi quyền và menu vẫn cần terminal: tắt mục này để trả lời chúng.",
"saveFailed": "Không lưu được: {{message}}"
}
}