2026-04-13 15:15:14 +08:00
|
|
|
|
export default {
|
2026-04-14 21:48:53 +08:00
|
|
|
|
// 登录
|
|
|
|
|
|
login: {
|
2026-04-15 16:36:04 +08:00
|
|
|
|
title: 'Hermes Web UI',
|
2026-05-23 18:44:53 +08:00
|
|
|
|
description: '输入用户名和密码以继续。',
|
2026-04-14 21:48:53 +08:00
|
|
|
|
placeholder: '访问令牌',
|
|
|
|
|
|
submit: '登录',
|
|
|
|
|
|
tokenRequired: '请输入访问令牌',
|
|
|
|
|
|
invalidToken: '令牌无效',
|
|
|
|
|
|
connectionFailed: '无法连接到服务器',
|
2026-04-22 20:27:33 +08:00
|
|
|
|
passwordLogin: '密码登录',
|
|
|
|
|
|
tokenLogin: '令牌登录',
|
|
|
|
|
|
usernamePlaceholder: '用户名',
|
|
|
|
|
|
passwordPlaceholder: '密码',
|
2026-05-24 09:49:21 +08:00
|
|
|
|
defaultCredentialsHint: '默认登录名:admin,默认密码:123456',
|
2026-04-22 20:27:33 +08:00
|
|
|
|
credentialsRequired: '请输入用户名和密码',
|
|
|
|
|
|
invalidCredentials: '用户名或密码错误',
|
2026-05-08 18:29:43 +08:00
|
|
|
|
tooManyAttempts: '登录失败次数过多,请稍后重试',
|
2026-05-24 22:36:21 +08:00
|
|
|
|
lockResetHint: '如果这是你的服务器,可以执行以下命令清除登录锁定:',
|
|
|
|
|
|
defaultLoginResetHint: '如需重置默认 admin 密码,可以执行:',
|
2026-05-23 18:44:53 +08:00
|
|
|
|
sessionExpired: '登录已过期,请重新登录',
|
|
|
|
|
|
accessDenied: '你没有权限访问该资源',
|
2026-04-22 20:27:33 +08:00
|
|
|
|
passwordMismatch: '两次密码不一致',
|
|
|
|
|
|
passwordTooShort: '密码长度至少 6 个字符',
|
|
|
|
|
|
setupSuccess: '密码登录配置成功',
|
|
|
|
|
|
passwordChanged: '密码修改成功',
|
|
|
|
|
|
passwordRemoved: '密码登录已移除',
|
|
|
|
|
|
setupPassword: '设置密码登录',
|
|
|
|
|
|
changePassword: '修改密码',
|
|
|
|
|
|
changeUsername: '修改用户名',
|
|
|
|
|
|
removePasswordLogin: '移除',
|
|
|
|
|
|
username: '用户名',
|
|
|
|
|
|
currentPassword: '当前密码',
|
|
|
|
|
|
newPassword: '新密码',
|
|
|
|
|
|
confirmPassword: '确认密码',
|
|
|
|
|
|
newUsername: '新用户名',
|
|
|
|
|
|
usernameChanged: '用户名修改成功',
|
|
|
|
|
|
usernameTooShort: '用户名至少 2 个字符',
|
2026-05-23 18:44:53 +08:00
|
|
|
|
setupDescription: '管理用于登录的用户名和密码。',
|
|
|
|
|
|
removeConfirm: '用户账号必须保留密码登录。',
|
2026-04-22 20:27:33 +08:00
|
|
|
|
passwordLoginNotConfigured: '密码登录未配置',
|
2026-05-23 18:44:53 +08:00
|
|
|
|
passwordLoginConfigured: '当前账户:{username}',
|
2026-05-24 09:49:21 +08:00
|
|
|
|
defaultCredentialTitle: '请修改默认账户和密码',
|
|
|
|
|
|
defaultCredentialMessage: '当前登录账户仍在使用默认用户名或默认密码。为了避免未授权访问,请尽快进入当前账户修改用户名和密码。',
|
|
|
|
|
|
defaultCredentialAction: '去修改',
|
|
|
|
|
|
defaultCredentialLater: '稍后提醒',
|
2026-05-23 18:44:53 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
users: {
|
|
|
|
|
|
title: '账户管理',
|
2026-05-23 19:41:51 +08:00
|
|
|
|
description: '创建用户、分配角色,并控制普通管理员可访问的配置。',
|
2026-05-23 18:44:53 +08:00
|
|
|
|
create: '创建用户',
|
|
|
|
|
|
edit: '编辑用户',
|
|
|
|
|
|
username: '用户名',
|
|
|
|
|
|
role: '角色',
|
|
|
|
|
|
statusLabel: '状态',
|
2026-05-23 19:41:51 +08:00
|
|
|
|
profiles: '可访问配置',
|
|
|
|
|
|
profilesPlaceholder: '选择可访问的配置',
|
|
|
|
|
|
allProfiles: '全部配置',
|
|
|
|
|
|
noProfiles: '未关联配置',
|
2026-05-23 18:44:53 +08:00
|
|
|
|
lastLogin: '最后登录',
|
|
|
|
|
|
newPasswordOptional: '新密码(留空不修改)',
|
|
|
|
|
|
loadFailed: '用户列表加载失败',
|
|
|
|
|
|
deleteConfirm: '确认删除该用户?',
|
|
|
|
|
|
enable: '启用',
|
|
|
|
|
|
disable: '禁用',
|
|
|
|
|
|
roles: {
|
|
|
|
|
|
superAdmin: '超级管理员',
|
|
|
|
|
|
admin: '普通管理员',
|
|
|
|
|
|
},
|
|
|
|
|
|
status: {
|
|
|
|
|
|
active: '启用',
|
|
|
|
|
|
disabled: '禁用',
|
|
|
|
|
|
},
|
2026-04-14 21:48:53 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
2026-04-13 15:15:14 +08:00
|
|
|
|
// 通用
|
|
|
|
|
|
common: {
|
|
|
|
|
|
loading: '加载中...',
|
|
|
|
|
|
cancel: '取消',
|
|
|
|
|
|
delete: '删除',
|
2026-04-17 23:11:57 +08:00
|
|
|
|
retry: '重试',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
edit: '编辑',
|
|
|
|
|
|
save: '保存',
|
|
|
|
|
|
saved: '已保存',
|
|
|
|
|
|
saveFailed: '保存失败',
|
2026-04-24 20:41:14 +08:00
|
|
|
|
deleteFailed: '删除失败',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
ok: '确定',
|
|
|
|
|
|
copied: '已复制',
|
|
|
|
|
|
copy: '复制',
|
|
|
|
|
|
update: '更新',
|
|
|
|
|
|
create: '创建',
|
|
|
|
|
|
noData: '暂无数据',
|
2026-05-08 18:29:43 +08:00
|
|
|
|
expired: '已过期',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
fetch: '获取',
|
|
|
|
|
|
add: '添加',
|
|
|
|
|
|
enable: '启用',
|
|
|
|
|
|
disable: '禁用',
|
|
|
|
|
|
configured: '已配置',
|
|
|
|
|
|
notConfigured: '未配置',
|
2026-04-16 09:40:25 +08:00
|
|
|
|
confirm: '确定',
|
|
|
|
|
|
expand: '展开',
|
|
|
|
|
|
collapse: '收起',
|
2026-04-18 13:07:12 +08:00
|
|
|
|
start: '启动',
|
|
|
|
|
|
stop: '停止',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 侧边栏
|
|
|
|
|
|
sidebar: {
|
|
|
|
|
|
chat: '对话',
|
2026-04-22 14:00:34 +08:00
|
|
|
|
search: '搜索',
|
2026-05-07 22:16:52 +08:00
|
|
|
|
apiRelay: '中转站',
|
2026-05-01 11:27:43 +08:00
|
|
|
|
history: '历史',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
jobs: '任务',
|
2026-05-08 11:32:47 +08:00
|
|
|
|
kanban: '看板',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
models: '模型',
|
2026-04-16 13:51:42 +08:00
|
|
|
|
profiles: '用户',
|
2026-05-10 13:50:39 +02:00
|
|
|
|
plugins: '插件',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
skills: '技能',
|
|
|
|
|
|
memory: '记忆',
|
|
|
|
|
|
logs: '日志',
|
2026-04-14 14:47:18 +08:00
|
|
|
|
usage: '用量',
|
2026-05-23 09:05:03 +08:00
|
|
|
|
performance: '性能监控',
|
2026-05-14 09:28:51 +08:00
|
|
|
|
skillsUsage: '技能用量',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
channels: '频道',
|
2026-04-18 13:07:12 +08:00
|
|
|
|
gateways: '网关',
|
2026-04-15 16:36:04 +08:00
|
|
|
|
terminal: '终端',
|
2026-04-24 20:41:14 +08:00
|
|
|
|
groupChat: '群聊',
|
2026-04-23 12:09:39 +08:00
|
|
|
|
files: '文件',
|
2026-04-18 13:07:12 +08:00
|
|
|
|
groupConversation: '对话',
|
2026-05-19 02:33:53 +02:00
|
|
|
|
groupConversationShort: '对话',
|
2026-04-18 13:07:12 +08:00
|
|
|
|
groupPlatform: '平台',
|
|
|
|
|
|
groupAgent: '代理',
|
2026-05-19 02:33:53 +02:00
|
|
|
|
groupAgentShort: '代理',
|
2026-04-18 13:07:12 +08:00
|
|
|
|
groupSystem: '系统',
|
2026-05-19 02:33:53 +02:00
|
|
|
|
groupSystemShort: '系统',
|
2026-04-18 13:07:12 +08:00
|
|
|
|
groupMonitoring: '监控',
|
2026-05-19 02:33:53 +02:00
|
|
|
|
groupMonitoringShort: '监控',
|
2026-04-18 13:07:12 +08:00
|
|
|
|
groupTools: '工具',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
settings: '设置',
|
|
|
|
|
|
connected: '已连接',
|
|
|
|
|
|
disconnected: '未连接',
|
2026-04-18 00:00:24 +08:00
|
|
|
|
collapse: '收起菜单',
|
|
|
|
|
|
expand: '展开菜单',
|
2026-04-16 13:51:42 +08:00
|
|
|
|
updateTip: '在终端运行 "hermes-web-ui update" 即可更新',
|
|
|
|
|
|
updateVersion: '升级版本 v{version}',
|
2026-05-12 03:03:07 +02:00
|
|
|
|
reloadClientVersion: '刷新到 v{version}',
|
2026-04-16 13:51:42 +08:00
|
|
|
|
updating: '正在更新...',
|
2026-05-14 12:06:39 +08:00
|
|
|
|
updateSuccess: '更新成功,请稍后刷新页面,如长时间未启动,请手动启动',
|
2026-04-16 13:51:42 +08:00
|
|
|
|
updateFailed: '更新失败',
|
2026-04-22 20:27:33 +08:00
|
|
|
|
logout: '退出登录',
|
2026-04-23 12:57:42 +08:00
|
|
|
|
nodeVersionWarning: '检测到 Node.js v{version},请升级到23以上版本。',
|
2026-04-22 20:27:33 +08:00
|
|
|
|
changelog: '更新日志',
|
|
|
|
|
|
noChangelog: '暂无更新日志',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
2026-05-23 09:05:03 +08:00
|
|
|
|
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: '暂无活跃会话',
|
|
|
|
|
|
},
|
|
|
|
|
|
|
2026-05-03 22:10:40 +08:00
|
|
|
|
// 抽屉
|
|
|
|
|
|
drawer: {
|
|
|
|
|
|
terminal: '终端',
|
|
|
|
|
|
files: '工作区',
|
|
|
|
|
|
},
|
|
|
|
|
|
|
2026-04-13 15:15:14 +08:00
|
|
|
|
// 对话
|
|
|
|
|
|
chat: {
|
2026-04-22 16:14:50 +08:00
|
|
|
|
contextRemaining: '剩余',
|
2026-05-06 15:05:44 +08:00
|
|
|
|
contextClickToEdit: '点击编辑上下文长度',
|
|
|
|
|
|
contextEditTitle: '编辑上下文长度',
|
|
|
|
|
|
contextEditDesc: '设置当前模型的上下文长度限制(token 数量)',
|
|
|
|
|
|
contextEditPlaceholder: '请输入上下文长度',
|
2026-05-26 19:35:48 +08:00
|
|
|
|
contextEditHint: '常见值:256k (Hermes 默认), 128k (GPT-4), 32k (GPT-3.5)',
|
2026-05-06 15:05:44 +08:00
|
|
|
|
contextEditSave: '保存',
|
|
|
|
|
|
contextEditCancel: '取消',
|
|
|
|
|
|
contextEditInvalid: '请输入有效的上下文长度',
|
|
|
|
|
|
contextEditSuccess: '上下文长度已更新',
|
|
|
|
|
|
contextEditFailed: '更新失败',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
emptyState: '开始与 Hermes Agent 对话',
|
2026-05-14 09:03:57 +08:00
|
|
|
|
cliEmptyState: '开始 CLI 对话',
|
2026-05-19 08:25:01 +08:00
|
|
|
|
outlineTitle: '会话大纲',
|
|
|
|
|
|
outlineEmpty: '暂无会话内容',
|
|
|
|
|
|
outlineUserQuestion: '用户问题',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
inputPlaceholder: '输入消息... (Enter 发送,Shift+Enter 换行)',
|
2026-05-15 12:04:03 +08:00
|
|
|
|
slashCommandArgs: {
|
|
|
|
|
|
message: '<消息>',
|
|
|
|
|
|
title: '<标题>',
|
|
|
|
|
|
text: '<文本>',
|
|
|
|
|
|
},
|
|
|
|
|
|
slashCommands: {
|
|
|
|
|
|
usage: '计算当前会话用量',
|
|
|
|
|
|
status: '查看会话状态和队列',
|
|
|
|
|
|
abort: '停止当前 Bridge 运行',
|
|
|
|
|
|
queue: '把消息加入当前运行后的队列',
|
2026-05-25 15:48:17 +08:00
|
|
|
|
plan: '生成一份 Markdown 实施计划',
|
2026-05-25 19:26:23 +08:00
|
|
|
|
goal: '设置一个跨轮次持续推进的目标',
|
|
|
|
|
|
goalStatus: '查看当前目标状态',
|
|
|
|
|
|
goalPause: '暂停当前目标循环',
|
|
|
|
|
|
goalResume: '继续已暂停的目标循环',
|
|
|
|
|
|
goalDone: '完成并清除当前目标',
|
|
|
|
|
|
goalClear: '清除当前目标',
|
|
|
|
|
|
subgoal: '为当前目标追加验收条件',
|
2026-05-15 12:04:03 +08:00
|
|
|
|
clear: '清空当前显示内容',
|
|
|
|
|
|
clearHistory: '删除当前会话已入库的消息历史',
|
|
|
|
|
|
title: '重命名当前会话',
|
|
|
|
|
|
compress: '空闲时触发上下文压缩',
|
|
|
|
|
|
steer: '向当前 Bridge 运行发送引导文本',
|
|
|
|
|
|
destroy: '释放当前会话的 Bridge Agent',
|
|
|
|
|
|
},
|
2026-04-13 15:15:14 +08:00
|
|
|
|
attachFiles: '添加附件',
|
2026-05-02 13:26:57 +08:00
|
|
|
|
autoPlaySpeech: '自动播放语音',
|
2026-05-17 09:01:59 +08:00
|
|
|
|
showToolCalls: '显示工具调用',
|
|
|
|
|
|
hideToolCalls: '隐藏工具调用',
|
2026-05-07 10:34:58 +08:00
|
|
|
|
messageQueue: '消息队列',
|
|
|
|
|
|
removeQueuedMessage: '移除队列消息',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
stop: '停止',
|
2026-04-18 13:07:12 +08:00
|
|
|
|
start: '启动',
|
|
|
|
|
|
stopGateway: '停止网关',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
send: '发送',
|
2026-04-14 14:47:18 +08:00
|
|
|
|
contextUsed: '上下文已用:',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
sessions: '会话',
|
2026-05-06 16:15:42 +08:00
|
|
|
|
webUiSessions: '会话',
|
2026-05-19 16:09:59 +08:00
|
|
|
|
allProfiles: '全部配置',
|
2026-05-20 18:26:01 +08:00
|
|
|
|
profileMissingModelsTip: '该会话所属配置「{profile}」没有可用的 provider 或模型',
|
2026-05-06 16:15:42 +08:00
|
|
|
|
sessionScopeHint: '这里只显示当前会话;CLI、Telegram、Discord、Cron 等通道会话在历史中只读查看。',
|
2026-05-02 03:00:47 +02:00
|
|
|
|
openHistory: '打开历史',
|
|
|
|
|
|
hermesHistory: 'Hermes 历史',
|
2026-05-19 16:09:59 +08:00
|
|
|
|
historyScopeHint: '这里按来源只读查看当前 profile 的 Hermes 历史会话。',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
noSessions: '暂无会话',
|
2026-04-22 14:00:34 +08:00
|
|
|
|
searchTitle: '搜索会话',
|
|
|
|
|
|
searchSubtitle: '按标题或消息内容搜索',
|
2026-05-16 02:29:51 +02:00
|
|
|
|
searchScope: '搜索范围:仅 Web UI 本地会话库;不包含只读 Hermes 历史会话。',
|
2026-04-22 14:00:34 +08:00
|
|
|
|
searchHint: 'Cmd/Ctrl+K',
|
|
|
|
|
|
searchPlaceholder: '搜索会话...',
|
|
|
|
|
|
searchEmpty: '最近会话',
|
|
|
|
|
|
searchRecent: '最近会话',
|
|
|
|
|
|
searchNoResults: '没有匹配的会话',
|
|
|
|
|
|
searchNoSnippet: '没有可显示的摘要',
|
|
|
|
|
|
searchEnterHint: 'Enter 打开 · Esc 关闭',
|
|
|
|
|
|
searchFailed: '搜索会话失败',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
newChat: '新建对话',
|
2026-05-16 00:11:51 +08:00
|
|
|
|
approvalKicker: '终端授权',
|
|
|
|
|
|
approvalTitle: '运行前请确认命令',
|
|
|
|
|
|
approvalAllowOnce: '仅本次允许',
|
|
|
|
|
|
approvalAllowSession: '本会话允许',
|
|
|
|
|
|
approvalAlways: '始终允许',
|
|
|
|
|
|
approvalDeny: '拒绝',
|
2026-05-24 18:09:39 +08:00
|
|
|
|
clarifyKicker: 'Agent 需要确认',
|
|
|
|
|
|
clarifyTitle: 'Agent 有一个问题需要您回答',
|
|
|
|
|
|
clarifyPlaceholder: '输入你的回答...',
|
|
|
|
|
|
clarifySubmit: '回复',
|
|
|
|
|
|
clarifyDismiss: '忽略',
|
2026-05-14 09:03:57 +08:00
|
|
|
|
newCliChat: '新建 CLI',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
deleteSession: '确定删除此会话?',
|
|
|
|
|
|
sessionDeleted: '会话已删除',
|
2026-05-06 16:15:42 +08:00
|
|
|
|
toggleBatchMode: '批量选择',
|
|
|
|
|
|
selectAll: '全选',
|
|
|
|
|
|
confirmBatchDelete: '确定删除选中的 {count} 个会话?',
|
|
|
|
|
|
batchDeleteSuccess: '已删除 {count} 个会话',
|
|
|
|
|
|
batchDeletePartial: '{failed} 个会话删除失败',
|
|
|
|
|
|
batchDeleteFailed: '批量删除失败',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
rename: '重命名',
|
2026-04-22 02:09:58 +02:00
|
|
|
|
pin: '置顶',
|
|
|
|
|
|
unpin: '取消置顶',
|
|
|
|
|
|
pinned: '已置顶',
|
|
|
|
|
|
chatMode: '聊天',
|
|
|
|
|
|
liveMode: '实时',
|
|
|
|
|
|
liveSessions: '实时会话',
|
|
|
|
|
|
recentBadge: '最近',
|
|
|
|
|
|
linkedSessions: '关联 {count} 个会话',
|
|
|
|
|
|
noVisibleMessages: '没有人类可见消息。',
|
|
|
|
|
|
monitorRoleUser: '用户',
|
|
|
|
|
|
monitorRoleAssistant: '助手',
|
2026-05-24 10:55:55 +08:00
|
|
|
|
copySessionLink: '复制会话链接',
|
2026-05-24 19:30:32 +08:00
|
|
|
|
openSessionInNewTab: '在新标签页打开',
|
2026-05-24 14:13:42 +03:00
|
|
|
|
sessionLinkCopied: 'Session link copied',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
copySessionId: '复制会话 ID',
|
2026-05-07 13:49:57 +08:00
|
|
|
|
export: '导出',
|
|
|
|
|
|
exportFull: '全量导出 (JSON)',
|
|
|
|
|
|
exportCompressed: '压缩导出 (TXT)',
|
|
|
|
|
|
exportCompressing: '正在压缩上下文,请稍候...',
|
|
|
|
|
|
exportSuccess: '会话已导出',
|
|
|
|
|
|
exportFailed: '导出失败',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
renamed: '已重命名',
|
|
|
|
|
|
renameFailed: '重命名失败',
|
|
|
|
|
|
renameSession: '重命名会话',
|
2026-05-03 22:10:40 +08:00
|
|
|
|
sessionNotFound: '会话未找到',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
enterNewTitle: '输入新标题',
|
2026-04-30 20:17:38 +08:00
|
|
|
|
workspace: '工作区',
|
|
|
|
|
|
setWorkspace: '设置工作区',
|
|
|
|
|
|
setWorkspaceTitle: '设置会话工作区',
|
|
|
|
|
|
workspacePlaceholder: '输入项目路径,例如 /home/user/project',
|
|
|
|
|
|
workspaceSet: '工作区已设置',
|
|
|
|
|
|
workspaceSetFailed: '设置工作区失败',
|
2026-05-17 12:20:53 +08:00
|
|
|
|
setModel: '设置模型',
|
|
|
|
|
|
setModelTitle: '设置会话模型',
|
|
|
|
|
|
modelSet: '模型已设置',
|
|
|
|
|
|
modelSetFailed: '设置模型失败',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
other: '其他',
|
|
|
|
|
|
runFailed: '运行失败',
|
|
|
|
|
|
error: '错误',
|
2026-04-15 16:36:04 +08:00
|
|
|
|
tool: '工具',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
arguments: '参数',
|
|
|
|
|
|
result: '结果',
|
|
|
|
|
|
truncated: '... (已截断)',
|
2026-04-30 16:40:37 +08:00
|
|
|
|
executionDuration: '执行时长',
|
2026-04-25 08:46:50 +08:00
|
|
|
|
thinkingLabel: '思考过程',
|
|
|
|
|
|
thinkingInProgress: '思考中…',
|
|
|
|
|
|
thinkingShow: '展开思考过程',
|
|
|
|
|
|
thinkingHide: '收起思考过程',
|
|
|
|
|
|
thinkingDuration: '已观察 {duration}',
|
|
|
|
|
|
thinkingChars: '{count} 字',
|
2026-04-26 22:59:43 +08:00
|
|
|
|
copyBubble: '复制消息',
|
|
|
|
|
|
copiedBubble: '已复制',
|
|
|
|
|
|
copyFailed: '复制失败',
|
2026-05-02 13:26:57 +08:00
|
|
|
|
playSpeech: '播放语音',
|
|
|
|
|
|
pauseSpeech: '暂停',
|
|
|
|
|
|
resumeSpeech: '继续',
|
|
|
|
|
|
stopSpeech: '停止',
|
|
|
|
|
|
speechNotSupported: '此浏览器不支持语音播放',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
2026-05-08 11:32:47 +08:00
|
|
|
|
// 看板
|
|
|
|
|
|
kanban: {
|
|
|
|
|
|
title: '看板',
|
|
|
|
|
|
createTask: '新建任务',
|
|
|
|
|
|
noTasks: '暂无任务',
|
|
|
|
|
|
allStatuses: '全部状态',
|
|
|
|
|
|
allAssignees: '全部负责人',
|
2026-05-10 13:58:44 +02:00
|
|
|
|
board: {
|
|
|
|
|
|
create: '新建看板',
|
|
|
|
|
|
archive: '归档看板',
|
|
|
|
|
|
slugPlaceholder: '看板标识,例如 project-a',
|
|
|
|
|
|
namePlaceholder: '显示名称(可选)',
|
|
|
|
|
|
slugRequired: '看板标识不能为空',
|
|
|
|
|
|
created: '看板已创建',
|
|
|
|
|
|
archived: '看板已归档',
|
|
|
|
|
|
archiveConfirm: '确定归档当前看板?',
|
|
|
|
|
|
},
|
2026-05-08 11:32:47 +08:00
|
|
|
|
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: '总计',
|
2026-05-10 13:58:44 +02:00
|
|
|
|
tasks: '任务数',
|
2026-05-08 11:32:47 +08:00
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
|
2026-04-13 15:15:14 +08:00
|
|
|
|
// 定时任务
|
|
|
|
|
|
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: '重复次数(可选)',
|
2026-04-30 10:17:25 +10:00
|
|
|
|
modelPlaceholder: 'Default model',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
repeatPlaceholder: '留空表示无限重复',
|
|
|
|
|
|
jobCreated: '任务已创建',
|
|
|
|
|
|
jobUpdated: '任务已更新',
|
|
|
|
|
|
nameRequired: '名称为必填项',
|
|
|
|
|
|
scheduleRequired: '调度表达式为必填项',
|
|
|
|
|
|
loadFailed: '加载任务失败',
|
|
|
|
|
|
jobPaused: '任务已暂停',
|
|
|
|
|
|
jobResumed: '任务已恢复',
|
|
|
|
|
|
jobTriggered: '任务已触发',
|
2026-04-30 10:17:25 +10:00
|
|
|
|
modelUpdated: 'Model updated',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
jobDeleted: '任务已删除',
|
|
|
|
|
|
status: {
|
|
|
|
|
|
running: '运行中',
|
|
|
|
|
|
paused: '已暂停',
|
|
|
|
|
|
disabled: '已禁用',
|
|
|
|
|
|
scheduled: '已调度',
|
|
|
|
|
|
},
|
|
|
|
|
|
info: {
|
2026-04-30 10:17:25 +10:00
|
|
|
|
model: 'Model',
|
|
|
|
|
|
schedule: 'Schedule',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
lastRun: '上次运行',
|
|
|
|
|
|
nextRun: '下次运行',
|
|
|
|
|
|
deliver: '投递',
|
|
|
|
|
|
repeat: '重复',
|
|
|
|
|
|
},
|
|
|
|
|
|
action: {
|
|
|
|
|
|
pause: '暂停',
|
|
|
|
|
|
pauseJob: '暂停任务',
|
|
|
|
|
|
resume: '恢复',
|
|
|
|
|
|
resumeJob: '恢复任务',
|
|
|
|
|
|
runNow: '立即运行',
|
|
|
|
|
|
triggerImmediately: '立即触发',
|
|
|
|
|
|
},
|
2026-04-30 10:17:25 +10:00
|
|
|
|
runHistory: {
|
|
|
|
|
|
title: '运行历史',
|
|
|
|
|
|
runs: '次运行',
|
|
|
|
|
|
noRuns: '暂无运行历史。',
|
|
|
|
|
|
},
|
2026-04-13 15:15:14 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 技能
|
|
|
|
|
|
skills: {
|
|
|
|
|
|
title: '技能',
|
|
|
|
|
|
searchPlaceholder: '搜索技能...',
|
|
|
|
|
|
noMatch: '没有匹配的技能',
|
|
|
|
|
|
noSkills: '暂无技能',
|
|
|
|
|
|
backTo: '返回',
|
|
|
|
|
|
attachedFiles: '附件文件',
|
|
|
|
|
|
loadFailed: '加载技能失败',
|
|
|
|
|
|
fileLoadFailed: '加载文件失败',
|
2026-05-02 10:56:58 +10:00
|
|
|
|
modified: '用户已修改',
|
|
|
|
|
|
archived: '已归档',
|
|
|
|
|
|
pinned: '已置顶',
|
|
|
|
|
|
pin: '置顶技能',
|
|
|
|
|
|
unpin: '取消置顶',
|
|
|
|
|
|
pinFailed: '更改置顶状态失败',
|
2026-04-14 21:48:53 +08:00
|
|
|
|
toggleFailed: '切换技能状态失败',
|
2026-05-02 10:56:58 +10:00
|
|
|
|
source: {
|
|
|
|
|
|
builtin: '内置',
|
|
|
|
|
|
hub: 'Hub 安装',
|
|
|
|
|
|
local: '本地安装',
|
2026-05-24 19:47:52 +08:00
|
|
|
|
external: '外部目录',
|
2026-05-02 10:56:58 +10:00
|
|
|
|
},
|
2026-04-13 15:15:14 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
2026-05-10 13:50:39 +02:00
|
|
|
|
// 插件
|
|
|
|
|
|
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: '项目插件',
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
|
2026-04-13 15:15:14 +08:00
|
|
|
|
// 记忆
|
|
|
|
|
|
memory: {
|
|
|
|
|
|
title: '记忆',
|
|
|
|
|
|
refresh: '刷新',
|
|
|
|
|
|
loadFailed: '加载记忆失败',
|
|
|
|
|
|
myNotes: '我的笔记',
|
|
|
|
|
|
noNotes: '暂无笔记。',
|
|
|
|
|
|
notesPlaceholder: '输入笔记内容...',
|
|
|
|
|
|
userProfile: '用户画像',
|
|
|
|
|
|
noProfile: '暂无画像。',
|
|
|
|
|
|
profilePlaceholder: '输入用户画像...',
|
2026-04-16 13:51:42 +08:00
|
|
|
|
soul: '灵魂',
|
|
|
|
|
|
noSoul: '暂无灵魂配置。',
|
|
|
|
|
|
soulPlaceholder: '输入灵魂配置...',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 模型
|
|
|
|
|
|
models: {
|
|
|
|
|
|
title: '模型',
|
2026-04-18 22:08:34 +08:00
|
|
|
|
searchPlaceholder: '搜索模型...',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
addProvider: '添加 Provider',
|
|
|
|
|
|
providerType: 'Provider 类型',
|
|
|
|
|
|
preset: '预设',
|
|
|
|
|
|
custom: '自定义',
|
|
|
|
|
|
selectProvider: '选择 Provider',
|
|
|
|
|
|
chooseProvider: '选择一个 provider...',
|
2026-05-07 22:16:52 +08:00
|
|
|
|
getApiKey: '获取 API Key',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
name: '名称',
|
|
|
|
|
|
autoGeneratedName: '根据 Base URL 自动生成',
|
|
|
|
|
|
baseUrl: 'Base URL',
|
2026-04-25 14:00:07 +08:00
|
|
|
|
region: '区域',
|
|
|
|
|
|
regionIntl: '国际版',
|
|
|
|
|
|
regionCn: '中国大陆',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
baseUrlPlaceholder: '例如 https://api.example.com/v1',
|
|
|
|
|
|
apiKey: 'API Key',
|
|
|
|
|
|
apiKeyPlaceholder: 'sk-...',
|
|
|
|
|
|
defaultModel: '默认模型',
|
2026-04-17 22:05:06 +08:00
|
|
|
|
selectOrInput: '选择或输入模型名称...',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
selectModel: '选择模型...',
|
|
|
|
|
|
providerAdded: 'Provider 已添加',
|
|
|
|
|
|
providerDeleted: 'Provider 已删除',
|
|
|
|
|
|
deleteProvider: '删除 Provider',
|
|
|
|
|
|
deleteConfirm: '确定删除 "{name}" 吗?',
|
2026-04-17 23:11:57 +08:00
|
|
|
|
codexLoginTitle: 'OpenAI Codex 登录',
|
|
|
|
|
|
codexWaiting: '在授权页面输入以下代码完成登录:',
|
|
|
|
|
|
codexCopyCode: '代码已复制',
|
|
|
|
|
|
codexOpenLink: '打开授权页面',
|
|
|
|
|
|
codexApproved: '登录成功',
|
|
|
|
|
|
codexExpired: '授权已过期,请重试。',
|
2026-04-23 08:39:19 +08:00
|
|
|
|
nousLoginTitle: 'Nous Portal 登录',
|
|
|
|
|
|
nousWaiting: '在授权页面输入此代码完成登录:',
|
|
|
|
|
|
nousCopyCode: '代码已复制',
|
|
|
|
|
|
nousOpenLink: '打开授权页面',
|
|
|
|
|
|
nousApproved: '登录成功',
|
|
|
|
|
|
nousDenied: '授权被拒绝,请重试。',
|
|
|
|
|
|
nousExpired: '授权已过期,请重试。',
|
2026-04-26 22:51:35 +08:00
|
|
|
|
copilotLoginTitle: 'GitHub Copilot 登录',
|
|
|
|
|
|
copilotWaiting: '请前往 GitHub 输入下方设备代码完成授权。授权完成后窗口会自动关闭。',
|
|
|
|
|
|
copilotCopyCode: '代码已复制',
|
|
|
|
|
|
copilotOpenLink: '打开 GitHub 授权页',
|
|
|
|
|
|
copilotApproved: '登录成功!',
|
|
|
|
|
|
copilotDenied: '授权被拒绝。',
|
|
|
|
|
|
copilotExpired: '授权链接已过期,请重试。',
|
|
|
|
|
|
copilotAddDetectedTitle: '检测到 GitHub Copilot',
|
|
|
|
|
|
copilotAddDetected: '已在本机检测到 GitHub Copilot OAuth 凭证,点击「添加」即可在 Hermes 中启用 Copilot。',
|
|
|
|
|
|
copilotAddSourceEnv: '来源:~/.hermes/.env(COPILOT_GITHUB_TOKEN)',
|
|
|
|
|
|
copilotAddSourceGhCli: '来源:gh CLI(gh 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 插件的登录。',
|
2026-05-17 09:45:56 +08:00
|
|
|
|
xaiLoginTitle: 'xAI Grok OAuth 登录',
|
|
|
|
|
|
xaiWaiting: '请在打开的 xAI 页面完成授权。授权完成后窗口会自动关闭。',
|
|
|
|
|
|
xaiOpenLink: '打开 xAI 授权页',
|
2026-05-19 16:09:59 +08:00
|
|
|
|
xaiCopyLink: '复制授权链接',
|
2026-05-17 09:45:56 +08:00
|
|
|
|
xaiApproved: '登录成功!',
|
|
|
|
|
|
xaiExpired: '授权链接已过期,请重试。',
|
2026-04-24 08:49:45 +08:00
|
|
|
|
customBadge: '自定义',
|
2026-04-26 22:51:35 +08:00
|
|
|
|
previewBadge: '预览',
|
|
|
|
|
|
disabledBadge: '不可用',
|
|
|
|
|
|
disabledTooltip: "此模型当前账号不可用",
|
2026-05-11 16:18:13 +02:00
|
|
|
|
customModelPlaceholder: '未列出的模型 ID',
|
|
|
|
|
|
customModelHint: '仅用于 provider 支持但未返回的模型;不是重命名。按回车加载。',
|
|
|
|
|
|
removeCustomModel: '移除这个未列出的模型',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
noProviders: '暂无 Provider,添加一个开始吧。',
|
2026-04-29 20:48:21 +08:00
|
|
|
|
models: '模型列表',
|
|
|
|
|
|
count: '个模型',
|
|
|
|
|
|
more: '个更多',
|
2026-05-11 16:18:13 +02:00
|
|
|
|
aliasEdit: '重命名',
|
|
|
|
|
|
aliasTitle: '模型显示名',
|
|
|
|
|
|
aliasTitleFor: '{model} 的显示名',
|
|
|
|
|
|
aliasPlaceholder: '留空则使用原始模型 ID',
|
|
|
|
|
|
aliasHint: '仅修改 Web UI 显示名,发送给 Hermes 的仍是原始模型 ID。',
|
|
|
|
|
|
aliasCanonical: '原始 ID:{model}',
|
|
|
|
|
|
aliasUseOriginal: '恢复原始 ID',
|
|
|
|
|
|
aliasManage: '显示名',
|
|
|
|
|
|
aliasManageFor: '{provider} 的显示名',
|
|
|
|
|
|
aliasSaveFailed: '保存显示名失败',
|
2026-05-11 15:24:45 +02:00
|
|
|
|
manageVisibleModels: '管理可见模型',
|
|
|
|
|
|
manageVisibleModelsFor: '管理 {name} 可见模型',
|
|
|
|
|
|
visibilityHint: '仅影响 Web UI 的模型选择器和模型页展示,不会改写 Hermes CLI 的 provider/model 配置。实际调用仍使用原始模型 ID。',
|
|
|
|
|
|
visibilitySelectOne: '至少保留一个可见模型',
|
|
|
|
|
|
visibilitySaved: '可见模型已保存',
|
|
|
|
|
|
visibilitySaveFailed: '保存可见模型失败',
|
|
|
|
|
|
showAllModels: '显示全部模型',
|
2026-05-14 23:36:07 +08:00
|
|
|
|
clearVisibleModels: '取消全选',
|
2026-05-19 16:09:59 +08:00
|
|
|
|
currentDefault: '当前默认',
|
|
|
|
|
|
defaultShort: '默认',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
builtIn: '内置',
|
|
|
|
|
|
customType: '自定义',
|
|
|
|
|
|
provider: 'Provider',
|
2026-04-24 11:18:11 +08:00
|
|
|
|
contextLength: '上下文长度',
|
2026-05-26 19:35:48 +08:00
|
|
|
|
contextLengthPlaceholder: '例如 256000(可选)',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
local: '本地 ({host})',
|
|
|
|
|
|
selectProviderRequired: '请选择 Provider',
|
|
|
|
|
|
baseUrlRequired: 'Base URL 为必填项',
|
|
|
|
|
|
apiKeyRequired: 'API Key 为必填项',
|
|
|
|
|
|
modelRequired: '默认模型为必填项',
|
|
|
|
|
|
enterBaseUrl: '请先输入 Base URL',
|
|
|
|
|
|
unexpectedFormat: '响应格式异常',
|
|
|
|
|
|
foundModels: '找到 {count} 个模型',
|
|
|
|
|
|
fetchFailed: '获取模型失败',
|
|
|
|
|
|
},
|
|
|
|
|
|
|
2026-04-16 09:40:25 +08:00
|
|
|
|
// 配置
|
|
|
|
|
|
profiles: {
|
|
|
|
|
|
title: '配置',
|
|
|
|
|
|
create: '创建配置',
|
|
|
|
|
|
import: '导入',
|
|
|
|
|
|
export: '导出',
|
|
|
|
|
|
rename: '重命名',
|
|
|
|
|
|
delete: '删除',
|
2026-05-23 18:44:53 +08:00
|
|
|
|
switchTo: '切换 Hermes Profile',
|
|
|
|
|
|
switchConfirm: '将执行 `hermes profile use {name}` 并切换 Hermes CLI 的 active profile,是否继续?',
|
|
|
|
|
|
switchSuccess: 'Hermes active profile 已切换为 "{name}"',
|
|
|
|
|
|
switchFailed: '切换 Hermes Profile 失败,网关可能需要手动重启',
|
2026-04-16 09:40:25 +08:00
|
|
|
|
createSuccess: '配置 "{name}" 已创建',
|
|
|
|
|
|
createFailed: '创建配置失败',
|
|
|
|
|
|
renameSuccess: '配置已重命名',
|
|
|
|
|
|
renameFailed: '重命名配置失败',
|
|
|
|
|
|
deleteConfirm: '确定删除配置 "{name}" 吗?',
|
|
|
|
|
|
deleteSuccess: '配置已删除',
|
|
|
|
|
|
deleteFailed: '删除配置失败',
|
|
|
|
|
|
exportSuccess: '配置已导出',
|
|
|
|
|
|
exportFailed: '导出配置失败',
|
|
|
|
|
|
importSuccess: '配置已导入',
|
|
|
|
|
|
importFailed: '导入配置失败',
|
2026-04-16 15:19:05 +08:00
|
|
|
|
importSelectFile: '选择归档文件',
|
|
|
|
|
|
importInvalidFile: '请选择有效的归档文件 (.tar.gz, .tgz, .gz, .zip)',
|
2026-04-16 09:40:25 +08:00
|
|
|
|
name: '配置名称',
|
2026-04-29 20:54:17 +08:00
|
|
|
|
namePlaceholder: '仅限小写字母、数字、连字符',
|
2026-05-03 22:10:40 +08:00
|
|
|
|
nameValidation: '配置名称只能包含小写字母、数字、下划线和连字符',
|
2026-04-16 09:40:25 +08:00
|
|
|
|
newName: '新名称',
|
2026-04-29 20:54:17 +08:00
|
|
|
|
newNamePlaceholder: '小写字母、数字、连字符',
|
2026-04-16 09:40:25 +08:00
|
|
|
|
cloneFromCurrent: '从当前配置克隆',
|
2026-04-29 20:31:24 +08:00
|
|
|
|
cloneCleanupNotice: '克隆时会自动跳过独占型平台凭据(Weixin / Telegram / Slack 等),避免与源配置冲突',
|
|
|
|
|
|
cloneStrippedCredentials: '已清理 {count} 项独占凭据:{list}',
|
|
|
|
|
|
cloneDisabledPlatforms: '已禁用 {count} 个平台:{list}',
|
|
|
|
|
|
cloneStrippedConfigCredentials: '已清理 config.yaml 中 {count} 项内嵌凭据:{list}',
|
2026-04-16 09:40:25 +08:00
|
|
|
|
archivePath: '归档路径',
|
|
|
|
|
|
archivePathPlaceholder: '归档文件的服务器路径',
|
|
|
|
|
|
importName: '配置名称(可选)',
|
|
|
|
|
|
importNamePlaceholder: '留空则使用归档名称',
|
|
|
|
|
|
active: '活跃',
|
|
|
|
|
|
model: '模型',
|
|
|
|
|
|
gateway: '网关',
|
|
|
|
|
|
alias: '别名',
|
|
|
|
|
|
provider: 'Provider',
|
|
|
|
|
|
path: '路径',
|
|
|
|
|
|
skills: '技能',
|
|
|
|
|
|
hasEnv: '有 .env',
|
|
|
|
|
|
hasSoulMd: '有 soul.md',
|
|
|
|
|
|
noProfiles: '暂无配置,创建一个开始吧。',
|
2026-05-20 14:15:01 +08:00
|
|
|
|
avatar: {
|
|
|
|
|
|
title: '自定义头像',
|
|
|
|
|
|
customize: '头像',
|
|
|
|
|
|
upload: '上传图片',
|
|
|
|
|
|
random: '随机生成',
|
|
|
|
|
|
reset: '恢复默认',
|
|
|
|
|
|
hint: '支持 PNG、JPEG、WebP,最大 1MB',
|
|
|
|
|
|
invalidType: '请选择 PNG、JPEG 或 WebP 图片',
|
|
|
|
|
|
tooLarge: '头像图片不能超过 1MB',
|
|
|
|
|
|
saveSuccess: '头像已保存',
|
|
|
|
|
|
saveFailed: '保存头像失败',
|
|
|
|
|
|
resetSuccess: '已恢复默认头像',
|
|
|
|
|
|
resetFailed: '恢复默认头像失败',
|
|
|
|
|
|
},
|
2026-05-20 12:59:34 +08:00
|
|
|
|
runtime: {
|
|
|
|
|
|
activeProfile: '当前:{name}',
|
|
|
|
|
|
bridgeWorker: '桥接状态',
|
|
|
|
|
|
gateway: '网关',
|
|
|
|
|
|
active: '活跃',
|
|
|
|
|
|
activeTag: '当前',
|
|
|
|
|
|
idle: '空闲',
|
|
|
|
|
|
running: '运行中',
|
|
|
|
|
|
stopped: '已停止',
|
|
|
|
|
|
restartGateway: '重启网关',
|
|
|
|
|
|
restartProfile: '重启配置',
|
2026-05-23 19:41:51 +08:00
|
|
|
|
switchProfile: '切换前端配置',
|
2026-05-20 12:59:34 +08:00
|
|
|
|
gatewayRestarted: '网关已重启:{name}',
|
|
|
|
|
|
gatewayRestartFailed: '重启网关失败',
|
|
|
|
|
|
profileRestarted: '配置已重启:{name}',
|
|
|
|
|
|
profileRestartFailed: '重启配置失败',
|
|
|
|
|
|
},
|
2026-04-16 09:40:25 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
2026-04-13 15:15:14 +08:00
|
|
|
|
// 日志
|
|
|
|
|
|
logs: {
|
|
|
|
|
|
title: '日志',
|
|
|
|
|
|
all: '全部',
|
|
|
|
|
|
searchPlaceholder: '搜索...',
|
|
|
|
|
|
refresh: '刷新',
|
|
|
|
|
|
noEntries: '暂无日志',
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 设置
|
|
|
|
|
|
settings: {
|
|
|
|
|
|
title: '设置',
|
|
|
|
|
|
saved: '已保存',
|
|
|
|
|
|
saveFailed: '保存失败',
|
|
|
|
|
|
tabs: {
|
|
|
|
|
|
display: '显示',
|
2026-05-23 18:44:53 +08:00
|
|
|
|
account: '当前账户',
|
|
|
|
|
|
users: '账户管理',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
agent: '代理',
|
|
|
|
|
|
memory: '记忆',
|
2026-05-19 17:58:39 +08:00
|
|
|
|
compression: '上下文压缩',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
session: '会话',
|
|
|
|
|
|
privacy: '隐私',
|
|
|
|
|
|
apiServer: 'API 服务器',
|
2026-04-19 20:59:25 +08:00
|
|
|
|
models: '模型',
|
2026-05-10 20:08:38 +08:00
|
|
|
|
voice: '语音',
|
2026-04-19 20:59:25 +08:00
|
|
|
|
},
|
|
|
|
|
|
models: {
|
|
|
|
|
|
apiKey: 'API Key',
|
|
|
|
|
|
apiKeyPlaceholder: '输入 API Key',
|
|
|
|
|
|
save: '保存',
|
|
|
|
|
|
saved: '已保存',
|
|
|
|
|
|
saveFailed: '保存失败',
|
|
|
|
|
|
noProviders: '暂无已配置的模型',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
},
|
|
|
|
|
|
display: {
|
|
|
|
|
|
streaming: '流式响应',
|
|
|
|
|
|
streamingHint: '实时显示 AI 回复',
|
|
|
|
|
|
compact: '紧凑模式',
|
|
|
|
|
|
compactHint: '减少消息间距',
|
|
|
|
|
|
showReasoning: '显示推理过程',
|
|
|
|
|
|
showReasoningHint: '展示模型思考过程',
|
|
|
|
|
|
showCost: '显示费用',
|
|
|
|
|
|
showCostHint: '在回复中显示 token 使用量',
|
|
|
|
|
|
inlineDiffs: '内联差异',
|
|
|
|
|
|
inlineDiffsHint: '代码变更以内联方式显示',
|
|
|
|
|
|
bellOnComplete: '完成提示音',
|
|
|
|
|
|
bellOnCompleteHint: 'AI 回复完成时播放提示音',
|
|
|
|
|
|
busyInputMode: '忙碌输入模式',
|
|
|
|
|
|
busyInputModeHint: 'AI 处理中仍可输入',
|
2026-04-16 23:13:04 +08:00
|
|
|
|
theme: '主题',
|
|
|
|
|
|
themeHint: '选择浅色、暗色或跟随系统',
|
|
|
|
|
|
themeLight: '浅色',
|
|
|
|
|
|
themeDark: '暗色',
|
|
|
|
|
|
themeSystem: '跟随系统',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
},
|
|
|
|
|
|
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 最大字符数',
|
|
|
|
|
|
},
|
2026-05-19 17:58:39 +08:00
|
|
|
|
compression: {
|
|
|
|
|
|
enabled: '启用压缩',
|
|
|
|
|
|
enabledHint: '长对话接近模型上下文上限前自动压缩历史',
|
|
|
|
|
|
threshold: '压缩阈值',
|
|
|
|
|
|
thresholdHint: '预计 token 超过上下文比例时开始压缩',
|
|
|
|
|
|
targetRatio: '目标比例',
|
|
|
|
|
|
targetRatioHint: '压缩后历史保留到上下文的目标比例',
|
|
|
|
|
|
protectLastN: '保护最近消息',
|
|
|
|
|
|
protectLastNHint: '最近多少条消息不参与压缩',
|
|
|
|
|
|
protectFirstN: '保护开头消息',
|
|
|
|
|
|
protectFirstNHint: '最早多少条消息不参与压缩',
|
|
|
|
|
|
},
|
2026-04-13 15:15:14 +08:00
|
|
|
|
session: {
|
|
|
|
|
|
mode: '重置模式',
|
|
|
|
|
|
modeHint: '会话重置的触发条件',
|
|
|
|
|
|
modeBoth: '空闲 + 定时',
|
|
|
|
|
|
modeIdle: '仅空闲',
|
2026-05-16 21:18:59 +08:00
|
|
|
|
modeDaily: '仅定时',
|
|
|
|
|
|
modeNone: '永不(仅手动)',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
idleMinutes: '空闲超时',
|
|
|
|
|
|
idleMinutesHint: '无操作后自动重置的等待时间(分钟)',
|
|
|
|
|
|
atHour: '定时重置时间',
|
2026-04-22 02:09:58 +02:00
|
|
|
|
humanOnly: '仅显示人类会话',
|
|
|
|
|
|
humanOnlyHint: '默认隐藏子代理和会话监看噪音',
|
|
|
|
|
|
liveMonitorHumanOnly: '实时监看:仅显示人类会话',
|
|
|
|
|
|
liveMonitorHumanOnlyHint: '在实时监看中默认隐藏子代理和会话监看噪音',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
atHourHint: '每天在指定小时重置会话',
|
2026-05-04 21:29:39 +08:00
|
|
|
|
requireAuth: '会话授权',
|
|
|
|
|
|
requireAuthHint: '修改会话操作是否授权',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
},
|
|
|
|
|
|
privacy: {
|
|
|
|
|
|
redactPii: '脱敏 PII',
|
|
|
|
|
|
redactPiiHint: '自动检测并隐藏敏感信息(密码、密钥等)',
|
|
|
|
|
|
},
|
|
|
|
|
|
apiServer: {
|
|
|
|
|
|
enable: '启用',
|
|
|
|
|
|
enableHint: '启用 API 服务器',
|
|
|
|
|
|
host: '主机',
|
|
|
|
|
|
hostHint: '监听地址',
|
|
|
|
|
|
port: '端口',
|
|
|
|
|
|
portHint: '监听端口',
|
|
|
|
|
|
key: '密钥',
|
|
|
|
|
|
keyHint: 'API 访问密钥',
|
|
|
|
|
|
cors: 'CORS 来源',
|
|
|
|
|
|
corsHint: '允许的跨域来源',
|
|
|
|
|
|
},
|
2026-05-08 18:29:43 +08:00
|
|
|
|
lockedIps: {
|
|
|
|
|
|
title: '锁定 IP 管理',
|
|
|
|
|
|
count: '{count} 个 IP 被锁定',
|
|
|
|
|
|
empty: '暂无锁定 IP',
|
|
|
|
|
|
unlock: '解锁',
|
|
|
|
|
|
unlockAll: '全部解锁',
|
|
|
|
|
|
unlockAllConfirm: '确认解锁所有锁定的 IP?',
|
|
|
|
|
|
unlocked: 'IP 已解锁',
|
|
|
|
|
|
allUnlocked: '已解锁 {count} 个 IP',
|
|
|
|
|
|
},
|
2026-05-10 20:08:38 +08:00
|
|
|
|
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: '选择用于语音合成的音色',
|
2026-05-11 21:56:11 +08:00
|
|
|
|
edgeRate: '语速',
|
|
|
|
|
|
edgeRateHint: '调整语音速度(0.5~2.0 倍)',
|
|
|
|
|
|
edgePitch: '音调',
|
|
|
|
|
|
edgePitchHint: '调整语音音调(-20~+20 Hz)',
|
|
|
|
|
|
|
2026-05-10 20:08:38 +08:00
|
|
|
|
// 试听
|
|
|
|
|
|
testTitle: '试听测试',
|
|
|
|
|
|
testText: '测试文本',
|
|
|
|
|
|
testTextPlaceholder: '输入测试文本...',
|
|
|
|
|
|
testTextDefault: '你好,这是一个语音测试。',
|
|
|
|
|
|
testButton: '试听',
|
|
|
|
|
|
testButtonPlaying: '播放中...',
|
|
|
|
|
|
testFailed: '测试失败:{error}',
|
2026-05-16 08:55:23 +08:00
|
|
|
|
|
|
|
|
|
|
// 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: '例如:用轻快上扬的语调,语速稍快',
|
2026-05-10 20:08:38 +08:00
|
|
|
|
},
|
2026-04-13 15:15:14 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 平台频道设置
|
|
|
|
|
|
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(逗号分隔)',
|
2026-04-29 20:31:24 +08:00
|
|
|
|
exclusiveTokenWarning: '此平台使用独占 token 锁。每个 profile 必须使用不同的身份 token,否则会与其他 profile 冲突导致 gateway 启动失败。',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
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',
|
2026-05-16 13:54:38 +08:00
|
|
|
|
allowedUsers: '允许用户',
|
|
|
|
|
|
allowedUsersHint: '用户 ID 或 OpenID 白名单,多个用英文逗号分隔',
|
|
|
|
|
|
allowAllUsers: '允许所有用户',
|
|
|
|
|
|
allowAllUsersHint: '允许任意用户发起消息;关闭后使用白名单',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
botId: 'Bot ID',
|
|
|
|
|
|
botIdHint: '企业微信 Bot ID',
|
|
|
|
|
|
wecomSecretHint: '企业微信 Bot Secret',
|
|
|
|
|
|
waEnabled: '启用 WhatsApp',
|
|
|
|
|
|
waEnabledHint: '通过二维码配对启用 WhatsApp',
|
|
|
|
|
|
weixinToken: '微信 Token',
|
|
|
|
|
|
weixinTokenHint: '通过 weixin CLI 扫码登录获取 (hermes weixin)',
|
|
|
|
|
|
accountId: 'Account ID',
|
|
|
|
|
|
accountIdHint: '微信 Account ID',
|
|
|
|
|
|
qrLogin: '扫码登录',
|
|
|
|
|
|
qrRelogin: '重新登录',
|
|
|
|
|
|
qrFetching: '正在获取二维码...',
|
|
|
|
|
|
qrScanHint: '使用微信扫描二维码登录',
|
|
|
|
|
|
qrScanedHint: '已扫描,请在手机上确认...',
|
2026-04-29 20:48:21 +08:00
|
|
|
|
// QQ
|
|
|
|
|
|
qqAppId: 'App ID',
|
|
|
|
|
|
qqAppIdHint: 'QQ 开放平台机器人 App ID',
|
|
|
|
|
|
qqAppSecret: 'App Secret',
|
|
|
|
|
|
qqAppSecretHint: 'QQ 开放平台机器人 App Secret',
|
|
|
|
|
|
qqMarkdown: 'Markdown 支持',
|
|
|
|
|
|
qqMarkdownHint: '启用 Markdown 格式消息(部分客户端可能不支持)',
|
|
|
|
|
|
qqSandbox: '沙箱模式',
|
|
|
|
|
|
qqSandboxHint: '启用沙箱环境(测试用)',
|
|
|
|
|
|
qqQrScanHint: '使用 QQ 扫描上方二维码,或在手机上打开链接完成绑定',
|
2026-04-13 15:15:14 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
2026-04-18 13:07:12 +08:00
|
|
|
|
// 网关
|
|
|
|
|
|
gateways: {
|
|
|
|
|
|
title: '网关',
|
|
|
|
|
|
running: '运行中',
|
|
|
|
|
|
stopped: '已停止',
|
|
|
|
|
|
started: '已启动',
|
|
|
|
|
|
startFailed: '启动失败',
|
|
|
|
|
|
stopFailed: '停止失败',
|
|
|
|
|
|
},
|
|
|
|
|
|
|
2026-04-13 15:15:14 +08:00
|
|
|
|
// 语言
|
|
|
|
|
|
language: {
|
|
|
|
|
|
label: '语言',
|
|
|
|
|
|
zh: '中文',
|
|
|
|
|
|
en: 'English',
|
|
|
|
|
|
},
|
2026-04-14 14:47:18 +08:00
|
|
|
|
|
2026-04-15 16:36:04 +08:00
|
|
|
|
// 终端
|
|
|
|
|
|
terminal: {
|
|
|
|
|
|
sessions: '会话',
|
|
|
|
|
|
newTab: '新建终端',
|
|
|
|
|
|
closeSession: '关闭此会话?',
|
|
|
|
|
|
sessionExited: '已退出',
|
|
|
|
|
|
processExited: '进程已退出,代码 {code}',
|
2026-05-03 22:10:40 +08:00
|
|
|
|
noSessions: '暂无终端会话',
|
|
|
|
|
|
connectionFailed: '终端服务连接失败',
|
|
|
|
|
|
connectionClosed: '终端连接已关闭',
|
|
|
|
|
|
connectionError: '终端连接错误',
|
2026-04-15 16:36:04 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
2026-04-24 20:41:14 +08:00
|
|
|
|
// 群聊
|
|
|
|
|
|
groupChat: {
|
|
|
|
|
|
title: '群聊',
|
|
|
|
|
|
createRoom: '创建房间',
|
|
|
|
|
|
joinByCode: '通过邀请码加入',
|
|
|
|
|
|
roomName: '房间名称',
|
|
|
|
|
|
roomNamePlaceholder: '输入房间名称',
|
|
|
|
|
|
inviteCode: '邀请码',
|
|
|
|
|
|
autoGenerate: '自动生成',
|
|
|
|
|
|
noRooms: '暂无房间',
|
|
|
|
|
|
selectOrCreate: '选择或创建一个房间开始聊天',
|
|
|
|
|
|
agents: '智能体',
|
|
|
|
|
|
addAgent: '添加智能体',
|
|
|
|
|
|
selectProfile: '选择一个配置',
|
|
|
|
|
|
agentAdded: '智能体已添加',
|
|
|
|
|
|
agentAlreadyInRoom: '该智能体已在房间中',
|
2026-05-21 14:54:41 +08:00
|
|
|
|
agentAddFailedCount: '{count} 个智能体未添加:{details}',
|
2026-04-24 20:41:14 +08:00
|
|
|
|
noAgents: '当前房间暂无智能体',
|
|
|
|
|
|
members: '成员',
|
|
|
|
|
|
roomCreated: '房间已创建',
|
|
|
|
|
|
roomDeleted: '房间已删除',
|
2026-05-15 15:52:16 +08:00
|
|
|
|
roomCloned: '房间已克隆',
|
|
|
|
|
|
cloneRoom: '克隆房间',
|
2026-05-24 10:55:55 +08:00
|
|
|
|
copyRoomLink: '复制房间链接',
|
2026-04-24 20:41:14 +08:00
|
|
|
|
deleteRoomConfirm: '确定删除这个房间吗?',
|
2026-05-15 15:52:16 +08:00
|
|
|
|
clearContext: '清理上下文',
|
|
|
|
|
|
clearContextConfirm: '确定清理当前房间上下文吗?消息和压缩快照会被删除,智能体和成员会保留。',
|
|
|
|
|
|
contextCleared: '上下文已清理',
|
2026-04-24 20:41:14 +08:00
|
|
|
|
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: '正在压缩中,请稍后',
|
|
|
|
|
|
},
|
|
|
|
|
|
|
2026-04-14 14:47:18 +08:00
|
|
|
|
// 用量统计
|
|
|
|
|
|
usage: {
|
|
|
|
|
|
title: '用量统计',
|
|
|
|
|
|
refresh: '刷新',
|
|
|
|
|
|
totalTokens: '总 Token 数',
|
|
|
|
|
|
inputTokens: '输入',
|
|
|
|
|
|
outputTokens: '输出',
|
|
|
|
|
|
totalSessions: '总会话数',
|
|
|
|
|
|
avgPerDay: '日均 ~{n}',
|
|
|
|
|
|
estimatedCost: '预估费用',
|
|
|
|
|
|
cacheHitRate: '缓存命中率',
|
|
|
|
|
|
modelBreakdown: '模型分布',
|
2026-05-13 01:41:49 +02:00
|
|
|
|
dailyTrend: '每日用量',
|
2026-04-14 14:47:18 +08:00
|
|
|
|
date: '日期',
|
|
|
|
|
|
tokens: 'Token',
|
|
|
|
|
|
cache: '缓存',
|
2026-05-02 10:36:33 +10:00
|
|
|
|
cacheRead: '缓存读取',
|
|
|
|
|
|
cacheWrite: '缓存写入',
|
2026-04-14 14:47:18 +08:00
|
|
|
|
sessions: '会话',
|
|
|
|
|
|
cost: '费用',
|
|
|
|
|
|
noData: '暂无用量数据',
|
|
|
|
|
|
},
|
2026-05-14 09:28:51 +08:00
|
|
|
|
skillsUsage: {
|
|
|
|
|
|
title: '技能用量',
|
|
|
|
|
|
subtitle: '跟踪 Hermes 会话中的技能加载和编辑',
|
|
|
|
|
|
refresh: '刷新',
|
|
|
|
|
|
periodSelector: '技能用量周期',
|
|
|
|
|
|
periodLabel: '{days}天',
|
|
|
|
|
|
summary: '概览',
|
|
|
|
|
|
totalActions: '操作',
|
|
|
|
|
|
loads: '加载',
|
|
|
|
|
|
edits: '编辑',
|
|
|
|
|
|
distinctSkills: '技能数',
|
|
|
|
|
|
topSkills: '热门',
|
|
|
|
|
|
dailyTrend: '趋势',
|
|
|
|
|
|
periodSummary: '最近 {days} 天',
|
|
|
|
|
|
skill: '技能',
|
|
|
|
|
|
share: '占比',
|
|
|
|
|
|
lastUsed: '最近',
|
|
|
|
|
|
noData: '暂无技能用量数据',
|
|
|
|
|
|
loadFailed: '技能用量加载失败',
|
|
|
|
|
|
otherSkills: '其他技能',
|
|
|
|
|
|
},
|
|
|
|
|
|
|
2026-04-23 12:09:39 +08:00
|
|
|
|
// 文件管理
|
|
|
|
|
|
files: {
|
|
|
|
|
|
title: '文件',
|
2026-05-03 22:10:40 +08:00
|
|
|
|
fileTree: '文件树',
|
2026-04-23 12:09:39 +08:00
|
|
|
|
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: '关闭编辑器',
|
2026-04-23 14:10:14 +08:00
|
|
|
|
closePreview: '关闭',
|
2026-04-23 12:09:39 +08:00
|
|
|
|
saveFile: '保存',
|
|
|
|
|
|
},
|
|
|
|
|
|
// 下载
|
|
|
|
|
|
download: {
|
|
|
|
|
|
downloading: '正在下载...',
|
|
|
|
|
|
downloadFailed: '下载失败',
|
|
|
|
|
|
fileNotFound: '文件不存在或已被删除',
|
|
|
|
|
|
fileTooLarge: '文件过大(超过限制)',
|
|
|
|
|
|
backendError: '文件读取失败,远程环境可能不可用',
|
|
|
|
|
|
backendTimeout: '文件读取超时',
|
|
|
|
|
|
unsupportedBackend: '当前 terminal backend 暂不支持文件下载',
|
|
|
|
|
|
invalidPath: '无效的文件路径',
|
2026-05-22 19:04:15 +08:00
|
|
|
|
contentDisplay: '内容展示',
|
2026-04-23 12:09:39 +08:00
|
|
|
|
download: '下载',
|
2026-04-24 02:31:42 +02:00
|
|
|
|
downloadFile: '下载文件',
|
2026-04-23 12:09:39 +08:00
|
|
|
|
},
|
2026-04-22 20:27:33 +08:00
|
|
|
|
|
|
|
|
|
|
// 更新日志
|
|
|
|
|
|
changelog: {
|
2026-05-26 19:35:48 +08:00
|
|
|
|
new_0_6_2_1: 'Web Bridge 支持 /plan 命令,计划命令会正确启动并展示运行状态',
|
|
|
|
|
|
new_0_6_2_2: '聊天输入框指令菜单新增 /goal 和 /subgoal,支持状态、暂停、恢复、完成和清空等操作',
|
|
|
|
|
|
new_0_6_2_3: 'Goal 和 subgoal 工作流接入聊天会话,支持目标延续和状态更新',
|
|
|
|
|
|
new_0_6_2_4: '修复任务投递目标渠道选项,定时任务可以选择正确的投递位置',
|
|
|
|
|
|
new_0_6_2_5: '上下文 token 用量在重连后会按快照感知逻辑准确恢复',
|
|
|
|
|
|
new_0_6_2_6: '上下文检查点压缩对较慢的 Codex 总结更稳定:Web UI 等待 5 分钟,Python bridge broker 不再在 2 分钟后提前切断 worker 请求',
|
|
|
|
|
|
new_0_6_2_7: '修复聊天队列推进,queued 消息不会提前跳入消息列表,多窗口同步场景也保持一致',
|
|
|
|
|
|
new_0_6_2_8: 'Clarify 弹窗输入框不再按 Enter 直接提交,已回复的 Clarify 也不会在切换会话后重复弹出',
|
|
|
|
|
|
new_0_6_2_9: 'Bridge 终端环境刷新和 stale pid 清理收敛到更准确的作用域,减少前端运行状态残留',
|
|
|
|
|
|
new_0_6_2_10: '默认上下文长度遵循 Hermes 规范,调整为 256,000 tokens',
|
2026-05-20 15:34:09 +08:00
|
|
|
|
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 配置读取凭据',
|
2026-05-21 14:31:52 +08:00
|
|
|
|
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 解析错位',
|
2026-05-22 11:12:21 +08:00
|
|
|
|
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',
|
2026-05-22 12:03:43 +08:00
|
|
|
|
new_0_5_34_8: '如果 Windows 下看板功能异常,请升级 Hermes 以获取最新的看板数据库迁移修复',
|
2026-05-23 10:41:24 +08:00
|
|
|
|
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 背景保持一致',
|
2026-05-24 14:00:31 +08:00
|
|
|
|
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 单用户版本',
|
2026-05-25 13:06:06 +08:00
|
|
|
|
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 支持',
|
2026-05-14 10:32:24 +08:00
|
|
|
|
|
2026-04-22 20:27:33 +08:00
|
|
|
|
},
|
2026-04-13 15:15:14 +08:00
|
|
|
|
}
|