feat(desktop): polish desktop shell and shared WebUI surfaces (#4195)
* feat(desktop): add native host scaffold * feat(webui): track turns and usage in gateway * feat(webui): polish desktop chat experience * feat(apps): add ArcGIS and Joplin logos * feat(desktop): polish shell and shared surfaces * fix(webui): avoid preview chips for glob references * test: align CI expectations for token fallback * feat(webui): preview prompt rail entries * feat(webui): add prompt navigator drawer * style(webui): refine prompt navigator placement * style(webui): align prompt navigator with header actions * style(webui): simplify prompt navigator header * refactor(webui): clean thread resource refresh * feat(desktop): add native reply notifications * fix(webui): preserve desktop restart and replay state * fix(desktop): harden gateway proxy startup * fix(web): fall back when readability is unavailable * fix(desktop): hide window instead of closing on macos * fix(webui): unify desktop header actions * fix(webui): simplify prompt history rows * fix(desktop): log notification delivery failures * chore(desktop): clean source package artifacts * fix(cron): support one-time relative reminders * fix(webui): reveal scroll button in place * Revert "fix(cron): support one-time relative reminders" This reverts commit 4c4661da120a3c7283e0768412bae48604e7390b. * refactor(webui): extract token usage heatmap * docs(desktop): clarify contributor guides --------- Co-authored-by: chengyongru <2755839590@qq.com>
This commit is contained in:
@@ -54,7 +54,10 @@
|
||||
"label": "语言",
|
||||
"ariaLabel": "切换语言"
|
||||
},
|
||||
"apps": "应用"
|
||||
"apps": "应用",
|
||||
"skills": {
|
||||
"title": "技能"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"backToChat": "返回聊天",
|
||||
@@ -75,7 +78,8 @@
|
||||
"mcp": "MCP",
|
||||
"runtime": "系统",
|
||||
"advanced": "安全",
|
||||
"apps": "应用"
|
||||
"apps": "应用",
|
||||
"skills": "技能"
|
||||
},
|
||||
"sections": {
|
||||
"interface": "界面",
|
||||
@@ -295,6 +299,9 @@
|
||||
"disabled": "已禁用",
|
||||
"restartPending": "等待重启",
|
||||
"ready": "就绪",
|
||||
"privateEngine": "私有引擎",
|
||||
"unixSocket": "Unix socket",
|
||||
"defaultWorkspace": "默认工作区",
|
||||
"comfortable": "舒适",
|
||||
"compact": "紧凑",
|
||||
"auto": "自动",
|
||||
@@ -386,6 +393,31 @@
|
||||
"imageGeneration": "图片生成",
|
||||
"workspace": "工作区"
|
||||
},
|
||||
"usage": {
|
||||
"title": "Token 活动",
|
||||
"shortTitle": "Token Usage",
|
||||
"subtitle": "最近 12 个月由提供商上报的 token 用量。",
|
||||
"empty": "新的模型回复产生后,这里会显示 token 活动。",
|
||||
"totalTokens": "累计 Token 数",
|
||||
"peakTokens": "峰值 Token 数",
|
||||
"thirtyDayTokens": "30 天 Token 数",
|
||||
"currentStreak": "当前连续天数",
|
||||
"longestStreak": "最长连续天数",
|
||||
"daysValue": "{{count}} 天",
|
||||
"last30": "30 天",
|
||||
"activeDays": "活跃天数",
|
||||
"requests": "请求数",
|
||||
"estimated": "估算",
|
||||
"includesEstimates": "包含估算",
|
||||
"cellTitle": "{{date}}:{{tokens}} tokens,{{requests}} 次请求",
|
||||
"sources": {
|
||||
"user": "对话",
|
||||
"api": "API",
|
||||
"cron": "自动任务",
|
||||
"dream": "记忆整理",
|
||||
"system": "系统"
|
||||
}
|
||||
},
|
||||
"providers": {
|
||||
"searchPlaceholder": "搜索提供商",
|
||||
"noMatches": "没有匹配的提供商。",
|
||||
@@ -427,6 +459,33 @@
|
||||
"signInBeforeSaving": "将此 OAuth 提供商设为当前模型提供商前,请先登录。",
|
||||
"signedIn": "已登录",
|
||||
"notSignedIn": "未登录"
|
||||
},
|
||||
"skills": {
|
||||
"description": "查看此 agent 在对话中可以加载的指令技能。",
|
||||
"caption": "{{available}} 个可用 · 共 {{total}} 个",
|
||||
"featured": "Agent 技能",
|
||||
"empty": "暂无可用技能。",
|
||||
"sourceWorkspace": "自定义",
|
||||
"sourceBuiltin": "内置",
|
||||
"statusAvailable": "可用",
|
||||
"statusUnavailable": "不可用",
|
||||
"unavailableReason": "缺少:{{reason}}",
|
||||
"openDetails": "查看 {{name}} 详情",
|
||||
"loadingDetail": "正在加载技能详情...",
|
||||
"loadFailed": "无法加载技能详情。",
|
||||
"descriptionTitle": "完整描述",
|
||||
"source": "来源",
|
||||
"status": "状态",
|
||||
"requirements": "需求",
|
||||
"noRequirements": "没有显式需求。",
|
||||
"commands": "命令",
|
||||
"environment": "环境变量",
|
||||
"missingCommands": "缺 CLI",
|
||||
"missingEnvironment": "缺 ENV",
|
||||
"unavailableReasonLabel": "不可用原因",
|
||||
"rawInstructions": "原始 SKILL.md",
|
||||
"rawInstructionsEmpty": "没有原始说明。",
|
||||
"detailDescription": "{{name}} 的详情。"
|
||||
}
|
||||
},
|
||||
"chat": {
|
||||
@@ -548,7 +607,30 @@
|
||||
"toggleSidebar": "切换侧边栏",
|
||||
"newChat": "从顶部新建对话",
|
||||
"toggleTheme": "从顶部切换主题",
|
||||
"settings": "打开设置"
|
||||
"settings": "打开设置",
|
||||
"sessionInfo": "会话详情"
|
||||
},
|
||||
"sessionInfo": {
|
||||
"title": "会话",
|
||||
"untitled": "未命名对话",
|
||||
"automations": "自动任务",
|
||||
"count": "{{count}}",
|
||||
"loading": "正在加载自动任务...",
|
||||
"loadFailed": "无法加载自动任务。",
|
||||
"empty": "这个会话暂时没有自动任务。",
|
||||
"disabled": "已关闭",
|
||||
"schedule": {
|
||||
"at": "{{time}}",
|
||||
"every": "每 {{duration}}",
|
||||
"cron": "Cron {{expr}}",
|
||||
"cronWithTz": "Cron {{expr}} · {{tz}}",
|
||||
"unknown": "自定义计划"
|
||||
},
|
||||
"next": {
|
||||
"label": "下次 {{time}}",
|
||||
"disabled": "已暂停",
|
||||
"none": "没有下次运行"
|
||||
}
|
||||
},
|
||||
"composer": {
|
||||
"placeholderThread": "输入消息…",
|
||||
@@ -564,6 +646,8 @@
|
||||
"goalStateSheetTitle": "目标",
|
||||
"send": "发送消息",
|
||||
"stop": "停止响应",
|
||||
"modelNotConfigured": "模型未配置",
|
||||
"configureModel": "配置模型",
|
||||
"queued": {
|
||||
"label": "待引导提示",
|
||||
"guide": "引导",
|
||||
@@ -691,7 +775,14 @@
|
||||
}
|
||||
},
|
||||
"scrollToBottom": "滚动到底部",
|
||||
"loadEarlier": "加载更早消息"
|
||||
"loadEarlier": "加载更早消息",
|
||||
"promptNavigator": {
|
||||
"open": "打开输入导航",
|
||||
"title": "输入列表",
|
||||
"search": "搜索输入",
|
||||
"noResults": "没有匹配的输入。",
|
||||
"jumpTo": "跳转到输入:{{label}}"
|
||||
}
|
||||
},
|
||||
"message": {
|
||||
"streaming": "流式输出中",
|
||||
@@ -722,6 +813,8 @@
|
||||
"cliRunRan": "已使用",
|
||||
"cliRunFailed": "失败",
|
||||
"imageAttachment": "图片附件",
|
||||
"automationSourceFallback": "自动化",
|
||||
"automationTriggered": "自动触发",
|
||||
"copyReply": "复制回复",
|
||||
"copiedReply": "已复制回复",
|
||||
"turnLatencyTitle": "本轮耗时(端到端)"
|
||||
@@ -733,6 +826,15 @@
|
||||
"next": "下一张",
|
||||
"close": "关闭预览"
|
||||
},
|
||||
"filePreview": {
|
||||
"aria": "文件预览",
|
||||
"close": "关闭文件预览",
|
||||
"loading": "正在加载预览...",
|
||||
"failed": "无法预览这个文件。",
|
||||
"routeMissing": "文件预览需要最新的 gateway。请重启 nanobot gateway 后再试。",
|
||||
"resize": "调整文件预览宽度",
|
||||
"truncated": "文件较大,当前只显示前半部分预览。"
|
||||
},
|
||||
"code": {
|
||||
"fallbackLanguage": "代码",
|
||||
"copyAria": "复制代码",
|
||||
|
||||
Reference in New Issue
Block a user