Files
Hermes-ui/packages/client/src/i18n/locales/zh-TW.ts
T
2026-05-25 13:06:06 +08:00

1339 lines
52 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export default {
// 登入
login: {
title: 'Hermes Web UI',
description: '輸入使用者名稱和密碼以繼續。',
placeholder: '存取權杖',
submit: '登入',
tokenRequired: '請輸入存取權杖',
invalidToken: '權杖無效',
connectionFailed: '無法連線至伺服器',
passwordLogin: '密碼登入',
tokenLogin: '權杖登入',
usernamePlaceholder: '使用者名稱',
passwordPlaceholder: '密碼',
defaultCredentialsHint: '預設登入名:admin,預設密碼:123456',
credentialsRequired: '請輸入使用者名稱和密碼',
invalidCredentials: '使用者名稱或密碼錯誤',
tooManyAttempts: '登入失敗次數過多,請稍後再試',
lockResetHint: '如果這是你的伺服器,可以執行以下命令清除登入鎖定:',
defaultLoginResetHint: '如需重置預設 admin 密碼,可以執行:',
sessionExpired: '登入已過期,請重新登入',
accessDenied: '你沒有權限存取此資源',
passwordMismatch: '兩次密碼不一致',
passwordTooShort: '密碼長度至少 6 個字元',
setupSuccess: '密碼登入設定成功',
passwordChanged: '密碼修改成功',
passwordRemoved: '密碼登入已移除',
setupPassword: '設定密碼登入',
changePassword: '修改密碼',
changeUsername: '修改使用者名稱',
removePasswordLogin: '移除',
username: '使用者名稱',
currentPassword: '目前密碼',
newPassword: '新密碼',
confirmPassword: '確認密碼',
newUsername: '新使用者名稱',
usernameChanged: '使用者名稱修改成功',
usernameTooShort: '使用者名稱至少 2 個字元',
setupDescription: '管理用於登入的使用者名稱和密碼。',
removeConfirm: '使用者帳號必須保留密碼登入。',
passwordLoginNotConfigured: '密碼登入未設定',
passwordLoginConfigured: '目前帳號:{username}',
defaultCredentialTitle: '請修改預設帳號和密碼',
defaultCredentialMessage: '目前登入帳號仍在使用預設使用者名稱或預設密碼。為避免未授權存取,請盡快進入目前帳號修改使用者名稱和密碼。',
defaultCredentialAction: '去修改',
defaultCredentialLater: '稍後提醒',
},
users: {
title: '帳號管理',
description: '建立使用者、分配角色,並控制一般管理員可存取的設定檔。',
create: '建立使用者',
edit: '編輯使用者',
username: '使用者名稱',
role: '角色',
statusLabel: '狀態',
profiles: '可存取設定檔',
profilesPlaceholder: '選擇可存取的設定檔',
allProfiles: '全部設定檔',
noProfiles: '未關聯設定檔',
lastLogin: '最後登入',
newPasswordOptional: '新密碼(留空不修改)',
loadFailed: '使用者列表載入失敗',
deleteConfirm: '確認刪除此使用者?',
enable: '啟用',
disable: '停用',
roles: {
superAdmin: '超級管理員',
admin: '一般管理員',
},
status: {
active: '啟用',
disabled: '停用',
},
},
// 通用
common: {
loading: '載入中...',
cancel: '取消',
delete: '刪除',
retry: '重試',
edit: '編輯',
save: '儲存',
saved: '已儲存',
saveFailed: '儲存失敗',
deleteFailed: '刪除失敗',
ok: '確定',
copied: '已複製',
copy: '複製',
update: '更新',
create: '建立',
noData: '目前無資料',
expired: '已過期',
fetch: '取得',
add: '新增',
enable: '啟用',
disable: '停用',
configured: '已設定',
notConfigured: '未設定',
confirm: '確定',
expand: '展開',
collapse: '收起',
start: '啟動',
stop: '停止',
},
// 側邊欄
sidebar: {
chat: '對話',
search: '搜尋',
apiRelay: '中轉站',
history: '歷史',
jobs: '任務',
kanban: '看板',
models: '模型',
profiles: '使用者',
plugins: '插件',
skills: '技能',
memory: '記憶',
logs: '日誌',
usage: '用量',
performance: '效能監控',
skillsUsage: '技能用量',
channels: '頻道',
gateways: '閘道',
terminal: '終端機',
groupChat: '群聊',
files: '檔案',
groupConversation: '對話',
groupConversationShort: '對話',
groupPlatform: '平台',
groupAgent: '代理',
groupAgentShort: '代理',
groupSystem: '系統',
groupSystemShort: '系統',
groupMonitoring: '監控',
groupMonitoringShort: '監控',
groupTools: '工具',
settings: '設定',
connected: '已連線',
disconnected: '未連線',
collapse: '收起選單',
expand: '展開選單',
updateTip: '在終端機執行 "hermes-web-ui update" 即可更新',
updateVersion: '升級版本 v{version}',
reloadClientVersion: '重新整理到 v{version}',
updating: '正在更新...',
updateSuccess: '更新成功,請稍後重新整理頁面,如長時間未啟動,請手動啟動',
updateFailed: '更新失敗',
logout: '登出',
nodeVersionWarning: '偵測到 Node.js v{version},請升級至 23 以上版本。',
changelog: '更新日誌',
noChangelog: '目前無更新日誌',
},
performance: {
title: '效能監控',
subtitle: '查看系統資源、Bridge Broker、Workers 和活躍會話',
refresh: '重新整理',
autoRefreshOn: '自動重新整理',
autoRefreshOff: '手動重新整理',
loadFailed: '效能資料載入失敗',
systemCpu: '系統 CPU',
systemMemory: '系統記憶體',
activeSessions: '活躍會話',
runningSessions: '執行中 {count}',
workers: 'Workers',
totalWorkerMemory: 'Worker 總記憶體',
processes: '程序',
uptime: '執行',
running: '執行中',
stopped: '已停止',
workerMemory: 'Worker 記憶體',
lastUpdated: '更新時間',
profile: 'Profile',
memory: '記憶體',
sessions: '會話',
runningActiveSessions: '執行中 / 活躍',
lastUsed: '最後使用',
status: '狀態',
noWorkers: '暫無 Worker',
sessionsByProfile: '按 Profile 統計會話',
noActiveSessions: '暫無活躍會話',
},
// 抽屜
drawer: {
terminal: '終端機',
files: '工作區',
},
// 對話
chat: {
contextRemaining: '剩餘',
contextClickToEdit: '點擊編輯上下文長度',
contextEditTitle: '編輯上下文長度',
contextEditDesc: '設定目前模型的上下文長度限制(token 數量)',
contextEditPlaceholder: '請輸入上下文長度',
contextEditHint: '常見值:200k (Claude), 128k (GPT-4), 32k (GPT-3.5)',
contextEditSave: '儲存',
contextEditCancel: '取消',
contextEditInvalid: '請輸入有效的上下文長度',
contextEditSuccess: '上下文長度已更新',
contextEditFailed: '更新失敗',
emptyState: '開始與 Hermes Agent 對話',
outlineTitle: '會話大綱',
outlineEmpty: '暫無會話內容',
outlineUserQuestion: '使用者問題',
inputPlaceholder: '輸入訊息... (Enter 發送,Shift+Enter 換行)',
slashCommandArgs: {
message: '<訊息>',
title: '<標題>',
text: '<文字>',
},
slashCommands: {
usage: '計算目前會話用量',
status: '查看會話狀態和佇列',
abort: '停止目前 Bridge 執行',
queue: '將訊息加入目前執行後的佇列',
clear: '清空目前顯示內容',
clearHistory: '刪除目前會話已儲存的訊息歷史',
title: '重新命名目前會話',
compress: '空閒時觸發上下文壓縮',
steer: '向目前 Bridge 執行傳送引導文字',
destroy: '釋放目前會話的 Bridge Agent',
},
attachFiles: '新增附件',
autoPlaySpeech: '自動播放語音',
showToolCalls: '顯示工具呼叫',
hideToolCalls: '隱藏工具呼叫',
messageQueue: '訊息佇列',
removeQueuedMessage: '移除佇列訊息',
stop: '停止',
start: '啟動',
stopGateway: '停止閘道',
send: '發送',
contextUsed: '上下文已用:',
sessions: '工作階段',
webUiSessions: '工作階段',
allProfiles: '全部設定',
profileMissingModelsTip: '此工作階段所屬設定「{profile}」沒有可用的 provider 或模型',
sessionScopeHint: '這裡只顯示目前工作階段;CLI、Telegram、Discord、Cron 等頻道工作階段在歷史中以唯讀方式查看。',
openHistory: '開啟歷史',
hermesHistory: 'Hermes 歷史',
historyScopeHint: '這裡按來源以唯讀方式查看目前 profile 的 Hermes 歷史工作階段。',
noSessions: '目前無工作階段',
searchTitle: '搜尋工作階段',
searchSubtitle: '依標題或訊息內容搜尋',
searchScope: '搜尋範圍:僅 Web UI 本地工作階段資料庫;不包含唯讀 Hermes 歷史工作階段。',
searchHint: 'Cmd/Ctrl+K',
searchPlaceholder: '搜尋工作階段...',
searchEmpty: '最近工作階段',
searchRecent: '最近工作階段',
searchNoResults: '沒有符合的工作階段',
searchNoSnippet: '沒有可顯示的摘要',
searchEnterHint: 'Enter 開啟 · Esc 關閉',
searchFailed: '搜尋工作階段失敗',
newChat: '新增對話',
approvalKicker: '終端授權',
approvalTitle: '執行前請確認命令',
approvalAllowOnce: '僅本次允許',
approvalAllowSession: '本工作階段允許',
approvalAlways: '永遠允許',
approvalDeny: '拒絕',
clarifyKicker: 'Agent 需要確認',
clarifyTitle: 'Agent 有一個問題需要您回答',
clarifyPlaceholder: '輸入你的回答...',
clarifySubmit: '回覆',
clarifyDismiss: '忽略',
deleteSession: '確定刪除此工作階段?',
sessionDeleted: '工作階段已刪除',
toggleBatchMode: '批次選取',
selectAll: '全選',
confirmBatchDelete: '確定刪除選取的 {count} 個工作階段?',
batchDeleteSuccess: '已刪除 {count} 個工作階段',
batchDeletePartial: '{failed} 個工作階段刪除失敗',
batchDeleteFailed: '批次刪除失敗',
rename: '重新命名',
pin: '釘選',
unpin: '取消釘選',
pinned: '已釘選',
chatMode: '聊天',
liveMode: '即時',
liveSessions: '即時工作階段',
recentBadge: '最近',
linkedSessions: '關聯 {count} 個工作階段',
noVisibleMessages: '沒有人類可見訊息。',
monitorRoleUser: '使用者',
monitorRoleAssistant: '助手',
copySessionLink: '複製工作階段連結',
openSessionInNewTab: '在新分頁開啟',
sessionLinkCopied: 'Session link copied',
copySessionId: '複製工作階段 ID',
export: '匯出',
exportFull: '完整匯出 (JSON)',
exportCompressed: '壓縮匯出 (TXT)',
exportCompressing: '正在壓縮上下文,請稍候...',
exportSuccess: '工作階段已匯出',
exportFailed: '匯出失敗',
renamed: '已重新命名',
renameFailed: '重新命名失敗',
renameSession: '重新命名工作階段',
sessionNotFound: '找不到工作階段',
enterNewTitle: '輸入新標題',
workspace: '工作區',
setWorkspace: '設定工作區',
setWorkspaceTitle: '設定工作階段工作區',
workspacePlaceholder: '輸入專案路徑,例如 /home/user/project',
workspaceSet: '工作區已設定',
workspaceSetFailed: '設定工作區失敗',
other: '其他',
runFailed: '執行失敗',
error: '錯誤',
tool: '工具',
arguments: '參數',
result: '結果',
truncated: '... (已截斷)',
executionDuration: '執行時長',
thinkingLabel: '思考過程',
thinkingInProgress: '思考中…',
thinkingShow: '展開思考過程',
thinkingHide: '收起思考過程',
thinkingDuration: '已觀察 {duration}',
thinkingChars: '{count} 字',
copyBubble: '複製訊息',
copiedBubble: '已複製',
copyFailed: '複製失敗',
playSpeech: '播放語音',
pauseSpeech: '暫停',
resumeSpeech: '繼續',
stopSpeech: '停止',
speechNotSupported: '此瀏覽器不支援語音播放',
modelSetFailed: '設定模型失敗',
modelSet: '模型已設定',
setModelTitle: '設定工作階段模型',
setModel: '設定模型',
newCliChat: '新增 CLI',
cliEmptyState: '開始 CLI 對話',
},
// 看板
kanban: {
title: '看板',
createTask: '新增任務',
noTasks: '目前無任務',
allStatuses: '所有狀態',
allAssignees: '所有負責人',
board: {
create: '新增看板',
archive: '封存看板',
slugPlaceholder: '看板識別碼,例如 project-a',
namePlaceholder: '顯示名稱(選填)',
slugRequired: '看板識別碼不能為空',
created: '看板已建立',
archived: '看板已封存',
archiveConfirm: '確定封存目前看板?',
},
columns: {
triage: '待分類',
todo: '待辦',
ready: '就緒',
running: '進行中',
blocked: '阻塞',
done: '已完成',
archived: '已封存',
},
form: {
title: '標題',
titlePlaceholder: '任務標題',
titleRequired: '標題不能為空',
body: '描述',
bodyPlaceholder: '任務描述(選填)',
assignee: '負責人',
selectAssignee: '選擇負責人...',
priority: '優先級',
selectPriority: '選擇優先級...',
},
card: {
assigneeTooltip: '負責人',
priority: {
low: '低',
medium: '中',
high: '高',
},
timeAgo: {
justNow: '剛剛',
minutes: '{count} 分鐘前',
hours: '{count} 小時前',
days: '{count} 天前',
},
},
detail: {
status: '狀態',
assignee: '負責人',
priority: '優先級',
tenant: '租戶',
createdAt: '建立時間',
startedAt: '開始時間',
completedAt: '完成時間',
comments: '評論',
events: '事件',
runs: '執行記錄',
result: '完成結果',
sessions: '關聯工作階段',
sessionMessages: '工作階段記錄',
noSessions: '找不到關聯工作階段。',
artifacts: '產出檔案',
sources: '資料來源',
highlights: '關鍵資訊',
},
action: {
title: '操作',
complete: '完成',
completeSummary: '完成摘要(選填)',
block: '阻塞',
blockReason: '阻塞原因',
unblock: '解除阻塞',
assign: '指派',
assignTo: '指派給...',
},
message: {
taskCreated: '任務已建立',
taskCompleted: '任務已完成',
taskBlocked: '任務已阻塞',
taskUnblocked: '任務已解除阻塞',
taskAssigned: '任務已指派',
loadFailed: '載入任務失敗',
},
stats: {
total: '總計',
tasks: '任務數',
},
},
// 排程任務
jobs: {
title: '排程任務',
createJob: '建立任務',
editJob: '編輯任務',
noJobs: '目前無排程任務,建立一個開始吧。',
name: '名稱',
namePlaceholder: '任務名稱',
schedule: '排程運算式 (Cron)',
schedulePlaceholder: '例如 0 9 * * *',
quickPresets: '快速預設',
selectPreset: '選擇預設...',
presetEveryMinute: '每分鐘',
presetEvery5Min: '每 5 分鐘',
presetEveryHour: '每小時',
presetEveryDay: '每天 00:00',
presetEveryDay9: '每天 09:00',
presetEveryMonday: '每週一 09:00',
presetEveryMonth: '每月 1 日 09:00',
prompt: '提示詞',
promptPlaceholder: '要執行的內容',
deliverTarget: '投遞目標',
origin: '來源',
local: '本地',
repeatCount: '重複次數(選填)',
modelPlaceholder: '預設模型',
repeatPlaceholder: '留空表示無限重複',
jobCreated: '任務已建立',
jobUpdated: '任務已更新',
nameRequired: '名稱為必填項',
scheduleRequired: '排程運算式為必填項',
loadFailed: '載入任務失敗',
jobPaused: '任務已暫停',
jobResumed: '任務已恢復',
jobTriggered: '任務已觸發',
modelUpdated: '模型已更新',
jobDeleted: '任務已刪除',
status: {
running: '執行中',
paused: '已暫停',
disabled: '已停用',
scheduled: '已排程',
},
info: {
model: '模型',
schedule: '排程',
lastRun: '上次執行',
nextRun: '下次執行',
deliver: '投遞',
repeat: '重複',
},
action: {
pause: '暫停',
pauseJob: '暫停任務',
resume: '恢復',
resumeJob: '恢復任務',
runNow: '立即執行',
triggerImmediately: '立即觸發',
},
runHistory: {
title: '執行歷史',
runs: '次執行',
noRuns: '目前無執行歷史。',
},
},
// 技能
skills: {
title: '技能',
searchPlaceholder: '搜尋技能...',
noMatch: '沒有符合的技能',
noSkills: '目前無技能',
backTo: '返回',
attachedFiles: '附件檔案',
loadFailed: '載入技能失敗',
fileLoadFailed: '載入檔案失敗',
modified: '使用者已修改',
archived: '已封存',
pinned: '已釘選',
pin: '釘選技能',
unpin: '取消釘選',
pinFailed: '變更釘選狀態失敗',
toggleFailed: '切換技能狀態失敗',
source: {
builtin: '內建',
hub: 'Hub 安裝',
local: '本地安裝',
external: '外部目錄',
},
},
// 插件
plugins: {
title: '插件',
refresh: '重新整理',
notice: '唯讀顯示可發現的 Hermes 插件 manifest。發現元資料讀取不會載入插件程式碼。v1 管理動作仍保留在 CLI,新 Hermes 工作階段生效。',
loadFailed: '載入插件失敗',
commandCopied: '指令已複製',
searchPlaceholder: '搜尋 key、名稱、描述、路徑...',
source: '來源',
kind: '類型',
statusTitle: '狀態',
configStatus: '設定:{status}',
notAvailable: '無',
copyCommand: '複製指令',
managedElsewhere: '由其他位置管理',
noMatch: '沒有符合目前篩選條件的插件',
enabled: '已啟用',
disabled: '已停用',
summary: {
total: '總數',
active: '已啟用 / 自動',
inactive: '未啟用',
disabled: '已停用',
providerManaged: 'Provider 管理',
},
status: {
enabled: '已啟用',
'auto-active': '自動啟用',
inactive: '未啟用',
disabled: '已停用',
'provider-managed': 'Provider 管理',
},
statusLabel: {
enabled: '設定啟用',
'auto-active': '自動啟用',
inactive: '未啟用',
disabled: '已停用',
'provider-managed': 'Provider 管理',
},
configStatuses: {
enabled: '已啟用',
disabled: '已停用',
'not-enabled': '未啟用',
auto: '自動',
'provider-managed': 'Provider 管理',
},
table: {
plugin: '插件',
status: '狀態',
source: '來源',
kind: '類型',
capabilities: '能力',
path: '路徑 / 入口',
cli: 'CLI',
},
capabilities: {
tools: '{count} 個工具',
hooks: '{count} 個 hook',
env: '{count} 個環境變數',
},
metadata: {
agentRoot: 'Agent 根目錄',
python: 'Python',
scanCwd: '掃描 cwd',
projectPlugins: '專案插件',
},
},
// 記憶
memory: {
title: '記憶',
refresh: '重新整理',
loadFailed: '載入記憶失敗',
myNotes: '我的筆記',
noNotes: '目前無筆記。',
notesPlaceholder: '輸入筆記內容...',
userProfile: '使用者畫像',
noProfile: '目前無畫像。',
profilePlaceholder: '輸入使用者畫像...',
soul: '靈魂',
noSoul: '目前無靈魂設定。',
soulPlaceholder: '輸入靈魂設定...',
},
// 模型
models: {
title: '模型',
searchPlaceholder: '搜尋模型...',
addProvider: '新增 Provider',
providerType: 'Provider 類型',
preset: '預設',
custom: '自訂',
selectProvider: '選擇 Provider',
chooseProvider: '選擇一個 provider...',
getApiKey: '取得 API Key',
name: '名稱',
autoGeneratedName: '依 Base URL 自動產生',
baseUrl: 'Base URL',
region: '區域',
regionIntl: '國際版',
regionCn: '中國大陸',
baseUrlPlaceholder: '例如 https://api.example.com/v1',
apiKey: 'API Key',
apiKeyPlaceholder: 'sk-...',
defaultModel: '預設模型',
selectOrInput: '選擇或輸入模型名稱...',
selectModel: '選擇模型...',
providerAdded: 'Provider 已新增',
providerDeleted: 'Provider 已刪除',
deleteProvider: '刪除 Provider',
deleteConfirm: '確定刪除「{name}」嗎?',
codexLoginTitle: 'OpenAI Codex 登入',
codexWaiting: '在授權頁面輸入以下代碼完成登入:',
codexCopyCode: '代碼已複製',
codexOpenLink: '開啟授權頁面',
codexApproved: '登入成功',
codexExpired: '授權已過期,請重試。',
nousLoginTitle: 'Nous Portal 登入',
nousWaiting: '在授權頁面輸入此代碼完成登入:',
nousCopyCode: '代碼已複製',
nousOpenLink: '開啟授權頁面',
nousApproved: '登入成功',
nousDenied: '授權被拒絕,請重試。',
nousExpired: '授權已過期,請重試。',
copilotLoginTitle: 'GitHub Copilot 登入',
copilotWaiting: '請前往 GitHub 輸入下方裝置代碼完成授權。授權完成後視窗會自動關閉。',
copilotCopyCode: '代碼已複製',
copilotOpenLink: '開啟 GitHub 授權頁',
copilotApproved: '登入成功!',
copilotDenied: '授權被拒絕。',
copilotExpired: '授權連結已過期,請重試。',
copilotAddDetectedTitle: '偵測到 GitHub Copilot',
copilotAddDetected: '已在本機偵測到 GitHub Copilot OAuth 憑證,點擊「新增」即可在 Hermes 中啟用 Copilot。',
copilotAddSourceEnv: '來源:~/.hermes/.envCOPILOT_GITHUB_TOKEN',
copilotAddSourceGhCli: '來源:gh CLIgh auth token',
copilotAddSourceAppsJson: '來源:VS Code Copilot 插件(apps.json',
copilotDeleteHintEnv: '此操作會清除 ~/.hermes/.env 中的 COPILOT_GITHUB_TOKEN,不影響其他工具。',
copilotDeleteHintGhCli: 'Copilot 將從 Hermes 清單移除。不會影響 gh CLI —— `gh auth status` 仍顯示已登入。',
copilotDeleteHintAppsJson: 'Copilot 將從 Hermes 清單移除。不會影響 VS Code Copilot 插件的登入。',
customBadge: '自訂',
previewBadge: '預覽',
disabledBadge: '不可用',
disabledTooltip: '此模型目前帳號不可用',
customModelPlaceholder: '自訂模型名稱',
customModelHint: '按 Enter 載入',
removeCustomModel: '移除這個未列出的模型',
noProviders: '目前無 Provider,新增一個開始吧。',
models: '模型清單',
count: '個模型',
more: '個更多',
builtIn: '內建',
customType: '自訂',
provider: 'Provider',
contextLength: '上下文長度',
contextLengthPlaceholder: '例如 200000(選填)',
local: '本地 ({host})',
selectProviderRequired: '請選擇 Provider',
baseUrlRequired: 'Base URL 為必填項',
apiKeyRequired: 'API Key 為必填項',
modelRequired: '預設模型為必填項',
enterBaseUrl: '請先輸入 Base URL',
unexpectedFormat: '回應格式異常',
foundModels: '找到 {count} 個模型',
fetchFailed: '取得模型失敗',
manageVisibleModels: '管理可見模型',
manageVisibleModelsFor: '管理 {name} 可見模型',
visibilityHint: '僅影響 Web UI 的模型選擇器和模型頁展示,不會改寫 Hermes CLI 的 provider/model 配置。實際呼叫仍使用原始模型 ID。',
visibilitySaved: '可見模型已儲存',
visibilitySaveFailed: '儲存可見模型失敗',
showAllModels: '顯示全部模型',
clearVisibleModels: '取消全選',
currentDefault: '目前預設',
defaultShort: '預設',
aliasEdit: '重新命名',
aliasTitle: '模型顯示名',
aliasTitleFor: '{model} 的顯示名',
aliasPlaceholder: '留空則使用原始模型 ID',
aliasHint: '僅修改 Web UI 顯示名,傳送給 Hermes 的仍是原始模型 ID。',
aliasCanonical: '原始 ID{model}',
aliasUseOriginal: '恢復原始 ID',
aliasManage: '顯示名',
aliasManageFor: '{provider} 的顯示名',
aliasSaveFailed: '儲存顯示名失敗',
visibilitySelectOne: '至少保留一個可見模型',
xaiWaiting: '請在開啟的 xAI 頁面完成授權。授權完成後視窗會自動關閉。',
xaiOpenLink: '開啟 xAI 授權頁',
xaiLoginTitle: 'xAI Grok OAuth 登入',
xaiExpired: '授權連結已過期,請重試。',
xaiCopyLink: '複製授權連結',
xaiApproved: '登入成功!',
},
// 設定檔
profiles: {
title: '設定檔',
create: '建立設定檔',
import: '匯入',
export: '匯出',
rename: '重新命名',
delete: '刪除',
switchTo: '切換 Hermes Profile',
switchConfirm: '將執行 `hermes profile use {name}` 並切換 Hermes CLI 的 active profile,是否繼續?',
switchSuccess: 'Hermes active profile 已切換為「{name}」',
switchFailed: '切換 Hermes Profile 失敗,閘道可能需要手動重新啟動',
createSuccess: '設定檔「{name}」已建立',
createFailed: '建立設定檔失敗',
renameSuccess: '設定檔已重新命名',
renameFailed: '重新命名設定檔失敗',
deleteConfirm: '確定刪除設定檔「{name}」嗎?',
deleteSuccess: '設定檔已刪除',
deleteFailed: '刪除設定檔失敗',
exportSuccess: '設定檔已匯出',
exportFailed: '匯出設定檔失敗',
importSuccess: '設定檔已匯入',
importFailed: '匯入設定檔失敗',
importSelectFile: '選擇封存檔案',
importInvalidFile: '請選擇有效的封存檔案 (.tar.gz, .tgz, .gz, .zip)',
name: '設定檔名稱',
namePlaceholder: '僅限小寫字母、數字、連字號',
nameValidation: '設定檔名稱只能包含小寫字母、數字、底線和連字號',
newName: '新名稱',
newNamePlaceholder: '小寫字母、數字、連字號',
cloneFromCurrent: '從目前設定檔複製',
cloneCleanupNotice: '複製時會自動略過獨占型平台憑證(Weixin / Telegram / Slack 等),避免與來源設定檔衝突',
cloneStrippedCredentials: '已清理 {count} 項獨占憑證:{list}',
cloneDisabledPlatforms: '已停用 {count} 個平台:{list}',
cloneStrippedConfigCredentials: '已清理 config.yaml 中 {count} 項嵌入憑證:{list}',
archivePath: '封存路徑',
archivePathPlaceholder: '封存檔案的伺服器路徑',
importName: '設定檔名稱(選填)',
importNamePlaceholder: '留空則使用封存名稱',
active: '使用中',
model: '模型',
gateway: '閘道',
alias: '別名',
provider: 'Provider',
path: '路徑',
skills: '技能',
hasEnv: '有 .env',
hasSoulMd: '有 soul.md',
noProfiles: '目前無設定檔,建立一個開始吧。',
avatar: {
title: '自訂頭像',
customize: '頭像',
upload: '上傳圖片',
random: '隨機產生',
reset: '恢復預設',
hint: '支援 PNG、JPEG、WebP,最大 1MB',
invalidType: '請選擇 PNG、JPEG 或 WebP 圖片',
tooLarge: '頭像圖片不能超過 1MB',
saveSuccess: '頭像已儲存',
saveFailed: '儲存頭像失敗',
resetSuccess: '已恢復預設頭像',
resetFailed: '恢復預設頭像失敗',
},
runtime: {
activeProfile: '目前:{name}',
bridgeWorker: '橋接狀態',
gateway: '閘道',
active: '使用中',
activeTag: '目前',
idle: '閒置',
running: '執行中',
stopped: '已停止',
restartGateway: '重啟閘道',
restartProfile: '重啟設定檔',
switchProfile: '切換前端設定檔',
gatewayRestarted: '閘道已重啟:{name}',
gatewayRestartFailed: '重啟閘道失敗',
profileRestarted: '設定檔已重啟:{name}',
profileRestartFailed: '重啟設定檔失敗',
},
},
// 日誌
logs: {
title: '日誌',
all: '全部',
searchPlaceholder: '搜尋...',
refresh: '重新整理',
noEntries: '目前無日誌',
},
// 設定
settings: {
title: '設定',
saved: '已儲存',
saveFailed: '儲存失敗',
tabs: {
display: '顯示',
account: '目前帳號',
users: '帳號管理',
agent: '代理',
memory: '記憶',
compression: '上下文壓縮',
session: '工作階段',
privacy: '隱私',
apiServer: 'API 伺服器',
models: '模型',
voice: '語音',
},
models: {
apiKey: 'API Key',
apiKeyPlaceholder: '輸入 API Key',
save: '儲存',
saved: '已儲存',
saveFailed: '儲存失敗',
noProviders: '目前無已設定的模型',
},
display: {
streaming: '串流回應',
streamingHint: '即時顯示 AI 回覆',
compact: '緊湊模式',
compactHint: '減少訊息間距',
showReasoning: '顯示推理過程',
showReasoningHint: '展示模型思考過程',
showCost: '顯示費用',
showCostHint: '在回覆中顯示 token 使用量',
inlineDiffs: '內嵌差異',
inlineDiffsHint: '程式碼變更以內嵌方式顯示',
bellOnComplete: '完成提示音',
bellOnCompleteHint: 'AI 回覆完成時播放提示音',
busyInputMode: '忙碌輸入模式',
busyInputModeHint: 'AI 處理中仍可輸入',
theme: '主題',
themeHint: '選擇淺色、暗色或跟隨系統',
themeLight: '淺色',
themeDark: '暗色',
themeSystem: '跟隨系統',
},
agent: {
maxTurns: '最大輪次',
maxTurnsHint: '單次對話最大互動輪數',
gatewayTimeout: '閘道逾時',
gatewayTimeoutHint: '單次請求逾時時間(秒)',
restartDrainTimeout: '重啟排空逾時',
restartDrainTimeoutHint: '重啟前排空請求的逾時時間(秒)',
toolEnforcement: '工具執行策略',
toolEnforcementHint: '控制工具呼叫的執行模式',
auto: '自動',
always: '始終',
never: '從不',
},
memory: {
enabled: '啟用記憶',
enabledHint: '允許 AI 記住對話上下文',
userProfile: '使用者畫像',
userProfileHint: '允許 AI 記住使用者偏好資訊',
charLimit: '記憶字元上限',
charLimitHint: 'MEMORY.md 最大字元數',
userCharLimit: '使用者畫像字元上限',
userCharLimitHint: 'USER.md 最大字元數',
},
compression: {
enabled: '啟用壓縮',
enabledHint: '長對話接近模型上下文上限前自動壓縮歷史',
threshold: '壓縮閾值',
thresholdHint: '預估 token 超過上下文比例時開始壓縮',
targetRatio: '目標比例',
targetRatioHint: '壓縮後歷史保留到上下文的目標比例',
protectLastN: '保護最近訊息',
protectLastNHint: '最近多少則訊息不參與壓縮',
protectFirstN: '保護開頭訊息',
protectFirstNHint: '最早多少則訊息不參與壓縮',
},
session: {
mode: '重設模式',
modeHint: '工作階段重設的觸發條件',
modeBoth: '閒置 + 定時',
modeIdle: '僅閒置',
modeDaily: '僅定時',
modeNone: '永不(僅手動)',
idleMinutes: '閒置逾時',
idleMinutesHint: '無操作後自動重設的等待時間(分鐘)',
atHour: '定時重設時間',
humanOnly: '僅顯示人類工作階段',
humanOnlyHint: '預設隱藏子代理和工作階段監看雜訊',
liveMonitorHumanOnly: '即時監看:僅顯示人類工作階段',
liveMonitorHumanOnlyHint: '在即時監看中預設隱藏子代理和工作階段監看雜訊',
atHourHint: '每天在指定小時重設工作階段',
requireAuth: '工作階段授權',
requireAuthHint: '修改工作階段操作是否授權',
},
privacy: {
redactPii: '遮蔽 PII',
redactPiiHint: '自動偵測並隱藏敏感資訊(密碼、金鑰等)',
},
apiServer: {
enable: '啟用',
enableHint: '啟用 API 伺服器',
host: '主機',
hostHint: '監聽位址',
port: '連接埠',
portHint: '監聽連接埠',
key: '金鑰',
keyHint: 'API 存取金鑰',
cors: 'CORS 來源',
corsHint: '允許的跨域來源',
},
lockedIps: {
title: '鎖定 IP 管理',
count: '{count} 個 IP 被鎖定',
empty: '目前無鎖定 IP',
unlock: '解鎖',
unlockAll: '全部解鎖',
unlockAllConfirm: '確認解鎖所有鎖定的 IP',
unlocked: 'IP 已解鎖',
allUnlocked: '已解鎖 {count} 個 IP',
},
voice: {
ttsProvider: 'TTS 提供者',
ttsProviderHint: '選擇訊息朗讀使用的語音引擎',
providerWebSpeech: 'WebSpeech API(瀏覽器內建)',
providerOpenai: 'OpenAI TTS',
providerCustom: '自訂端點(相容 OpenAI',
providerEdge: 'Edge TTS(免費,無需 API Key',
// WebSpeech
webspeechVoice: '音色',
webspeechVoiceHint: '從瀏覽器或系統提供的語音中選擇',
webspeechVoicePlaceholder: '自動(預設語音)',
// OpenAI
openaiKey: 'API 金鑰',
openaiKeyHint: '具有 TTS 權限的 OpenAI API Key',
openaiUrl: 'API 基礎位址',
openaiUrlHint: '例如 https://api.openai.com/v1/audio/speech',
openaiModel: '模型',
openaiModelHint: 'tts-1(快速)/ tts-1-hd(高音質)',
openaiVoice: '音色',
openaiVoiceHint: '用於語音合成的音色',
// 自訂端點
customHint: '支援任何 OpenAI 相容的 TTS 服務——可用於 GPT-SoVITS、CosyVoice 等自部署服務。',
customUrl: 'API 位址',
customUrlHint: 'TTS 服務的完整基礎位址',
customUrlPlaceholder: '本地適配器中設定的位址,如:http://127.0.0.1:9880',
customApiKey: 'API 金鑰(選填)',
customApiKeyHint: '部分自部署服務需要身份驗證',
customApiKeyPlaceholder: '不需要則留空',
// Edge TTS
edgeHint: '由 Microsoft Edge TTS 驅動(node-edge-tts)。',
edgeUrl: '適配器位址',
edgeUrlHint: 'Edge TTS 適配器位址,例如 http://127.0.0.1:9882',
edgeUrlPlaceholder: 'http://127.0.0.1:9882',
edgeVoice: '音色',
edgeVoiceHint: '選擇用於語音合成的音色',
edgeRate: '語速',
edgeRateHint: '調整語音速度(0.52.0 倍)',
edgePitch: '音調',
edgePitchHint: '調整語音音調(-20+20 Hz',
// 試聽
testTitle: '試聽測試',
testText: '測試文字',
testTextPlaceholder: '輸入測試文字...',
testTextDefault: '你好,這是一個語音測試。',
testButton: '試聽',
testButtonPlaying: '播放中...',
testFailed: '測試失敗:{error}',
// MiMo TTS
providerMimo: 'MiMo TTS',
mimoHint: '小米 MiMo TTS,支援預設音色、音色設計、音色複製三種模式',
mimoApiKey: 'API Key',
mimoApiKeyHint: '在 platform.xiaomimimo.com 取得',
mimoApiKeyPlaceholder: 'MiMo API Key',
mimoBaseUrl: 'Base URL',
mimoBaseUrlHint: 'MiMo API 端點位址',
mimoModel: '模型',
mimoModelHint: '選擇語音合成模型',
mimoModelPreset: '預設音色',
mimoModelVoiceDesign: '音色設計',
mimoModelVoiceClone: '音色複製',
mimoVoice: '音色',
mimoVoiceHint: '選擇預設音色',
mimoVoiceDesignPrompt: '音色描述',
mimoVoiceDesignPromptHint: '描述你想要的音色特徵',
mimoVoiceDesignPromptPlaceholder: '例如:溫柔的年輕女聲,語速稍慢,帶著磁性',
mimoCloneAudio: '上傳音訊',
mimoCloneAudioHint: '上傳音訊樣本用於音色複製,支援 mp3/wav,最大 10MB',
mimoCloneAudioUpload: '選擇檔案',
mimoCloneAudioClear: '清除音訊',
mimoStylePrompt: '風格指令',
mimoStylePromptHint: '可選,用自然語言描述語音風格',
mimoStylePromptPlaceholder: '例如:用輕快上揚的語調,語速稍快',
},
},
// 平台頻道設定
platform: {
requireMention: "需要 {'@'}提及",
requireMentionGroup: "群組中需要 {'@'}機器人 才會回應",
requireMentionChannel: "頻道中需要 {'@'}機器人 才會回應",
requireMentionRoom: "房間中需要 {'@'}機器人 才會回應",
reactions: '表情回應',
reactionsHint: '對訊息新增表情回應',
freeResponseChats: '自由回應聊天',
freeResponseChatsHint: "不需要 {'@'}提及即回應的聊天 ID(逗號分隔)",
freeResponseChannels: '自由回應頻道',
freeResponseChannelsHint: "不需要 {'@'}提及即回應的頻道 ID(逗號分隔)",
freeResponseRooms: '自由回應房間',
freeResponseRoomsHint: "不需要 {'@'}提及即回應的房間 ID(逗號分隔)",
mentionPatterns: '自訂提及模式',
mentionPatternsHint: '額外的觸發模式清單',
autoThread: '自動建立討論串',
autoThreadHint: "{'@'}提及後自動建立回覆討論串",
autoThreadHintRoom: '在房間中自動建立回覆討論串',
dmMentionThreads: 'DM 提及討論串',
dmMentionThreadsHint: '在私聊中也使用討論串回覆提及',
allowBots: '允許機器人訊息',
allowBotsHint: '回應其他機器人傳送的訊息',
allowedChannels: '允許的頻道',
allowedChannelsHint: '白名單頻道 ID(逗號分隔)',
ignoredChannels: '忽略的頻道',
ignoredChannelsHint: '不回應的頻道 ID(逗號分隔)',
noThreadChannels: '無討論串頻道',
noThreadChannelsHint: '不建立討論串的頻道 ID(逗號分隔)',
exclusiveTokenWarning: '此平台使用獨占 token 鎖。每個 profile 必須使用不同的身份 token,否則會與其他 profile 衝突導致 gateway 啟動失敗。',
botToken: 'Bot Token',
botTokenHint: '開發者入口網站取得的 Bot Token',
accessToken: 'Access Token',
accessTokenHint: 'Matrix Access Token',
homeserver: 'Homeserver URL',
homeserverHint: 'Matrix 伺服器位址',
appId: 'App ID',
appIdHint: '飛書 App ID',
appSecret: 'App Secret',
appSecretHint: '飛書 App Secret',
clientId: 'Client ID',
clientIdHint: '釘釘 Client ID',
clientSecret: 'Client Secret',
clientSecretHint: '釘釘 Client Secret',
allowedUsers: '允許使用者',
allowedUsersHint: '使用者 ID 或 OpenID 白名單,多個請用英文逗號分隔',
allowAllUsers: '允許所有使用者',
allowAllUsersHint: '允許任意使用者發起訊息;關閉後使用白名單',
botId: 'Bot ID',
botIdHint: '企業微信 Bot ID',
wecomSecretHint: '企業微信 Bot Secret',
waEnabled: '啟用 WhatsApp',
waEnabledHint: '透過 QR Code 配對啟用 WhatsApp',
weixinToken: '微信 Token',
weixinTokenHint: '透過 weixin CLI 掃碼登入取得 (hermes weixin)',
accountId: 'Account ID',
accountIdHint: '微信 Account ID',
qrLogin: '掃碼登入',
qrRelogin: '重新登入',
qrFetching: '正在取得 QR Code...',
qrScanHint: '使用微信掃描 QR Code 登入',
qrScanedHint: '已掃描,請在手機上確認...',
// QQ
qqAppId: 'App ID',
qqAppIdHint: 'QQ 開放平台機器人 App ID',
qqAppSecret: 'App Secret',
qqAppSecretHint: 'QQ 開放平台機器人 App Secret',
qqMarkdown: 'Markdown 支援',
qqMarkdownHint: '啟用 Markdown 格式訊息(部分客戶端可能不支援)',
qqSandbox: '沙箱模式',
qqSandboxHint: '啟用沙箱環境(測試用)',
qqQrScanHint: '使用 QQ 掃描上方 QR Code,或在手機上開啟連結完成綁定',
},
// 閘道
gateways: {
title: '閘道',
running: '執行中',
stopped: '已停止',
started: '已啟動',
startFailed: '啟動失敗',
stopFailed: '停止失敗',
},
// 語言
language: {
label: '語言',
zh: '中文(簡體)',
'zh-TW': '繁體中文',
en: 'English',
},
// 終端機
terminal: {
sessions: '工作階段',
newTab: '新增終端機',
closeSession: '關閉此工作階段?',
sessionExited: '已退出',
processExited: '程序已退出,代碼 {code}',
noSessions: '目前無終端機工作階段',
connectionFailed: '終端機服務連線失敗',
connectionClosed: '終端機連線已關閉',
connectionError: '終端機連線錯誤',
},
// 群聊
groupChat: {
title: '群聊',
createRoom: '建立房間',
joinByCode: '透過邀請碼加入',
roomName: '房間名稱',
roomNamePlaceholder: '輸入房間名稱',
inviteCode: '邀請碼',
autoGenerate: '自動產生',
noRooms: '目前無房間',
selectOrCreate: '選擇或建立一個房間開始聊天',
agents: '智慧代理',
addAgent: '新增智慧代理',
selectProfile: '選擇一個設定檔',
agentAdded: '智慧代理已新增',
agentAlreadyInRoom: '該智慧代理已在房間中',
agentAddFailedCount: '{count} 個智慧代理未新增:{details}',
noAgents: '目前房間無智慧代理',
members: '成員',
roomCreated: '房間已建立',
roomDeleted: '房間已刪除',
roomCloned: '房間已複製',
cloneRoom: '複製房間',
copyRoomLink: '複製房間連結',
deleteRoomConfirm: '確定刪除這個房間嗎?',
clearContext: '清理上下文',
clearContextConfirm: '確定清理目前房間上下文嗎?訊息和壓縮快照會被刪除,智慧代理和成員會保留。',
contextCleared: '上下文已清理',
you: '你',
joined: '已加入房間',
joinFailed: '加入房間失敗',
inputPlaceholder: '輸入訊息... (Enter 發送)',
enterCode: '輸入邀請碼',
yourName: '你的名稱',
yourNamePlaceholder: '輸入你的群聊暱稱',
yourDescription: '自我介紹(選填)',
yourDescriptionPlaceholder: '介紹一下你自己...',
agentName: 'Agent 名稱',
agentNamePlaceholder: '自訂名稱(留空則使用 profile 名稱)',
agentDesc: 'Agent 描述',
agentDescPlaceholder: '描述這個 agent 的作用...',
agentReplying: '正在回覆...',
agentCompressing: '正在壓縮上下文...',
compressionSettings: '壓縮設定',
triggerTokens: '觸發壓縮 Token 數',
triggerTokensDesc: '訊息 token 數超過此值時觸發上下文壓縮',
maxHistoryTokens: '最大歷史 Token 數',
maxHistoryTokensDesc: '壓縮後傳送給 LLM 的最大 token 數',
tailMessageCount: '保留最近訊息數',
tailMessageCountDesc: '壓縮後保留最近的原始訊息條數',
compressionConfig: '壓縮設定',
compressionSaved: '壓縮設定已儲存',
compressNow: '立即壓縮',
compressingInProgress: '正在壓縮中,請稍後',
},
// 用量統計
usage: {
title: '用量統計',
refresh: '重新整理',
totalTokens: '總 Token 數',
inputTokens: '輸入',
outputTokens: '輸出',
totalSessions: '總工作階段數',
avgPerDay: '日均 ~{n}',
estimatedCost: '預估費用',
cacheHitRate: '快取命中率',
modelBreakdown: '模型分布',
dailyTrend: '每日用量',
date: '日期',
tokens: 'Token',
cache: '快取',
cacheRead: '快取讀取',
cacheWrite: '快取寫入',
sessions: '工作階段',
cost: '費用',
noData: '目前無用量資料',
},
skillsUsage: {
title: '技能用量',
subtitle: '追蹤 Hermes 工作階段中的技能載入與編輯',
refresh: '重新整理',
periodSelector: '技能用量期間',
periodLabel: '{days}天',
summary: '總覽',
totalActions: '操作',
loads: '載入',
edits: '編輯',
distinctSkills: '技能數',
topSkills: '熱門',
dailyTrend: '趨勢',
periodSummary: '最近 {days} 天',
skill: '技能',
share: '占比',
lastUsed: '最近',
noData: '暫無技能用量資料',
loadFailed: '技能用量載入失敗',
otherSkills: '其他技能',
},
// 檔案管理
files: {
title: '檔案',
fileTree: '檔案樹',
tree: '目錄樹',
list: '檔案清單',
breadcrumbRoot: '根目錄',
newFile: '新增檔案',
newFolder: '新增資料夾',
upload: '上傳',
refresh: '重新整理',
open: '開啟',
edit: '編輯',
preview: '預覽',
download: '下載',
copyPath: '複製路徑',
rename: '重新命名',
delete: '刪除',
name: '名稱',
size: '大小',
modified: '修改時間',
actions: '操作',
emptyDir: '空目錄',
loading: '載入中...',
confirmDelete: '確定要刪除「{name}」嗎?',
confirmDeleteDir: '確定要刪除目錄「{name}」及其所有內容嗎?',
deleteFailed: '刪除失敗',
deleted: '已刪除',
renameTo: '重新命名為',
newFileName: '檔案名稱',
newFolderName: '資料夾名稱',
created: '已建立',
createFailed: '建立失敗',
renamed: '已重新命名',
renameFailed: '重新命名失敗',
uploadSuccess: '已上傳 {count} 個檔案',
uploadFailed: '上傳失敗',
saveFailed: '儲存失敗',
saved: '已儲存',
unsavedChanges: '有未儲存的變更,是否捨棄?',
pathCopied: '路徑已複製',
fileTooLarge: '檔案過大(最大 10MB',
permissionDenied: '無法修改受保護的檔案',
notFound: '檔案或目錄不存在',
backendError: '檔案操作失敗',
dragDropHint: '拖曳檔案至此處上傳',
closeEditor: '關閉編輯器',
closePreview: '關閉',
saveFile: '儲存',
},
// 下載
download: {
downloading: '正在下載...',
downloadFailed: '下載失敗',
fileNotFound: '檔案不存在或已被刪除',
fileTooLarge: '檔案過大(超過限制)',
backendError: '檔案讀取失敗,遠端環境可能不可用',
backendTimeout: '檔案讀取逾時',
unsupportedBackend: '目前 terminal backend 暫不支援檔案下載',
invalidPath: '無效的檔案路徑',
contentDisplay: '內容展示',
download: '下載',
downloadFile: '下載檔案',
},
// 更新日誌
changelog: {
new_0_5_31_1: "增強 Bridge Broker 重啟穩定性,修復群聊最終串流渲染,並新增群聊 {'@'}all 路由",
new_0_5_31_2: '檔案管理支援複製絕對路徑,並修復行動端工作階段抽屜層級遮擋問題',
new_0_5_31_3: 'Profile 選擇器新增頭像展示、自訂頭像、執行狀態彈窗,以及網關/Profile 重啟操作',
new_0_5_31_4: 'Profile 頭像會同步用於單聊、群聊和折疊側邊欄,頭像中繼資料保存到 Web UI 目錄並相容 Windows 路徑',
new_0_5_31_5: '改進 Docker、Termux、Windows 的 gateway 偵測和重啟邏輯,優先使用 gateway_state/gateway.pid 判斷 managed gateway 是否存活',
new_0_5_31_6: '新增 APIKEY.FUN 生圖媒體接口和內建 apikey-image-gen skill,支援文生圖、圖生圖和圖片編輯,並從 active Profile 的 fun-codex 配置讀取憑據',
new_0_5_33_1: '單聊和群聊的執行失敗、Socket 錯誤會作為紅色 Agent 訊息保留在訊息列表中,不再一閃而過',
new_0_5_33_2: '會話搜尋支援按目前選中的 Profile 限定範圍,未選擇 Profile 時仍可搜尋全部 Profile',
new_0_5_33_3: 'Skills 頁面新增中英文推薦清單,未選中 Skill 時展示推薦內容,並支援再次點擊已選 Skill 取消選中',
new_0_5_33_4: '清理未使用的 changelog 國際化內容,減少前端 i18n 體積',
new_0_5_33_5: '修復 Windows 中文系統下 agent bridge 解析 netstat 輸出編碼失敗導致啟動異常的問題',
new_0_5_33_6: '更新 Nous Portal 預設模型列表,對齊公開 catalog 和 Portal 推薦模型',
new_0_5_33_7: 'Profile 列表和執行狀態改為從目錄讀取 Profile 名稱、從 config 讀取預設模型,避免 CLI 表格欄寬導致 name/model/gateway 解析錯位',
new_0_5_34_1: '儲存工作階段和群聊訊息時會規範化多模態工具結果,避免 base64 圖片污染回放內容',
new_0_5_34_2: '自訂 Hermes 模型改由後端設定持久化,並新增新增/移除模型介面',
new_0_5_34_3: '修復 Bridge 執行結束後的最終上下文用量和工具狀態更新',
new_0_5_34_4: '最佳化看板篩選、負責人展示、卡片操作和任務詳情處理',
new_0_5_34_5: '修復壓縮用量統計:快取固定 prompt/tool 上下文,並顯示完整上下文 token 總量',
new_0_5_34_6: '群聊 Agent 快取各自固定上下文,僅在真正開始壓縮時顯示壓縮進度',
new_0_5_34_7: 'Web UI 內建 Skills 會同步注入到所有 Profile,並在日誌中標明目標 Profile',
new_0_5_34_8: '如果 Windows 下看板功能異常,請升級 Hermes 以取得最新的看板資料庫遷移修復',
new_0_5_35_1: 'Bridge 工作階段支援不同 session 並發執行,同一 session 仍保持串行以避免訊息順序錯亂',
new_0_5_35_2: '新增「效能監控」頁面,可查看系統 CPU/記憶體、Web UI、Bridge Broker、Workers 和活躍工作階段狀態',
new_0_5_35_3: '新增 Worker 級資源統計,展示每個 worker 的 CPU、記憶體、Profile、工作階段數和執行狀態',
new_0_5_35_4: '最佳化 Bridge worker 生命週期清理,Broker 關閉或父行程退出時會回收 worker,減少殘留 Python 行程',
new_0_5_35_5: '監控介面增強跨平台相容,支援 macOS、Windows、Linux、Docker 和 Termux 的資源採集降級',
new_0_5_35_6: '效能監控不再因 Agent 初始化中的 worker 請求而阻塞,降低 Windows 上 request timed out 的機率',
new_0_5_35_7: '聊天 Markdown 新增文字內容內嵌預覽,下載圖示會直接下載檔案,避免被預覽抽屜攔截',
new_0_5_35_8: '最佳化內容展示抽屜:行動端全寬並提供關閉入口,桌面端加寬到 800px,文字與 Markdown 背景保持一致',
new_0_6_0_1: '分帳戶、分 Profile 管理現在一致保護工作階段、模型、用量、看板、任務、上傳、媒體與相關 Hermes API',
new_0_6_0_2: '內建媒體 Skills 只會在媒體端點使用產生的伺服器 token,並依請求的 Profile 讀取 fun-codex/xAI 憑證',
new_0_6_0_3: '單聊與群聊都會把目前 Hermes Profile 注入執行提示,方便 Skills 請求時帶上 X-Hermes-Profile',
new_0_6_0_4: 'delegate_task 的 subagent 進度會即時顯示在聊天介面,包含開始、工具、進度與完成狀態',
new_0_6_0_5: '停止或中止執行時會清理暫時事件,避免舊的 abort 狀態帶入下一次聊天',
new_0_6_0_6: '同步更新文件與官網文案,涵蓋帳戶管理、預設憑證、分帳戶分 Profile 管理、上傳下載與內建媒體 Skills',
new_0_6_0_7: '新增 CLI 維護命令,用於清理登入 IP 鎖與重設預設 admin / 123456 登入帳戶',
new_0_6_0_8: '0.6.0 是 Web UI 從單使用者走向多使用者的分界版本;如果多使用者模式遇到問題,請提交 issue,必要時可回退到 0.5.35 單使用者版本',
new_0_6_1_1: '會話列表預設顯示目前帳戶可用的全部 Profile;只有明確選擇 Profile 篩選時才會限定 Profile,同時 CLI start/stop/status 不再列印 node:sqlite 實驗警告',
new_0_6_1_2: 'Clarify 與確認回覆現在會透過已鑑權的聊天 socket 傳到 Hermes bridge,並補上回應鏈路測試',
new_0_6_1_3: '導覽項目與聊天會話列改用原生連結,支援新分頁開啟、複製連結,並保留側邊欄摺疊狀態',
new_0_6_1_4: '會話連結不再把路由 Profile 洩漏到一般會話列表篩選,並補齊「在新分頁開啟」多語文案',
new_0_6_1_5: 'Skills 會讀取目前 Profile config 中的 skills.external_dirs,標記 external 來源,保留本地優先,並支援讀取外部 skill 檔案',
new_0_6_1_6: '登入 IP 鎖定門檻提高到 10 次失敗,鎖定後的登入頁會提示清除鎖定與重設預設登入的復原命令',
new_0_6_1_7: '行動端或背景造成的聊天斷線會視為暫時斷線,重連後從服務端恢復執行狀態',
new_0_6_1_8: 'Bridge 工具標記 flush 會在工具與執行邊界持久化殘留的工具呼叫前綴,避免重新整理後內容截斷',
new_0_6_1_9: 'History 與會話刪除改為帶上 Profile 精確目標,並在全域 Profile 切換時刷新歷史頁',
new_0_6_1_10: '移除舊的 AUTH_DISABLED 認證繞過以符合多使用者權限模型,同時保留 AUTH_TOKEN 支援',
},
}