@baique/pi-web-sky 0.1.35 → 0.1.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +16 -16
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/react-loadable-manifest.json +1 -1
  5. package/.next/required-server-files.js +1 -1
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/_global-error.html +1 -1
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/_not-found.html +1 -1
  15. package/.next/server/app/_not-found.rsc +3 -3
  16. package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  17. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  18. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  19. package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
  20. package/.next/server/app/api/agent/[id]/events/route.js +1 -1
  21. package/.next/server/app/api/agent/[id]/route.js +1 -1
  22. package/.next/server/app/api/app-update/route.js +1 -1
  23. package/.next/server/app/api/auth/login/[provider]/route.js +1 -1
  24. package/.next/server/app/api/cwd/validate/route.js +1 -1
  25. package/.next/server/app/api/default-cwd/route.js +1 -1
  26. package/.next/server/app/api/file-index/route.js +1 -1
  27. package/.next/server/app/api/files/[...path]/route.js +1 -1
  28. package/.next/server/app/api/mcp/route.js +1 -1
  29. package/.next/server/app/api/models/route.js +1 -1
  30. package/.next/server/app/api/plugins/route.js +1 -1
  31. package/.next/server/app/api/project-trust/route.js +1 -1
  32. package/.next/server/app/api/search/route.js +1 -1
  33. package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -1
  34. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  35. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
  36. package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
  37. package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
  38. package/.next/server/app/api/sessions/[id]/todos/route.js +1 -1
  39. package/.next/server/app/api/sessions/route.js +1 -1
  40. package/.next/server/app/api/skills/check/route.js +1 -1
  41. package/.next/server/app/api/skills/check/route.js.nft.json +1 -1
  42. package/.next/server/app/api/skills/install/route.js +1 -1
  43. package/.next/server/app/api/skills/route.js +2 -31
  44. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  45. package/.next/server/app/api/skills/update/route.js +1 -1
  46. package/.next/server/app/api/skills/update/route.js.nft.json +1 -1
  47. package/.next/server/app/api/worktrees/route.js +1 -1
  48. package/.next/server/app/index.html +1 -1
  49. package/.next/server/app/index.rsc +5 -5
  50. package/.next/server/app/index.segments/__PAGE__.segment.rsc +5 -5
  51. package/.next/server/app/index.segments/_full.segment.rsc +5 -5
  52. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  53. package/.next/server/app/page.js +2 -2
  54. package/.next/server/app/page_client-reference-manifest.js +1 -1
  55. package/.next/server/app-paths-manifest.json +16 -16
  56. package/.next/server/chunks/2404.js +1 -1
  57. package/.next/server/chunks/3500.js +30 -0
  58. package/.next/server/chunks/4226.js +2 -2
  59. package/.next/server/chunks/542.js +10 -5
  60. package/.next/server/chunks/5794.js +1 -1
  61. package/.next/server/chunks/6429.js +1 -1
  62. package/.next/server/chunks/898.js +1 -1
  63. package/.next/server/middleware-build-manifest.js +1 -1
  64. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  65. package/.next/server/pages/404.html +1 -1
  66. package/.next/server/pages/500.html +1 -1
  67. package/.next/static/chunks/5315.7e72d26a3ad3bd9a.js +4 -0
  68. package/.next/static/chunks/app/{layout-1d9a7a44fbc92d2e.js → layout-ebbc0d287267b07b.js} +1 -1
  69. package/.next/static/chunks/app/{page-6d6779a81a0a7639.js → page-e568623a44c67606.js} +2 -2
  70. package/.next/static/chunks/{webpack-fa4f40085b1ec1ac.js → webpack-2e4e348867a555cd.js} +1 -1
  71. package/.next/static/css/422c7dc0faa04d89.css +1 -0
  72. package/.next/trace +8 -9
  73. package/.next/trace-build +1 -1
  74. package/bin/pi-web-sky.js +15 -20
  75. package/lib/agent-client.test.mjs +64 -0
  76. package/lib/agent-client.ts +53 -0
  77. package/lib/agent-event-connection.test.mjs +193 -0
  78. package/lib/agent-event-connection.ts +202 -0
  79. package/lib/agent-event-stream.test.mjs +155 -0
  80. package/lib/agent-event-stream.ts +132 -0
  81. package/lib/agent-event-wire.test.mjs +278 -0
  82. package/lib/agent-event-wire.ts +107 -0
  83. package/lib/agent-phase.ts +24 -0
  84. package/lib/allowed-roots.ts +31 -0
  85. package/lib/ansi.test.mjs +52 -0
  86. package/lib/ansi.ts +211 -0
  87. package/lib/api-types.ts +139 -0
  88. package/lib/app-update.test.mjs +27 -0
  89. package/lib/app-update.ts +28 -0
  90. package/lib/atomic-file.test.mjs +37 -0
  91. package/lib/atomic-file.ts +34 -0
  92. package/lib/audit-session.ts +235 -0
  93. package/lib/bash-output.test.mjs +63 -0
  94. package/lib/bash-output.ts +53 -0
  95. package/lib/bg-image.ts +129 -0
  96. package/lib/board-events.ts +83 -0
  97. package/lib/board-purge.test.mjs +66 -0
  98. package/lib/board-purge.ts +65 -0
  99. package/lib/board-search.test.mjs +110 -0
  100. package/lib/board-search.ts +63 -0
  101. package/lib/board-store.test.mjs +542 -0
  102. package/lib/board-store.ts +794 -0
  103. package/lib/board-types.ts +96 -0
  104. package/lib/board-utils.ts +17 -0
  105. package/lib/bounded-form-data.test.mjs +54 -0
  106. package/lib/bounded-form-data.ts +49 -0
  107. package/lib/browser-notifications.test.mjs +167 -0
  108. package/lib/browser-notifications.ts +104 -0
  109. package/lib/chat-lazy-load.test.mjs +140 -0
  110. package/lib/chat-lazy-load.ts +64 -0
  111. package/lib/clipboard-paths.test.mjs +140 -0
  112. package/lib/clipboard-paths.ts +192 -0
  113. package/lib/clipboard.ts +18 -0
  114. package/lib/compaction-summary.test.mjs +44 -0
  115. package/lib/compaction-summary.ts +34 -0
  116. package/lib/custom-ui-terminal.test.mjs +32 -0
  117. package/lib/custom-ui-terminal.ts +27 -0
  118. package/lib/deepseek-pricing.test.mjs +120 -0
  119. package/lib/deepseek-pricing.ts +71 -0
  120. package/lib/directory-browser.test.mjs +60 -0
  121. package/lib/directory-browser.ts +83 -0
  122. package/lib/draft-stash.test.mjs +91 -0
  123. package/lib/draft-stash.ts +102 -0
  124. package/lib/draft-store.ts +105 -0
  125. package/lib/dropdown-direction.ts +27 -0
  126. package/lib/extension-command.test.mjs +63 -0
  127. package/lib/extension-command.ts +81 -0
  128. package/lib/file-access.test.mjs +31 -0
  129. package/lib/file-access.ts +59 -0
  130. package/lib/file-dirent.test.mjs +56 -0
  131. package/lib/file-dirent.ts +17 -0
  132. package/lib/file-explorer-state.test.mjs +63 -0
  133. package/lib/file-explorer-state.ts +36 -0
  134. package/lib/file-fuzzy.test.mjs +29 -0
  135. package/lib/file-fuzzy.ts +189 -0
  136. package/lib/file-links.test.mjs +92 -0
  137. package/lib/file-links.ts +148 -0
  138. package/lib/file-paths.ts +43 -0
  139. package/lib/file-types.test.mjs +34 -0
  140. package/lib/file-types.ts +73 -0
  141. package/lib/file-upload.test.mjs +70 -0
  142. package/lib/file-upload.ts +59 -0
  143. package/lib/file-viewer-state.test.mjs +20 -0
  144. package/lib/file-viewer-state.ts +15 -0
  145. package/lib/frontmatter.test.mjs +55 -0
  146. package/lib/frontmatter.ts +87 -0
  147. package/lib/git-changes.test.mjs +52 -0
  148. package/lib/git-changes.ts +232 -0
  149. package/lib/git-status.ts +47 -0
  150. package/lib/git-types.ts +29 -0
  151. package/lib/http-dispatcher.test.mjs +83 -0
  152. package/lib/http-dispatcher.ts +86 -0
  153. package/lib/i18n/format.test.mjs +19 -0
  154. package/lib/i18n/format.ts +60 -0
  155. package/lib/i18n/messages/en.ts +662 -0
  156. package/lib/i18n/messages/zh-CN.ts +661 -0
  157. package/lib/i18n/registry.test.mjs +32 -0
  158. package/lib/i18n/registry.ts +43 -0
  159. package/lib/i18n/types.ts +15 -0
  160. package/lib/image-attachments.test.mjs +27 -0
  161. package/lib/image-attachments.ts +56 -0
  162. package/lib/initial-navigation.test.mjs +65 -0
  163. package/lib/initial-navigation.ts +15 -0
  164. package/lib/markdown.test.mjs +104 -0
  165. package/lib/markdown.ts +347 -0
  166. package/lib/message-display.test.mjs +130 -0
  167. package/lib/message-display.ts +47 -0
  168. package/lib/model-catalog.test.mjs +327 -0
  169. package/lib/model-catalog.ts +414 -0
  170. package/lib/model-discovery-auth.ts +58 -0
  171. package/lib/model-discovery.test.mjs +50 -0
  172. package/lib/model-discovery.ts +75 -0
  173. package/lib/model-id-preference.ts +46 -0
  174. package/lib/model-scope.test.mjs +193 -0
  175. package/lib/model-scope.ts +198 -0
  176. package/lib/models-cache.test.mjs +122 -0
  177. package/lib/models-cache.ts +90 -0
  178. package/lib/models-config-store.test.mjs +200 -0
  179. package/lib/models-config-store.ts +84 -0
  180. package/lib/next-config-esm.test.mjs +14 -0
  181. package/lib/next-config.test.mjs +13 -0
  182. package/lib/node-version.test.mjs +33 -0
  183. package/lib/normalize.test.mjs +54 -0
  184. package/lib/normalize.ts +63 -0
  185. package/lib/npx.ts +62 -0
  186. package/lib/panel-layout.test.mjs +56 -0
  187. package/lib/panel-layout.ts +52 -0
  188. package/lib/patch.test.mjs +110 -0
  189. package/lib/patch.ts +134 -0
  190. package/lib/path-security.ts +42 -0
  191. package/lib/paths.test.mjs +58 -0
  192. package/lib/paths.ts +71 -0
  193. package/lib/pi-types.ts +183 -0
  194. package/lib/pi-web-options.test.mjs +63 -0
  195. package/lib/process-lifecycle.test.mjs +83 -0
  196. package/lib/project-command-env.test.mjs +298 -0
  197. package/lib/project-command-env.ts +129 -0
  198. package/lib/project-groups.test.mjs +60 -0
  199. package/lib/project-groups.ts +53 -0
  200. package/lib/project-identity.test.mjs +37 -0
  201. package/lib/project-identity.ts +26 -0
  202. package/lib/project-tree.test.mjs +115 -0
  203. package/lib/project-tree.ts +176 -0
  204. package/lib/project-trust.test.mjs +117 -0
  205. package/lib/project-trust.ts +48 -0
  206. package/lib/prompt-recovery.test.mjs +33 -0
  207. package/lib/prompt-recovery.ts +47 -0
  208. package/lib/provider-api-key-route.test.mjs +12 -0
  209. package/lib/provider-credential-store.test.mjs +126 -0
  210. package/lib/provider-credential-store.ts +114 -0
  211. package/lib/provider-listing-runtime.ts +37 -0
  212. package/lib/provider-listing.test.mjs +114 -0
  213. package/lib/provider-listing.ts +118 -0
  214. package/lib/provider-services.ts +64 -0
  215. package/lib/request-security.test.mjs +256 -0
  216. package/lib/request-security.ts +136 -0
  217. package/lib/rpc-manager-shutdown.test.mjs +372 -0
  218. package/lib/rpc-manager-widgets.test.mjs +342 -0
  219. package/lib/rpc-manager.test.mjs +139 -0
  220. package/lib/rpc-manager.ts +1703 -0
  221. package/lib/rpc-session-info.test.mjs +93 -0
  222. package/lib/session-delete.test.mjs +53 -0
  223. package/lib/session-delete.ts +86 -0
  224. package/lib/session-file-references-core.ts +82 -0
  225. package/lib/session-file-references.test.mjs +91 -0
  226. package/lib/session-file-references.ts +29 -0
  227. package/lib/session-path.test.mjs +24 -0
  228. package/lib/session-path.ts +11 -0
  229. package/lib/session-reader.pagination.test.mjs +115 -0
  230. package/lib/session-reader.test.mjs +446 -0
  231. package/lib/session-reader.ts +548 -0
  232. package/lib/session-resolve.test.mjs +65 -0
  233. package/lib/session-row-context-menu.test.mjs +46 -0
  234. package/lib/session-row-context-menu.ts +29 -0
  235. package/lib/session-scanner.test.mjs +151 -0
  236. package/lib/session-scanner.ts +238 -0
  237. package/lib/session-search.test.mjs +173 -0
  238. package/lib/session-search.ts +284 -0
  239. package/lib/session-stats.ts +26 -0
  240. package/lib/session-timing.test.mjs +107 -0
  241. package/lib/session-timing.ts +45 -0
  242. package/lib/session-title.test.mjs +284 -0
  243. package/lib/session-title.ts +255 -0
  244. package/lib/skill-frontmatter.test.mjs +75 -0
  245. package/lib/skill-frontmatter.ts +40 -0
  246. package/lib/skill-lock.test.mjs +182 -0
  247. package/lib/skill-lock.ts +146 -0
  248. package/lib/skill-updates.test.mjs +182 -0
  249. package/lib/skill-updates.ts +263 -0
  250. package/lib/skills-service.ts +16 -0
  251. package/lib/slash-display.test.mjs +122 -0
  252. package/lib/slash-display.ts +30 -0
  253. package/lib/sqlite-db.test.mjs +140 -0
  254. package/lib/sqlite-db.ts +205 -0
  255. package/lib/startup-preferences.test.mjs +130 -0
  256. package/lib/startup-preferences.ts +65 -0
  257. package/lib/streaming-message.test.mjs +212 -0
  258. package/lib/streaming-message.ts +151 -0
  259. package/lib/subagent-widget.test.mjs +87 -0
  260. package/lib/subagent-widget.ts +109 -0
  261. package/lib/sync-room-server.mjs +137 -0
  262. package/lib/task-card-store.test.mjs +309 -0
  263. package/lib/task-card-store.ts +559 -0
  264. package/lib/task-scheduler.ts +498 -0
  265. package/lib/task-store.test.mjs +216 -0
  266. package/lib/task-store.ts +271 -0
  267. package/lib/terminal-input.test.mjs +46 -0
  268. package/lib/terminal-input.ts +63 -0
  269. package/lib/terminal-manager.test.mjs +71 -0
  270. package/lib/terminal-manager.ts +245 -0
  271. package/lib/tool-execution-progress.test.mjs +32 -0
  272. package/lib/tool-execution-progress.ts +29 -0
  273. package/lib/tool-names.ts +25 -0
  274. package/lib/tool-preset-preference.test.mjs +72 -0
  275. package/lib/tool-preset-preference.ts +41 -0
  276. package/lib/tool-presets.test.mjs +56 -0
  277. package/lib/tool-presets.ts +42 -0
  278. package/lib/turn-written-files.test.mjs +137 -0
  279. package/lib/turn-written-files.ts +60 -0
  280. package/lib/types.ts +349 -0
  281. package/lib/wallpaper-settings.ts +191 -0
  282. package/lib/web-auth.test.mjs +50 -0
  283. package/lib/web-auth.ts +45 -0
  284. package/lib/workspace-memory.test.mjs +129 -0
  285. package/lib/workspace-memory.ts +98 -0
  286. package/lib/worktree.test.mjs +50 -0
  287. package/lib/worktree.ts +250 -0
  288. package/package.json +3 -1
  289. package/server.mjs +34 -0
  290. package/.next/server/chunks/7513.js +0 -30
  291. package/.next/static/chunks/5315.03de3c6abd8b283e.js +0 -4
  292. package/.next/static/css/cf25164cb7c04d95.css +0 -1
  293. /package/.next/static/{Ud6Y2ONkGuPVFbo1xZQvk → EoBw3VYlygpr1EqlVOa5b}/_buildManifest.js +0 -0
  294. /package/.next/static/{Ud6Y2ONkGuPVFbo1xZQvk → EoBw3VYlygpr1EqlVOa5b}/_ssgManifest.js +0 -0
@@ -0,0 +1,661 @@
1
+ import type { LocalePlugin } from "../types";
2
+
3
+ /** Pi Web 内置简体中文语言包。 */
4
+ export const zhCNLocale: LocalePlugin = {
5
+ id: "zh-CN",
6
+ label: "简体中文",
7
+ messages: {
8
+ "common.ok": "确定",
9
+ "common.close": "关闭",
10
+ "common.language": "语言",
11
+ "common.models": "模型",
12
+ "common.skills": "技能",
13
+ "common.plugins": "插件",
14
+ "appUpdate.releaseNotes": "Pi Web v{version} 可用,查看更新说明",
15
+ "sidebar.hide": "隐藏侧边栏",
16
+ "sidebar.show": "显示侧边栏",
17
+ "theme.light": "浅色模式(点击切换到深色)",
18
+ "theme.dark": "深色模式(点击切换到跟随系统)",
19
+ "theme.auto": "跟随系统(点击切换到浅色)",
20
+ "history.full": "历史",
21
+ "history.unsaved": "会话保存后才能查看历史",
22
+ "history.label": "历史",
23
+ "nav.stats": "统计",
24
+ "nav.todo": "TODO",
25
+ "title.generating": "正在生成...",
26
+ "title.updated": "标题已更新",
27
+ "title.failed": "生成失败",
28
+ "title.generate": "生成标题",
29
+ "title.unsaved": "会话保存后才能生成标题",
30
+ "title.noMessages": "请先发送消息,再为会话命名",
31
+ "title.generateSession": "生成会话标题",
32
+ "system.prompt": "系统提示词",
33
+ "system.empty": "系统提示词为空(工具已禁用)",
34
+ "system.load": "系统提示词尚未加载",
35
+ "system.loading": "正在加载系统提示词…",
36
+ "system.label": "系统",
37
+ "session.info": "会话信息",
38
+ "session.task": "任务",
39
+ "session.name": "名称",
40
+ "session.file": "会话文件",
41
+ "session.inMemory": "内存中",
42
+ "session.id": "ID",
43
+ "session.user": "用户",
44
+ "session.assistant": "助手",
45
+ "session.toolCalls": "工具调用",
46
+ "session.toolResults": "工具结果",
47
+ "session.total": "总计",
48
+ "session.input": "输入",
49
+ "session.output": "输出",
50
+ "session.cacheRead": "缓存读取",
51
+ "session.cacheWrite": "缓存写入",
52
+ "session.cost": "费用",
53
+ "session.context": "上下文",
54
+ "session.cacheHitRate": "平均缓存命中率",
55
+ "session.copy": "复制{value}",
56
+ "session.copied": "已复制",
57
+ "session.title": "会话信息",
58
+ "session.load": "发送消息或运行 /session 以加载会话信息",
59
+ "session.infoSection": "会话信息",
60
+ "session.projectSection": "项目信息",
61
+ "session.messages": "消息",
62
+ "session.tokens": "Token",
63
+ "session.totalActive": "活跃时长",
64
+ "session.copyFile": "复制文件路径",
65
+ "session.copyId": "复制会话 ID",
66
+ "session.projectDir": "项目目录",
67
+ "session.gitBranch": "Git 分支",
68
+ "session.gitWorktree": "Worktree",
69
+ "session.copyProjectDir": "复制项目目录",
70
+ "session.copyGitBranch": "复制 Git 分支",
71
+ "session.copyGitWorktree": "复制 worktree 路径",
72
+ "workspace.opening": "正在打开工作区...",
73
+ "workspace.unable": "无法打开工作区",
74
+ "workspace.selectSession": "从侧边栏选择一个会话",
75
+ "workspace.getStarted": "开始使用",
76
+ "workspace.selectProject": "从侧边栏选择项目目录",
77
+ "workspace.addModels": "点击底部的“模型”按钮添加模型",
78
+ "workspace.stepProject": "从侧边栏选择项目目录",
79
+ "workspace.stepModels": "点击底部的“模型”按钮添加模型",
80
+ "files.hidePanel": "隐藏文件面板",
81
+ "files.showPanel": "显示文件面板",
82
+ "files.noneOpen": "没有打开的文件",
83
+ "layout.resizeSidebar": "调整侧边栏宽度",
84
+ "layout.resizeFilePanel": "调整文件面板宽度",
85
+ "layout.resizeHint": "拖动调整宽度。双击或按 Enter 恢复默认值。",
86
+ "sidebar.new": "新建",
87
+ "sidebar.newSessionTitle": "在 {path} 中新建会话",
88
+ "sidebar.refresh": "刷新",
89
+ "sidebar.selectProject": "选择项目…",
90
+ "sidebar.filterProjects": "筛选项目…",
91
+ "sidebar.noMatchingProjects": "没有匹配的项目",
92
+ "sidebar.useDefaultDirectory": "使用默认目录",
93
+ "sidebar.customPath": "自定义路径…",
94
+ "directoryPicker.selectDirectory": "选择目录",
95
+ "directoryPicker.goToParent": "转到上级目录",
96
+ "directoryPicker.directoryPath": "目录路径",
97
+ "directoryPicker.goToDirectory": "转到目录",
98
+ "directoryPicker.go": "转到",
99
+ "directoryPicker.loadingDirectories": "正在加载目录…",
100
+ "directoryPicker.noSubdirectories": "没有子目录",
101
+ "directoryPicker.openBeforeSelecting": "选择前请先打开此路径",
102
+ "directoryPicker.selectCurrentDirectory": "选择当前目录",
103
+ "directoryPicker.selectThisFolder": "选择此文件夹",
104
+ "directoryPicker.noDrives": "未找到盘符",
105
+ "sidebar.checking": "检查中…",
106
+ "sidebar.open": "打开",
107
+ "sidebar.cancel": "取消",
108
+ "sidebar.openRepoRoot": "打开仓库根目录",
109
+ "sidebar.openRepoRootTitle": "打开仓库根目录以管理 worktree。",
110
+ "sidebar.gitRepoRootOnly": "仅 Git 仓库根目录",
111
+ "sidebar.gitRepoRootOnlyTitle": "只能在 Git 仓库根目录使用 worktree。",
112
+ "sidebar.worktrees": "Worktrees...",
113
+ "sidebar.checkingWorktrees": "正在检查此目录的 worktree。",
114
+ "sidebar.filterWorktrees": "筛选 worktree…",
115
+ "sidebar.noMatchingWorktrees": "没有匹配的 worktree",
116
+ "sidebar.switchWorktree": "切换 worktree",
117
+ "sidebar.switchWorktreeTitle": "切换 worktree:{path}",
118
+ "sidebar.main": "主分支",
119
+ "sidebar.forceRemoveCheckout": "存在未提交的更改。强制移除 checkout?",
120
+ "sidebar.force": "强制移除",
121
+ "sidebar.createWorktreeTitle": "为分支创建 worktree checkout",
122
+ "sidebar.newWorktree": "新建 worktree…",
123
+ "sidebar.branchName": "分支名称",
124
+ "sidebar.creating": "创建中…",
125
+ "sidebar.create": "创建",
126
+ "sidebar.uploadFilesTitle": "将文件上传到项目根目录",
127
+ "sidebar.uploadFiles": "上传文件",
128
+ "sidebar.refreshExplorer": "刷新文件浏览器",
129
+ "sidebar.changedFiles": "{count} 个变更文件",
130
+ "sidebar.loading": "加载中...",
131
+ "sidebar.noSessions": "未找到会话",
132
+ "sidebar.agentRunning": "Agent 运行中…",
133
+ "sidebar.newActivity": "有新活动",
134
+ "sidebar.newSessionActivity": "会话有新活动",
135
+ "sidebar.deleteSession": "删除 {title}?此操作不可恢复",
136
+ "sidebar.rename": "重命名",
137
+ "sidebar.pin": "置顶",
138
+ "sidebar.unpin": "取消置顶",
139
+ "sidebar.pinTask": "置顶任务",
140
+ "sidebar.unpinTask": "取消置顶任务",
141
+ "sidebar.pinned": "已置顶",
142
+ "sidebar.taskRunning": "{count} 个会话运行中",
143
+ "sidebar.moreActions": "更多操作",
144
+ "sidebar.delete": "删除",
145
+
146
+ "sidebar.expandForks": "展开分叉",
147
+ "sidebar.collapseForks": "折叠分叉",
148
+ "sidebar.taskOpenBoard": "打开看板",
149
+ "sidebar.messagesCount": "{count} 条消息",
150
+ "sidebar.views": "视图",
151
+ "sidebar.sessionTab": "会话",
152
+ "sidebar.boardsTab": "看板",
153
+ "sidebar.filesTab": "文件",
154
+ "sidebar.tasks": "任务",
155
+ "sidebar.tempSessions": "聊天",
156
+ "sidebar.newTask": "新建任务…",
157
+ "sidebar.taskName": "任务名称",
158
+ "sidebar.newTaskSession": "新建任务会话",
159
+ "sidebar.loadMoreSessions": "加载更多({count})",
160
+ "sidebar.resizeTasks": "拖拽调整任务区高度",
161
+ "sidebar.deleteTask": "删除任务",
162
+ "sidebar.deleteTaskConfirm": "删除任务「{name}」及其下 {count} 个会话?此操作不可恢复",
163
+ "boards.system": "系统",
164
+ "boards.title": "看板",
165
+ "boards.dragToAdd": "从侧栏拖入会话以添加",
166
+ "boards.dropToAdd": "松手添加会话",
167
+ "boards.loadingSession": "正在加载会话…",
168
+ "boards.sessionMissing": "会话已不存在",
169
+ "boards.collapse": "收合",
170
+ "boards.workbenchLimit": "同时只支持展开一个工作台",
171
+ "boards.create": "创建",
172
+ "boards.running": "运行中",
173
+ "boards.runningDesc": "跨项目自动聚合所有运行中的会话",
174
+ "boards.project": "项目",
175
+ "boards.empty": "还没有看板 — 新建一个吧",
176
+ "boards.new": "新建看板…",
177
+ "boards.rename": "改名",
178
+ "boards.delete": "删除",
179
+ "boards.deleteConfirmTitle": "删除看板?",
180
+ "boards.deleteConfirm": "将删除看板及其节点/连线,会话本身不受影响。",
181
+ "boards.cancel": "取消",
182
+ "boards.namePlaceholder": "看板名称",
183
+ "boards.loadingCanvas": "正在加载画布…",
184
+ "boards.runningEmpty": "当前没有运行中的会话 — 运行中的会话会自动出现在这里",
185
+ "boards.emptyCanvas": "空看板 — 从侧栏添加会话({count} 个节点)",
186
+ "boards.back": "返回",
187
+ "boards.switchBoard": "切换看板",
188
+ "boards.addSession": "添加会话",
189
+ "boards.connect": "连线",
190
+ "boards.connectDesc": "连接两张卡片(先点起点,再点终点)",
191
+ "boards.autoLayout": "自动布局",
192
+ "boards.autoLayoutDesc": "自动布局暂未开放",
193
+ "boards.cleanup": "清理失效",
194
+ "boards.clearDesc": "清空画布(删除所有卡片/便笺/连线)",
195
+ "boards.clearConfirm": "确定清空整张画布?此操作不可撤销。",
196
+ "boards.clearTaskBoardDesc": "清空画布(仅清连线/便笺/文本,会话卡片保留)",
197
+ "boards.clearTaskConfirm": "确定清空画布?连线/便笺/文本将被删除,会话卡片会保留(会话数据不受影响)。",
198
+ "boards.conflictReload": "画布已被其他窗口/设备修改,已自动加载最新版本(未保存的改动已丢弃)",
199
+ "boards.reloadCanvas": "重新加载画布(从服务器刷新所有内容)",
200
+ "boards.scrimTitle": "调节画布磨砂",
201
+ "boards.scrimAlpha": "透明度",
202
+ "boards.scrimBlur": "磨砂强度",
203
+ "boards.noSessions": "没有会话",
204
+ "boards.newSession": "新建会话",
205
+ "boards.draftPlaceholder": "新建会话 — 输入消息开始聊天…",
206
+ "boards.searchPlaceholder": "搜索卡片标题或便笺…",
207
+ "boards.searchNoResults": "没有匹配的节点",
208
+ "boards.searchSession": "会话",
209
+ "boards.searchNote": "便笺",
210
+ "search.placeholder": "搜索会话…", "search.indexing": "正在建立索引…",
211
+ "search.noResults": "没有匹配的会话",
212
+ "search.empty": "输入关键词搜索会话标题或对话内容",
213
+ "search.title": "标题",
214
+ "sidebar.worktreePath": "Worktree:{path}",
215
+ "sidebar.removeWorktreeTitle": "移除 worktree checkout {path};保留分支",
216
+ "files.modified": "已修改",
217
+ "files.added": "已添加",
218
+ "files.deleted": "已删除",
219
+ "files.renamed": "已重命名",
220
+ "files.untracked": "未跟踪",
221
+ "files.conflict": "冲突",
222
+ "files.newlyUploaded": "刚上传",
223
+ "files.containsChangedFiles": "包含已更改文件",
224
+ "files.insertPath": "将路径插入聊天",
225
+ "files.mention": "提及",
226
+ "files.download": "下载文件",
227
+ "files.dismissError": "关闭错误",
228
+ "files.addUploadedFile": "将上传的文件添加到聊天",
229
+ "files.addAllUploadedFiles": "将所有上传的文件添加到聊天",
230
+ "files.dismissUploadResults": "关闭上传结果",
231
+ "files.loading": "正在加载文件...",
232
+ "files.searchPlaceholder": "搜索文件…",
233
+ "files.noFiles": "未找到文件",
234
+ "files.explorer": "文件浏览器",
235
+ "files.changedCount": "{count} 个文件",
236
+ "files.changeStats": "{count} 个变更文件,新增 {additions} 行,删除 {deletions} 行",
237
+ "files.conflictSummary": "已有 {count} 个文件:{files}",
238
+ "files.cannotReplace": "无法替换:{files}",
239
+ "files.replace": "替换",
240
+ "files.skipExisting": "跳过已有文件",
241
+ "files.cancel": "取消",
242
+ "files.checking": "正在检查文件",
243
+ "files.uploading": "正在上传,{progress}%",
244
+ "chat.loadingSession": "正在加载会话...",
245
+ "chat.runningTool": "正在运行工具...",
246
+ "chat.generatingToolInput": "正在生成参数...",
247
+ "chat.runningNamedTool": "正在运行 {name}...",
248
+ "chat.runningTools": "正在运行 {names}...",
249
+ "chat.runningToolsMore": "正在运行 {names}(另有 {count} 个)...",
250
+ "chat.waitingModel": "正在等待模型...",
251
+ "chat.runningCommand": "正在运行命令...",
252
+ "chat.commandBusy": "正在执行 {name}…",
253
+ "chat.thinking": "正在思考...",
254
+ "chat.processDetails": "处理详情",
255
+ "chat.message": "条消息",
256
+ "chat.messages": "条消息",
257
+ "chat.toolCall": "次工具调用",
258
+ "chat.toolCalls": "次工具调用",
259
+ "chat.collapseProcess": "收起处理详情",
260
+ "chat.expandProcess": "展开处理详情",
261
+ "chat.filesWritten": "改动的文件",
262
+ "chat.openWrittenFile": "打开 {name}",
263
+ "chat.loadEarlier": "向上滚动以加载更早的消息(隐藏 {count} 条)",
264
+ "chat.extensionRequest": "扩展请求",
265
+ "chat.cancel": "取消",
266
+ "chat.confirm": "确认",
267
+ "chat.submit": "提交",
268
+ "chat.extensionInput": "扩展终端输入",
269
+ "chat.extensionPanel": "扩展面板",
270
+ "chat.extensionWidgets": "扩展组件",
271
+ "chat.extensionWidgetAbove": "输入框上方组件",
272
+ "chat.extensionWidgetBelow": "输入框下方组件",
273
+ "chat.extensionWidgetLine": "{count} 行",
274
+ "chat.extensionWidgetLines": "{count} 行",
275
+ "chat.close": "关闭",
276
+ "chat.extensionInspect": "详情",
277
+ "chat.extensionNoDetail": "暂无详细过程(可尝试刷新后重试)",
278
+ "chat.queued": "已排队 · {count}",
279
+ "chat.recall": "移回输入框",
280
+ "chat.recallTitle": "移除所有排队消息并将其放回输入框编辑",
281
+ "chat.retrying": "正在重试({attempt}/{max})…",
282
+ "chat.loadingCommands": "正在加载命令...",
283
+ "chat.slashCommands": "斜杠命令 · {label}",
284
+ "chat.tabEnter": "Tab / Enter",
285
+ "chat.noCommands": "未找到扩展、提示词或技能命令",
286
+ "chat.match": "1 个匹配项",
287
+ "chat.matches": "{count} 个匹配项",
288
+ "chat.command": "1 个命令",
289
+ "chat.commands": "{count} 个命令",
290
+ "chat.loadingFiles": "正在加载文件...",
291
+ "chat.files": "文件 · {label}{hint}",
292
+ "chat.searching": "搜索中…",
293
+ "chat.noMatchingFiles": "未找到匹配的文件",
294
+ "chat.searchingAll": " · 正在搜索所有文件…",
295
+ "chat.indexTruncated": " · 索引不完整",
296
+ "chat.steerPlaceholder": "立即引导 / 排队后续消息...",
297
+ "chat.agentPlaceholder": "Agent 运行中…",
298
+ "chat.messagePlaceholder": "消息…输入 / 使用命令,输入 @ 查找文件",
299
+ "chat.taskPlaceholder": "[{task}] - 消息…输入 / 使用命令,输入 @ 查找文件",
300
+ "chat.steer": "引导",
301
+ "chat.followUp": "后续消息",
302
+ "chat.send": "发送",
303
+ "chat.attachImage": "附加图片",
304
+ "chat.previewImage": "预览图片",
305
+ "chat.filterModels": "筛选模型…",
306
+ "chat.noMatchingModels": "没有匹配的模型",
307
+ "chat.showModelId": "显示 ID",
308
+ "chat.moreControls": "更多控件",
309
+ "chat.collapseControls": "收起控件",
310
+ "chat.shell": "Shell",
311
+ "chat.outputLocal": "输出保留在本地",
312
+ "chat.outputModel": "输出发送给模型",
313
+ "chat.noTools": "不使用工具",
314
+ "chat.readOnlyTools": "{count} 个只读内置工具",
315
+ "chat.builtInTools": "{count} 个内置工具",
316
+ "chat.allBuiltInTools": "全部内置工具",
317
+ "chat.changeReasoning": "更改推理级别:{level}",
318
+ "chat.changeReasoningLabel": "更改推理级别",
319
+ "chat.changeToolPreset": "更改工具预设",
320
+ "chat.stopCompaction": "停止压缩",
321
+ "chat.compactContext": "压缩上下文",
322
+ "chat.compacting": "正在压缩…",
323
+ "chat.compact": "压缩",
324
+ "chat.scrollToLatest": "回到底部",
325
+ "bg.title": "背景图",
326
+ "bg.choose": "选择图片…",
327
+ "bg.replace": "更换图片…",
328
+ "bg.remove": "移除背景图",
329
+ "bg.hint": "原图保存在浏览器本地,不重新编码、不上传。",
330
+ "bg.repeat": "平铺(横向重复)",
331
+ "bg.fill": "边缘色彩填充",
332
+ "bg.adjust": "调整横向位置…",
333
+ "bg.adjustHint": "左右拖拽调整壁纸位置",
334
+ "bg.adjustDone": "移动完成",
335
+ "bg.reset": "重置位置",
336
+ "bg.bubbleOpacity": "气泡透明度",
337
+ "bg.bubbleBlur": "磨砂强度",
338
+ "bg.bubbleReset": "重置气泡",
339
+ "chat.stopAgent": "停止 Agent",
340
+ "chat.stop": "停止",
341
+ "chat.disableSound": "关闭完成提示音",
342
+ "chat.enableSound": "开启完成提示音",
343
+ "chat.thinkingUseDefault": "使用 pi 默认设置",
344
+ "chat.thinkingOff": "关闭推理",
345
+ "chat.thinkingMinimal": "最低限度推理",
346
+ "chat.thinkingLow": "低强度推理",
347
+ "chat.thinkingMedium": "中等强度推理",
348
+ "chat.thinkingHigh": "高强度推理",
349
+ "chat.thinkingXhigh": "超高强度推理",
350
+ "chat.thinkingMax": "最高强度推理",
351
+ "chat.builtIn": "内置",
352
+ "chat.extensions": "扩展",
353
+ "chat.prompts": "提示词",
354
+ "chat.skills": "技能",
355
+ "chat.dormant": "休眠",
356
+ "chat.commandCompact": "压缩上下文,可选附加说明",
357
+ "chat.commandReload": "重新加载扩展、技能、提示词和工具",
358
+ "chat.commandName": "设置会话显示名称",
359
+ "chat.commandSession": "显示会话消息、Token 和费用统计",
360
+ "chat.commandCopy": "复制最后一条助手消息",
361
+ "chat.compacted": "已压缩",
362
+ "chat.tokensSaved": "节省 {saved}",
363
+ "i18n.close": "关闭",
364
+ "i18n.copy": "复制",
365
+ "i18n.pin": "钉",
366
+ "i18n.pinTitle": "钉住此消息(生成可拖拽/缩放的浮窗)",
367
+ "i18n.copied": "已复制",
368
+ "i18n.cancel": "取消",
369
+ "i18n.save": "保存",
370
+ "i18n.saving": "保存中…",
371
+ "i18n.saved": "已保存",
372
+ "i18n.remove": "移除",
373
+ "i18n.removing": "移除中…",
374
+ "i18n.delete": "删除",
375
+ "i18n.loading": "加载中...",
376
+ "i18n.search": "搜索",
377
+ "i18n.refresh": "刷新",
378
+ "i18n.update": "更新",
379
+ "i18n.updating": "更新中...",
380
+ "i18n.check": "检查",
381
+ "i18n.checking": "检查中...",
382
+ "i18n.install": "安装",
383
+ "i18n.installing": "安装中...",
384
+ "i18n.noResults": "没有结果",
385
+ "i18n.searchProviders": "搜索 Provider…",
386
+ "i18n.noProviders": "没有匹配的 Provider",
387
+ "i18n.newModel": "新模型",
388
+ "i18n.addProvider": "添加 Provider",
389
+ "i18n.selectProviderModel": "选择 Provider 或模型",
390
+ "i18n.visibleInPrompt": "在模型提示词中可见,点击以禁用",
391
+ "i18n.hiddenFromPrompt": "在模型提示词中隐藏,点击以启用",
392
+ "i18n.dormant": "休眠",
393
+ "i18n.hiddenButInvocable": "对模型隐藏,仍可手动调用",
394
+ "i18n.skillSearchPlaceholder": "例如 react、testing、deploy",
395
+ "i18n.searching": "搜索中…",
396
+ "i18n.noSkills": "未找到技能",
397
+ "i18n.checkUpdates": "检查更新",
398
+ "i18n.updates": "项更新",
399
+ "i18n.noResolvedResources": "没有已解析资源",
400
+ "i18n.enablePackage": "启用包",
401
+ "i18n.disablePackage": "禁用包",
402
+ "i18n.filtered": "已筛选",
403
+ "i18n.openSessionToReload": "打开会话后才能重新加载",
404
+ "i18n.notFound": "未找到",
405
+ "i18n.noPlugins": "未配置插件",
406
+ "trust.resourcesNotLoaded": "受限模式",
407
+ "trust.trustProject": "信任项目",
408
+ "trust.trusting": "正在信任...",
409
+ "trust.cancel": "取消",
410
+ "trust.dialogTitle": "信任此项目?",
411
+ "trust.dialogBody": "项目资源可以运行本地代码。请仅信任你了解其内容的项目。",
412
+ "trust.skillsNotLoaded": "此项目尚未受信任,项目技能未加载。",
413
+ "trust.pluginsNotLoaded": "此项目尚未受信任,项目插件未加载。",
414
+ "trust.projectScopeUnavailable": "项目资源未加载时,无法安装到项目范围。",
415
+ "i18n.creatingSession": "正在创建新会话…",
416
+ "i18n.creating": "创建中…",
417
+ "i18n.subscription": "订阅",
418
+ "i18n.subscriptions": "订阅服务",
419
+ "i18n.customEndpoint": "自定义端点格式",
420
+ "i18n.noChanges": "没有更改",
421
+ "i18n.branches": "分支",
422
+ "i18n.noActiveSession": "没有活动会话",
423
+ "i18n.noBranches": "此会话没有分支",
424
+ "i18n.source": "源代码",
425
+ "i18n.preview": "预览",
426
+ "i18n.diff": "Diff",
427
+ "i18n.downloadFile": "下载文件",
428
+ "i18n.liveSync": "实时同步已启用",
429
+ "i18n.notWatching": "未监视",
430
+ "i18n.fileViewMode": "文件视图模式",
431
+ "i18n.compareHead": "比较工作区与 HEAD",
432
+ "i18n.mentionSelectedLines": "提及所选行",
433
+ "i18n.disableWrap": "禁用自动换行",
434
+ "i18n.enableWrap": "启用自动换行",
435
+ "i18n.htmlPreview": "HTML 预览",
436
+ "i18n.previewFile": "预览 {file}",
437
+ "i18n.invalidMermaid": "Mermaid 图表无效",
438
+ "i18n.renderingMermaid": "正在渲染 Mermaid 图表",
439
+ "i18n.previewAfterStreaming": "流式输出完成后可预览",
440
+ "i18n.showMermaidSource": "显示 Mermaid 源码",
441
+ "i18n.previewMermaid": "预览 Mermaid 图表",
442
+ "i18n.openMermaidViewer": "打开图表查看器",
443
+ "i18n.mermaidViewer": "Mermaid 图表查看器",
444
+ "i18n.mermaidDiagram": "Mermaid 图表",
445
+ "i18n.zoomOut": "缩小",
446
+ "i18n.zoomIn": "放大",
447
+ "i18n.fitToWidth": "适应宽度",
448
+ "models.discoveryFetching": "正在导入模型…",
449
+ "models.discoveryFetch": "导入模型…",
450
+ "models.discoveryFilterPlaceholder": "筛选 {count} 个模型…",
451
+ "models.discoveryFilter": "筛选上游模型",
452
+ "models.discoverySelectShown": "选择当前结果",
453
+ "models.discoveryNoMatches": "没有匹配的模型。",
454
+ "models.discoveryAdded": "已添加",
455
+ "models.discoveryShowing": "显示前 {shown} 个,共 {total} 个",
456
+ "models.discoveryFetched": "已获取 {count} 个模型",
457
+ "models.discoveryAddSelected": "添加所选模型",
458
+ "models.discoveryAddSelectedCount": "添加所选模型({count})",
459
+ "models.catalogSource": "来源:models.dev ↗",
460
+ "models.catalogFilling": "正在填入模型信息…",
461
+ "models.catalogFill": "填入模型信息",
462
+ "models.catalogFilled": "已填入 {count} 个字段",
463
+ "models.catalogNoEmptyFields": "没有需要填入的空字段",
464
+ "models.catalogNoExactMatch": "models.dev 中没有精确匹配",
465
+ "models.catalogPriceProvider": "价格已匹配 Provider {provider}",
466
+ "models.catalogPriceBaseUrl": "价格已按 Base URL 匹配 {provider}",
467
+ "models.catalogPriceConsensus": "价格得到 {support}/{total} 条记录支持",
468
+ "models.catalogPriceUnreliable": "未找到可靠价格",
469
+ "models.catalogUndo": "撤销",
470
+ "models.capabilities": "能力",
471
+ "models.reasoning": "推理 / 思考",
472
+ "models.imageInput": "图片输入",
473
+ "models.modelSpecs": "模型规格",
474
+ "models.contextWindow": "上下文窗口(tokens)",
475
+ "models.maxOutputTokens": "最大输出 tokens",
476
+ "models.costPerMillion": "每百万 tokens 价格",
477
+ "models.costInput": "输入",
478
+ "models.costOutput": "输出",
479
+ "models.costCacheRead": "缓存读取",
480
+ "models.costCacheWrite": "缓存写入",
481
+ "models.notProvided": "未提供",
482
+ "models.editCosts": "编辑价格",
483
+ "models.finishEditingCosts": "完成",
484
+ "models.costAllRequired": "请输入有效的非负价格;留空项将按 0 保存。",
485
+ "models.advancedSettings": "高级设置",
486
+ "models.providerDefaults": "沿用 Provider 默认设置",
487
+ "models.headersSummary": "Headers:{count}",
488
+ "models.compatSummary": "兼容性:{count}",
489
+ "models.thinkingSummary": "思考等级:{count}",
490
+ "models.apiOverride": "API 覆盖",
491
+ "models.headers": "Headers",
492
+ "models.headersHelp": "仅添加到该模型的请求中,并覆盖 Provider 的同名 Header。",
493
+ "models.compatibility": "兼容性",
494
+ "models.deepSeekThinkingCompat": "DeepSeek 思考兼容",
495
+ "models.developerRole": "使用 developer role 传递系统提示词",
496
+ "models.thinkingLevelMap": "思考等级映射",
497
+ "models.clearAll": "全部清除",
498
+ "i18n.testingModel": "正在测试模型连接...",
499
+ "i18n.connected": "已连接",
500
+ "i18n.failed": "失败",
501
+ "i18n.test": "测试",
502
+ "i18n.testConnection": "测试模型连接",
503
+ "i18n.provider": "Provider",
504
+ "i18n.model": "模型",
505
+ "i18n.providerName": "Provider 名称",
506
+ "i18n.rename": "重命名",
507
+ "i18n.default": "默认",
508
+ "i18n.disabled": "已禁用",
509
+ "i18n.noResources": "没有资源",
510
+ "i18n.unknown": "未知",
511
+ "i18n.installedVersion": "已安装 {version}",
512
+ "i18n.configuredVersion": "已配置 {version}",
513
+ "i18n.extensions": "扩展",
514
+ "i18n.prompts": "提示词",
515
+ "i18n.themes": "主题",
516
+ "i18n.resourceCount": "{count}{label}",
517
+ "i18n.extensionShort": "扩展",
518
+ "i18n.skillShort": "技能",
519
+ "i18n.promptShort": "提示词",
520
+ "i18n.themeShort": "主题",
521
+ "i18n.custom": "自定义",
522
+ "i18n.clearAll": "清除全部",
523
+ "i18n.connectedSuccessfully": "连接成功。",
524
+ "i18n.notConnected": "未连接",
525
+ "i18n.configured": "已配置",
526
+ "i18n.notConfigured": "未配置",
527
+ "i18n.openingBrowser": "正在打开浏览器…",
528
+ "i18n.submit": "提交",
529
+ "i18n.login": "登录",
530
+ "i18n.relogin": "重新登录",
531
+ "i18n.disconnect": "断开连接",
532
+ "i18n.networkError": "网络错误",
533
+ "i18n.continuing": "继续中…",
534
+ "i18n.skills": "技能",
535
+ "i18n.plugins": "插件",
536
+ "i18n.addSkill": "添加技能",
537
+ "i18n.addPlugin": "添加插件",
538
+ "i18n.selectSkill": "选择技能",
539
+ "i18n.selectPackage": "选择包",
540
+ "i18n.updateAvailable": "有可用更新",
541
+ "i18n.upToDate": "已是最新",
542
+ "i18n.automaticChecksUnavailable": "自动检查不可用",
543
+ "i18n.checkFailed": "检查失败",
544
+ "i18n.installed": "已安装",
545
+ "i18n.status": "状态",
546
+ "i18n.version": "版本",
547
+ "i18n.package": "包",
548
+ "i18n.resources": "资源",
549
+ "i18n.installedPath": "安装路径",
550
+ "i18n.cwd": "CWD",
551
+ "i18n.resolvedResources": "已解析资源",
552
+ "i18n.reloadSession": "重新加载会话",
553
+ "i18n.reloading": "重新加载中...",
554
+ "i18n.packageRemoved": "包已移除。",
555
+ "i18n.packageInstalled": "包已安装。",
556
+ "i18n.packageUpdated": "包已更新。",
557
+ "i18n.packageDisabled": "包已禁用。",
558
+ "i18n.packageEnabled": "包已启用。",
559
+ "i18n.sessionReloaded": "会话已重新加载。",
560
+ "i18n.thinking": "思考",
561
+ "i18n.largeMessageReveal": "消息内容过大({size})。点击以纯文本查看 — 已禁用 markdown 渲染以避免页面卡顿。",
562
+ "i18n.loadingThinking": "正在加载思考内容...",
563
+ "i18n.copyMessage": "复制消息",
564
+ "i18n.editFromHere": "从此处编辑",
565
+ "i18n.editFromHereTitle": "从此处编辑,此会话内创建分支",
566
+ "i18n.newSession": "新会话",
567
+ "i18n.newSessionTitle": "新会话,从此处创建独立副本",
568
+ "i18n.estimatedTokens": "流式输出期间的估算 Token 数",
569
+ "i18n.noOutput": "(无输出)",
570
+ "i18n.noSummary": "(无摘要)",
571
+ "i18n.conversationCompacted": "会话已压缩",
572
+ "i18n.compactionDescription": "此处之前的会话历史已压缩为以下摘要:",
573
+ "i18n.fileContext": "文件上下文:{details}",
574
+ "i18n.readFiles": "读取的文件",
575
+ "i18n.modifiedFiles": "修改的文件",
576
+ "i18n.hiddenExtensionMessage": "隐藏的扩展消息",
577
+ "i18n.noMessage": "(无消息)",
578
+ "i18n.showExtensionMessage": "显示扩展消息",
579
+ "i18n.collapse": "收起",
580
+ "i18n.expand": "展开",
581
+ "i18n.hideDetails": "隐藏详情",
582
+ "i18n.showDetails": "显示详情",
583
+ "i18n.thinkingUnavailable": "思考内容不可用",
584
+ "i18n.before": "之前",
585
+ "i18n.after": "之后",
586
+ "i18n.sessionComplete": "任务完成",
587
+ "i18n.taskFinished": "任务已完成。",
588
+ "i18n.attentionNeeded": "Pi 需要你的操作",
589
+ "i18n.extensionInputNeeded": "扩展正在等待你的输入。",
590
+ "todo.title": "任务",
591
+ "todo.completed": "已完成",
592
+ "todo.empty": "暂无任务,可以让 agent 添加。",
593
+ "notice.title": "通知",
594
+ "notice.empty": "暂无通知",
595
+ "notice.expand": "展开详情",
596
+ "notice.collapse": "收起",
597
+ "notice.remove": "移除通知",
598
+ "notice.clearAll": "全部清理",
599
+ "terminal.title": "终端",
600
+ "terminal.new": "新建终端",
601
+ "terminal.all": "全部终端",
602
+ "terminal.exited": "已退出",
603
+ "terminal.cleanupDisconnected": "清理失联终端",
604
+ "terminal.empty": "暂无终端会话",
605
+ "terminal.createFirst": "新建终端会话",
606
+ "terminal.close": "结束进程并关闭",
607
+ "terminal.resize": "拖拽调整终端大小",
608
+ "terminal.drag": "拖拽移动终端位置",
609
+ "mcp.sectionTitle": "MCP 服务器",
610
+ "mcp.addButton": "添加MCP",
611
+ "mcp.emptyList": "暂无 MCP 服务器,点击下方\"添加MCP\"创建",
612
+ "mcp.emptyDetail": "选择左侧一个 MCP 服务器,或点击\"添加MCP\"",
613
+ "mcp.itemEnabled": "已启用",
614
+ "mcp.itemDisabled": "已禁用",
615
+ "mcp.addTitle": "添加 MCP 服务器",
616
+ "mcp.editTitle": "编辑 MCP:{name}",
617
+ "mcp.modeBasic": "基础配置",
618
+ "mcp.modeJson": "JSON 高级",
619
+ "mcp.nameLabel": "名称",
620
+ "mcp.namePlaceholder": "如 github",
621
+ "mcp.specLabel": "命令 或 URL(http/https 开头识别为 URL)",
622
+ "mcp.specPlaceholder": "npx -y @modelcontextprotocol/server-github 或 https://example.com/mcp",
623
+ "mcp.argsLabel": "附加参数(可选,空格分隔)",
624
+ "mcp.jsonLabel": "服务器定义(JSON)—— 支持 command/url/socket、args、env、lifecycle、directTools、timeout 等全部字段",
625
+ "mcp.loadingDef": "加载配置中...",
626
+ "mcp.jsonEmpty": "JSON 不能为空",
627
+ "mcp.jsonParseError": "JSON 解析失败:{message}",
628
+ "mcp.jsonNotObject": "JSON 必须是对象,如 {\"command\":\"npx\",\"args\":[\"-y\",\"...\"]}",
629
+ "mcp.jsonNeedsEntry": "JSON 需要包含 command、url 或 socket 之一",
630
+ "mcp.save": "保存",
631
+ "mcp.saveEdit": "保存修改",
632
+ "mcp.saving": "保存中...",
633
+ "mcp.cancel": "取消",
634
+ "mcp.enable": "启用",
635
+ "mcp.disable": "禁用",
636
+ "mcp.disabledBadge": "已禁用",
637
+ "mcp.test": "测试连接",
638
+ "mcp.testing": "测试中...",
639
+ "mcp.edit": "编辑",
640
+ "mcp.delete": "删除",
641
+ "mcp.moveToGlobal": "移动至global",
642
+ "mcp.moveToProject": "移动至project",
643
+ "mcp.kindCommand": "命令",
644
+ "mcp.kindUrl": "URL",
645
+ "mcp.kindSocket": "Socket",
646
+ "mcp.fieldType": "类型",
647
+ "mcp.fieldArgs": "参数",
648
+ "mcp.fieldEnv": "环境变量",
649
+ "mcp.fieldOptions": "选项",
650
+ "mcp.fieldSource": "来源",
651
+ "mcp.fieldCwd": "CWD",
652
+ "mcp.msgEnabled": "已启用 {name}(执行 /reload 生效)",
653
+ "mcp.msgDisabled": "已禁用 {name}(执行 /reload 生效)",
654
+ "mcp.msgDeleted": "已删除 {name}",
655
+ "mcp.msgMoved": "已移动 {name} → {scope}(执行 /reload 生效)",
656
+ "mcp.msgUpdated": "已更新 {name}(执行 /reload 生效)",
657
+ "mcp.msgAdded": "已添加 {name}(执行 /reload 生效)",
658
+ "mcp.msgTestResult": "测试 {name}:{result}",
659
+ "mcp.msgTestError": "测试 {name}:{error}",
660
+ },
661
+ };