diff --git a/apps/web/tests/expected/settings-chrome/plugin-instances.expected.md b/apps/web/tests/expected/settings-chrome/plugin-instances.expected.md
index b4584b0486..239b4855e7 100644
--- a/apps/web/tests/expected/settings-chrome/plugin-instances.expected.md
+++ b/apps/web/tests/expected/settings-chrome/plugin-instances.expected.md
@@ -1,18 +1,20 @@
- list:
- listitem:
- - button "tool-subagent-control, 已启用":
- - strong: tool-subagent-control
- - text: Globally named send_message, interrupt_agent, and list_agents tools over ctx.subagents continuations
+ - button "子智能体控制工具, tool-subagent-control, 已启用":
+ - strong: 子智能体控制工具
+ - text: 让 AI 向子智能体发送消息或中断其运行。
+ - code: tool-subagent-control
- listitem:
- - button "tool-subagent-control/list-agents, tool-subagent-list-agents, 已启用":
- - strong: tool-subagent-control/list-agents
+ - button "子智能体列表工具, tool-subagent-list-agents, 已启用":
+ - strong: 子智能体列表工具
- code: tool-subagent-list-agents
- listitem:
- - button "tool-subagent, 已启用":
- - strong: tool-subagent
- - text: Model-facing subagent delegation tool over the ctx.subagents seam
+ - button "子智能体委派工具, tool-subagent, 已启用":
+ - strong: 子智能体委派工具
+ - text: 让 AI 将任务交给子智能体,并获取运行结果。
+ - code: tool-subagent
- listitem:
- - button "tool-subagent, tool-subagent-fork, 已启用":
- - strong: tool-subagent
- - text: Model-facing subagent delegation tool over the ctx.subagents seam
+ - button "子智能体委派工具, tool-subagent-fork, 已启用":
+ - strong: 子智能体委派工具
+ - text: 让 AI 将任务交给子智能体,并获取运行结果。
- code: tool-subagent-fork
diff --git a/apps/web/tests/expected/settings-chrome/plugins.expected.md b/apps/web/tests/expected/settings-chrome/plugins.expected.md
index 20e096a308..22b5bc2c80 100644
--- a/apps/web/tests/expected/settings-chrome/plugins.expected.md
+++ b/apps/web/tests/expected/settings-chrome/plugins.expected.md
@@ -1,4 +1,5 @@
- listitem:
- - button "tool-subagent, 已启用":
- - strong: tool-subagent
- - text: Model-facing subagent delegation tool over the ctx.subagents seam
+ - button "子智能体委派工具, tool-subagent, 已启用":
+ - strong: 子智能体委派工具
+ - text: 让 AI 将任务交给子智能体,并获取运行结果。
+ - code: tool-subagent
diff --git a/apps/web/tests/settings-chrome.e2e.ts b/apps/web/tests/settings-chrome.e2e.ts
index 2b64c107fc..92f40be225 100644
--- a/apps/web/tests/settings-chrome.e2e.ts
+++ b/apps/web/tests/settings-chrome.e2e.ts
@@ -163,8 +163,8 @@ describe('web e2e: settings modal and General preferences', () => {
expect(await enabledRows.count()).toBeGreaterThan(0)
expect(await enabledRows.getByText('已启用', { exact: true }).count()).toBe(0)
expect(await dialog.locator('[data-plugin-scope="global"] [role="img"][aria-label="运行中"]').count()).toBe(0)
- expect(await dialog.locator('[data-plugin-count]').getAttribute('data-plugin-count'))
- .toBe(String(expectedPluginCount))
+ expect(await dialog.getByText('由 Agent 预设按会话组成', { exact: true }).count()).toBe(1)
+ expect(await dialog.getByText('系统与所有会话共用', { exact: true }).count()).toBe(1)
expect(await dialog.getByRole('button', { name: '内置插件', exact: true }).getAttribute('aria-current')).toBe('true')
// One contribution shows as the page itself, without a tab row.
expect(await dialog.getByRole('tab').count()).toBe(0)
@@ -182,17 +182,11 @@ describe('web e2e: settings modal and General preferences', () => {
] as const
for (const [entryId, status] of instanceRows) {
const row = dialog.locator(`[data-plugin-scope="preset"] [data-plugin-entry="${entryId}"]`)
- // An id that repeats the title adds nothing, so its card shows no chip and its name omits it.
- const repeatsTitle = entryId === 'tool-subagent'
- const name = repeatsTitle ? `tool-subagent, ${status}` : `tool-subagent, ${entryId}, ${status}`
+ const name = `子智能体委派工具, ${entryId}, ${status}`
const trigger = row.getByRole('button', { name, exact: true })
await trigger.waitFor({ timeout: 10_000 })
expect(await trigger.getAttribute('aria-expanded')).toBe('false')
const identity = row.locator('code')
- if (repeatsTitle) {
- expect(await identity.count()).toBe(0)
- continue
- }
expect(await identity.textContent()).toBe(entryId)
expect(await identity.getAttribute('title')).toBe(entryId)
}
@@ -204,7 +198,7 @@ describe('web e2e: settings modal and General preferences', () => {
)
await compareOrRefreshGolden(PLUGIN_INSTANCES_EXPECTED, instancesSnapshot, MODE)
await dialog.getByRole('button', {
- name: 'tool-subagent, tool-subagent-fork, 已启用',
+ name: '子智能体委派工具, tool-subagent-fork, 已启用',
exact: true,
}).click()
expect(await dialog.locator('[data-plugin-entry="tool-subagent-fork"] button')
diff --git a/packages/api/account-controller/locale/en.json b/packages/api/account-controller/locale/en.json
new file mode 100644
index 0000000000..4c7e6dd036
--- /dev/null
+++ b/packages/api/account-controller/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "api-account-controller"
+ }
+}
diff --git a/packages/api/account-controller/locale/zh.json b/packages/api/account-controller/locale/zh.json
new file mode 100644
index 0000000000..f404257eaa
--- /dev/null
+++ b/packages/api/account-controller/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "账号操作接口",
+ "description": "向已认证的客户端提供账号操作能力。"
+ }
+}
diff --git a/packages/api/account-controller/package.json b/packages/api/account-controller/package.json
index 21e34502d8..fd3a002a5d 100644
--- a/packages/api/account-controller/package.json
+++ b/packages/api/account-controller/package.json
@@ -31,9 +31,11 @@
"./remote": {
"types": "./lib/typert.remote-client.d.ts",
"default": "./lib/typert.remote-client.js"
- }
+ },
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts",
diff --git a/packages/api/gateway/locale/en.json b/packages/api/gateway/locale/en.json
new file mode 100644
index 0000000000..3aaa997318
--- /dev/null
+++ b/packages/api/gateway/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "api-gateway"
+ }
+}
diff --git a/packages/api/gateway/locale/zh.json b/packages/api/gateway/locale/zh.json
new file mode 100644
index 0000000000..616ee05866
--- /dev/null
+++ b/packages/api/gateway/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "远程调用网关",
+ "description": "接收客户端的接口调用,并分发给对应的服务。"
+ }
+}
diff --git a/packages/api/gateway/package.json b/packages/api/gateway/package.json
index d6fe3d21a2..d4469cf8cd 100644
--- a/packages/api/gateway/package.json
+++ b/packages/api/gateway/package.json
@@ -31,7 +31,8 @@
"./stream-protocol": {
"types": "./lib/types/stream-protocol.d.ts",
"default": "./lib/types/stream-protocol.js"
- }
+ },
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -48,6 +49,7 @@
"watch": "tsdown --watch"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.js",
diff --git a/packages/api/job-controller/locale/en.json b/packages/api/job-controller/locale/en.json
new file mode 100644
index 0000000000..87cdb55a70
--- /dev/null
+++ b/packages/api/job-controller/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "api-job-controller"
+ }
+}
diff --git a/packages/api/job-controller/locale/zh.json b/packages/api/job-controller/locale/zh.json
new file mode 100644
index 0000000000..1d7b6c6e65
--- /dev/null
+++ b/packages/api/job-controller/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "后台任务观察接口",
+ "description": "向客户端持续提供后台任务的状态和输出。"
+ }
+}
diff --git a/packages/api/job-controller/package.json b/packages/api/job-controller/package.json
index 233b307dbd..a82912d8bf 100644
--- a/packages/api/job-controller/package.json
+++ b/packages/api/job-controller/package.json
@@ -35,7 +35,8 @@
"default": "./lib/typert.remote-client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -54,6 +55,7 @@
"watch": "tsdown --watch"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.js",
diff --git a/packages/api/remotes/locale/en.json b/packages/api/remotes/locale/en.json
new file mode 100644
index 0000000000..cc9009975d
--- /dev/null
+++ b/packages/api/remotes/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "api-remotes"
+ }
+}
diff --git a/packages/api/remotes/locale/zh.json b/packages/api/remotes/locale/zh.json
new file mode 100644
index 0000000000..222afebaf9
--- /dev/null
+++ b/packages/api/remotes/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "客户端 API 汇总",
+ "description": "汇总应用向客户端开放的服务端能力。"
+ }
+}
diff --git a/packages/api/remotes/package.json b/packages/api/remotes/package.json
index ccf1611794..1ac78ce12f 100644
--- a/packages/api/remotes/package.json
+++ b/packages/api/remotes/package.json
@@ -27,7 +27,8 @@
"default": "./lib/types/types.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -44,6 +45,7 @@
},
"license": "MIT",
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.js",
diff --git a/packages/api/session-controller/locale/en.json b/packages/api/session-controller/locale/en.json
new file mode 100644
index 0000000000..3be8df2f2f
--- /dev/null
+++ b/packages/api/session-controller/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "api-session-controller"
+ }
+}
diff --git a/packages/api/session-controller/locale/zh.json b/packages/api/session-controller/locale/zh.json
new file mode 100644
index 0000000000..48389bed43
--- /dev/null
+++ b/packages/api/session-controller/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "会话控制接口",
+ "description": "向客户端提供会话读取、运行控制和状态更新能力。"
+ }
+}
diff --git a/packages/api/session-controller/package.json b/packages/api/session-controller/package.json
index f8948c3aa1..436b151bbb 100644
--- a/packages/api/session-controller/package.json
+++ b/packages/api/session-controller/package.json
@@ -39,7 +39,8 @@
"default": "./lib/typert.remote-client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -58,6 +59,7 @@
"watch": "tsdown --watch"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.js",
diff --git a/packages/api/settings-controller/locale/en.json b/packages/api/settings-controller/locale/en.json
new file mode 100644
index 0000000000..ccd029abde
--- /dev/null
+++ b/packages/api/settings-controller/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "api-settings-controller"
+ }
+}
diff --git a/packages/api/settings-controller/locale/zh.json b/packages/api/settings-controller/locale/zh.json
new file mode 100644
index 0000000000..5e1155ba4d
--- /dev/null
+++ b/packages/api/settings-controller/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "设置读写接口",
+ "description": "向客户端提供各项设置的读取与修改能力。"
+ }
+}
diff --git a/packages/api/settings-controller/package.json b/packages/api/settings-controller/package.json
index da78f22942..6c72102b61 100644
--- a/packages/api/settings-controller/package.json
+++ b/packages/api/settings-controller/package.json
@@ -31,9 +31,11 @@
"default": "./lib/typert.remote-client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts",
diff --git a/packages/api/terminal-controller/locale/en.json b/packages/api/terminal-controller/locale/en.json
new file mode 100644
index 0000000000..a505798bad
--- /dev/null
+++ b/packages/api/terminal-controller/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "api-terminal-controller"
+ }
+}
diff --git a/packages/api/terminal-controller/locale/zh.json b/packages/api/terminal-controller/locale/zh.json
new file mode 100644
index 0000000000..777c03f31c
--- /dev/null
+++ b/packages/api/terminal-controller/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "终端控制接口",
+ "description": "向客户端提供会话终端的创建、输入、读取和恢复能力。"
+ }
+}
diff --git a/packages/api/terminal-controller/package.json b/packages/api/terminal-controller/package.json
index 05d21aeb4a..d9ade0d77a 100644
--- a/packages/api/terminal-controller/package.json
+++ b/packages/api/terminal-controller/package.json
@@ -35,7 +35,8 @@
"default": "./lib/typert.remote-client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -84,6 +85,7 @@
"@deepseek-ai/dsh-working-directory": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.js",
diff --git a/packages/api/workspace-controller/locale/en.json b/packages/api/workspace-controller/locale/en.json
new file mode 100644
index 0000000000..233cc2ae0c
--- /dev/null
+++ b/packages/api/workspace-controller/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "api-workspace-controller"
+ }
+}
diff --git a/packages/api/workspace-controller/locale/zh.json b/packages/api/workspace-controller/locale/zh.json
new file mode 100644
index 0000000000..43275acd31
--- /dev/null
+++ b/packages/api/workspace-controller/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "工作区控制接口",
+ "description": "向客户端提供工作区操作和可在重连后恢复的状态。"
+ }
+}
diff --git a/packages/api/workspace-controller/package.json b/packages/api/workspace-controller/package.json
index 70ccb57c74..ac9d45a3e1 100644
--- a/packages/api/workspace-controller/package.json
+++ b/packages/api/workspace-controller/package.json
@@ -39,7 +39,8 @@
"default": "./lib/typert.remote-client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -58,6 +59,7 @@
"watch": "tsdown --watch"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.js",
diff --git a/packages/api/workspace-files/locale/en.json b/packages/api/workspace-files/locale/en.json
new file mode 100644
index 0000000000..63caa3de7d
--- /dev/null
+++ b/packages/api/workspace-files/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "api-workspace-files"
+ }
+}
diff --git a/packages/api/workspace-files/locale/zh.json b/packages/api/workspace-files/locale/zh.json
new file mode 100644
index 0000000000..eebfab4170
--- /dev/null
+++ b/packages/api/workspace-files/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "工作区文件接口",
+ "description": "提供工作区文件读取、目录列表和文件信息更新。"
+ }
+}
diff --git a/packages/api/workspace-files/package.json b/packages/api/workspace-files/package.json
index b29114ae0a..f77a965ad0 100644
--- a/packages/api/workspace-files/package.json
+++ b/packages/api/workspace-files/package.json
@@ -35,7 +35,8 @@
"default": "./lib/typert.remote-client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -74,6 +75,7 @@
"@deepseek-ai/dsh-util-workspace-path": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.js",
diff --git a/packages/attachment/attachment-local/locale/en.json b/packages/attachment/attachment-local/locale/en.json
new file mode 100644
index 0000000000..7d67c258a1
--- /dev/null
+++ b/packages/attachment/attachment-local/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "attachment-local"
+ }
+}
diff --git a/packages/attachment/attachment-local/locale/zh.json b/packages/attachment/attachment-local/locale/zh.json
new file mode 100644
index 0000000000..c0116cbbfe
--- /dev/null
+++ b/packages/attachment/attachment-local/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "本地附件存储",
+ "description": "保存会话中的图片等附件,并按内容标识读取。"
+ }
+}
diff --git a/packages/attachment/attachment-local/package.json b/packages/attachment/attachment-local/package.json
index 27f50c5174..f40c826a40 100644
--- a/packages/attachment/attachment-local/package.json
+++ b/packages/attachment/attachment-local/package.json
@@ -14,11 +14,19 @@
"main": "lib/index.js",
"types": "lib/types/index.d.ts",
"exports": {
- ".": { "types": "./lib/types/index.d.ts", "default": "./lib/index.js" },
+ ".": {
+ "types": "./lib/types/index.d.ts",
+ "default": "./lib/index.js"
+ },
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
- "files": ["lib/index.js", "lib/types/**/*.d.ts"],
+ "files": [
+ "locale/*.json",
+ "lib/index.js",
+ "lib/types/**/*.d.ts"
+ ],
"license": "MIT",
"peerDependencies": {
"@deepseek-ai/dsh-attachment": "workspace:*",
diff --git a/packages/boot/config-editor/locale/en.json b/packages/boot/config-editor/locale/en.json
new file mode 100644
index 0000000000..ac0e222f08
--- /dev/null
+++ b/packages/boot/config-editor/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "config-editor"
+ }
+}
diff --git a/packages/boot/config-editor/locale/zh.json b/packages/boot/config-editor/locale/zh.json
new file mode 100644
index 0000000000..11a55507d9
--- /dev/null
+++ b/packages/boot/config-editor/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "插件配置编辑",
+ "description": "保存插件配置,并将变更应用到当前运行配置。"
+ }
+}
diff --git a/packages/boot/config-editor/package.json b/packages/boot/config-editor/package.json
index 2c61a7583d..9d5e4dd44e 100644
--- a/packages/boot/config-editor/package.json
+++ b/packages/boot/config-editor/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/boot/hmr/locale/en.json b/packages/boot/hmr/locale/en.json
new file mode 100644
index 0000000000..47f242be8c
--- /dev/null
+++ b/packages/boot/hmr/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "hmr"
+ }
+}
diff --git a/packages/boot/hmr/locale/zh.json b/packages/boot/hmr/locale/zh.json
new file mode 100644
index 0000000000..f216cf3442
--- /dev/null
+++ b/packages/boot/hmr/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "插件热重载",
+ "description": "在应用运行期间重新加载插件代码和配置。"
+ }
+}
diff --git a/packages/boot/hmr/package.json b/packages/boot/hmr/package.json
index 403fe5ed76..5c86376b65 100644
--- a/packages/boot/hmr/package.json
+++ b/packages/boot/hmr/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/boot/plugin-manager/locale/en.json b/packages/boot/plugin-manager/locale/en.json
new file mode 100644
index 0000000000..094967d50f
--- /dev/null
+++ b/packages/boot/plugin-manager/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "plugin-manager"
+ }
+}
diff --git a/packages/boot/plugin-manager/locale/tools/en.json b/packages/boot/plugin-manager/locale/tools/en.json
new file mode 100644
index 0000000000..2fdfce031d
--- /dev/null
+++ b/packages/boot/plugin-manager/locale/tools/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "plugin-manager/tools"
+ }
+}
diff --git a/packages/boot/plugin-manager/locale/tools/zh.json b/packages/boot/plugin-manager/locale/tools/zh.json
new file mode 100644
index 0000000000..ab001f0ccb
--- /dev/null
+++ b/packages/boot/plugin-manager/locale/tools/zh.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "插件管理工具"
+ }
+}
diff --git a/packages/boot/plugin-manager/locale/zh.json b/packages/boot/plugin-manager/locale/zh.json
new file mode 100644
index 0000000000..e5ffb5869b
--- /dev/null
+++ b/packages/boot/plugin-manager/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "插件管理服务",
+ "description": "管理当前运行配置中的插件与插件包,支持安装、移除和启停。"
+ }
+}
diff --git a/packages/boot/plugin-manager/package.json b/packages/boot/plugin-manager/package.json
index d75e0ce99f..756d5adb93 100644
--- a/packages/boot/plugin-manager/package.json
+++ b/packages/boot/plugin-manager/package.json
@@ -43,9 +43,13 @@
"./tools": {
"types": "./lib/types/tools.d.ts",
"default": "./lib/types/tools.js"
- }
+ },
+ "./tools/locale/*.json": "./locale/tools/*.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
+ "locale/tools/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts",
diff --git a/packages/bundle/web-app/locale/en.json b/packages/bundle/web-app/locale/en.json
new file mode 100644
index 0000000000..38435d75ce
--- /dev/null
+++ b/packages/bundle/web-app/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "web-app"
+ }
+}
diff --git a/packages/bundle/web-app/locale/startup/en.json b/packages/bundle/web-app/locale/startup/en.json
new file mode 100644
index 0000000000..517b230f59
--- /dev/null
+++ b/packages/bundle/web-app/locale/startup/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "web-app/startup"
+ }
+}
diff --git a/packages/bundle/web-app/locale/startup/zh.json b/packages/bundle/web-app/locale/startup/zh.json
new file mode 100644
index 0000000000..71c9dfc066
--- /dev/null
+++ b/packages/bundle/web-app/locale/startup/zh.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "Web 启动配置"
+ }
+}
diff --git a/packages/bundle/web-app/locale/zh.json b/packages/bundle/web-app/locale/zh.json
new file mode 100644
index 0000000000..c224b7e344
--- /dev/null
+++ b/packages/bundle/web-app/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "Web 应用运行支持",
+ "description": "提供前端页面资源,并连接 Web 应用所需的运行配置。"
+ }
+}
diff --git a/packages/bundle/web-app/package.json b/packages/bundle/web-app/package.json
index deb1a2ac05..dd002b596b 100644
--- a/packages/bundle/web-app/package.json
+++ b/packages/bundle/web-app/package.json
@@ -25,9 +25,13 @@
"./cordis.patch.yml": "./cordis.patch.yml",
"./presets/*.patch.yml": "./presets/*.patch.yml",
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./startup/locale/*.json": "./locale/startup/*.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
+ "locale/startup/*.json",
"lib/index.js",
"lib/startup.js",
"cordis.patch.yml",
diff --git a/packages/client/connection/locale/en.json b/packages/client/connection/locale/en.json
new file mode 100644
index 0000000000..85615ed94d
--- /dev/null
+++ b/packages/client/connection/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "connection"
+ }
+}
diff --git a/packages/client/connection/locale/zh.json b/packages/client/connection/locale/zh.json
new file mode 100644
index 0000000000..642e58d1cd
--- /dev/null
+++ b/packages/client/connection/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "客户端连接",
+ "description": "建立已认证的客户端通信,并管理连接生命周期。"
+ }
+}
diff --git a/packages/client/connection/package.json b/packages/client/connection/package.json
index bcd37df919..21e395fb6f 100644
--- a/packages/client/connection/package.json
+++ b/packages/client/connection/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -39,6 +40,7 @@
"zod": "4.4.3"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/file-upload/locale/en.json b/packages/client/file-upload/locale/en.json
new file mode 100644
index 0000000000..1a2719ee6c
--- /dev/null
+++ b/packages/client/file-upload/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "file-upload"
+ }
+}
diff --git a/packages/client/file-upload/locale/zh.json b/packages/client/file-upload/locale/zh.json
new file mode 100644
index 0000000000..5a330e6b60
--- /dev/null
+++ b/packages/client/file-upload/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "文件上传",
+ "description": "将浏览器中的文件上传到当前会话,供消息和工具使用。"
+ }
+}
diff --git a/packages/client/file-upload/package.json b/packages/client/file-upload/package.json
index 027de0b95a..7c5f43b873 100644
--- a/packages/client/file-upload/package.json
+++ b/packages/client/file-upload/package.json
@@ -35,7 +35,8 @@
"default": "./lib/typert.remote-client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -52,6 +53,7 @@
},
"license": "MIT",
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.js",
diff --git a/packages/client/hmr/locale/en.json b/packages/client/hmr/locale/en.json
new file mode 100644
index 0000000000..47f242be8c
--- /dev/null
+++ b/packages/client/hmr/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "hmr"
+ }
+}
diff --git a/packages/client/hmr/locale/zh.json b/packages/client/hmr/locale/zh.json
new file mode 100644
index 0000000000..28262e2f7c
--- /dev/null
+++ b/packages/client/hmr/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "Web 客户端热更新",
+ "description": "同步浏览器中的插件,并在代码重建后更新相关界面。"
+ }
+}
diff --git a/packages/client/hmr/package.json b/packages/client/hmr/package.json
index f87c12fca4..3fd0ca2c4d 100644
--- a/packages/client/hmr/package.json
+++ b/packages/client/hmr/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -48,6 +49,7 @@
"@deepseek-ai/cordis": "workspace:~"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/locale/locale/en.json b/packages/client/locale/locale/en.json
new file mode 100644
index 0000000000..9f4e0d1c02
--- /dev/null
+++ b/packages/client/locale/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "locale"
+ }
+}
diff --git a/packages/client/locale/locale/zh.json b/packages/client/locale/locale/zh.json
new file mode 100644
index 0000000000..8fa3c8e462
--- /dev/null
+++ b/packages/client/locale/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "界面语言",
+ "description": "管理界面语言偏好和各插件的翻译文案。"
+ }
+}
diff --git a/packages/client/locale/package.json b/packages/client/locale/package.json
index 7027a879cb..e04ed4efd9 100644
--- a/packages/client/locale/package.json
+++ b/packages/client/locale/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -60,6 +61,7 @@
"@deepseek-ai/schemastery": "workspace:~"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/modules/locale/en.json b/packages/client/modules/locale/en.json
new file mode 100644
index 0000000000..cd77943573
--- /dev/null
+++ b/packages/client/modules/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "modules"
+ }
+}
diff --git a/packages/client/modules/locale/zh.json b/packages/client/modules/locale/zh.json
new file mode 100644
index 0000000000..d24fc0c1fd
--- /dev/null
+++ b/packages/client/modules/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "客户端模块加载",
+ "description": "管理浏览器插件模块及其加载依赖。"
+ }
+}
diff --git a/packages/client/modules/package.json b/packages/client/modules/package.json
index c5235aa379..c9d0440c04 100644
--- a/packages/client/modules/package.json
+++ b/packages/client/modules/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -45,6 +46,7 @@
"@deepseek-ai/dsh-client-store": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/product-analytics/locale/en.json b/packages/client/product-analytics/locale/en.json
new file mode 100644
index 0000000000..0351b24e9f
--- /dev/null
+++ b/packages/client/product-analytics/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "product-analytics"
+ }
+}
diff --git a/packages/client/product-analytics/locale/zh.json b/packages/client/product-analytics/locale/zh.json
new file mode 100644
index 0000000000..6740088981
--- /dev/null
+++ b/packages/client/product-analytics/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "桌面端使用统计",
+ "description": "采集桌面端指定交互事件,并提交给产品统计服务。"
+ }
+}
diff --git a/packages/client/product-analytics/package.json b/packages/client/product-analytics/package.json
index 0b35b21571..a8240ccc6b 100644
--- a/packages/client/product-analytics/package.json
+++ b/packages/client/product-analytics/package.json
@@ -34,7 +34,8 @@
},
"./types": {
"types": "./lib/types/events.d.ts"
- }
+ },
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -66,6 +67,7 @@
"@deepseek-ai/dsh-otel": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts",
diff --git a/packages/client/resources/locale/en.json b/packages/client/resources/locale/en.json
new file mode 100644
index 0000000000..8350a2a390
--- /dev/null
+++ b/packages/client/resources/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "resources"
+ }
+}
diff --git a/packages/client/resources/locale/zh.json b/packages/client/resources/locale/zh.json
new file mode 100644
index 0000000000..4a9685490b
--- /dev/null
+++ b/packages/client/resources/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "客户端资源服务",
+ "description": "将文件等资源地址解析为可供界面读取的内容。"
+ }
+}
diff --git a/packages/client/resources/package.json b/packages/client/resources/package.json
index 9664423589..1790c6ac68 100644
--- a/packages/client/resources/package.json
+++ b/packages/client/resources/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -50,6 +51,7 @@
"@deepseek-ai/dsh-typert-protocol": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/shortcuts/locale/en.json b/packages/client/shortcuts/locale/en.json
new file mode 100644
index 0000000000..b79351a738
--- /dev/null
+++ b/packages/client/shortcuts/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "shortcuts"
+ }
+}
diff --git a/packages/client/shortcuts/locale/zh.json b/packages/client/shortcuts/locale/zh.json
new file mode 100644
index 0000000000..9bcdbae433
--- /dev/null
+++ b/packages/client/shortcuts/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "快捷键服务",
+ "description": "注册应用快捷键,并将按键操作分发到对应功能。"
+ }
+}
diff --git a/packages/client/shortcuts/package.json b/packages/client/shortcuts/package.json
index 0d9165439d..8bc13120c6 100644
--- a/packages/client/shortcuts/package.json
+++ b/packages/client/shortcuts/package.json
@@ -27,7 +27,8 @@
"./protocol": {
"types": "./lib/types/protocol.d.ts",
"default": "./lib/protocol.js"
- }
+ },
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -55,6 +56,7 @@
"@deepseek-ai/dsh-host-webserver": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/protocol.js",
diff --git a/packages/client/ui-agent-preset/locale/en.json b/packages/client/ui-agent-preset/locale/en.json
new file mode 100644
index 0000000000..6cb010026a
--- /dev/null
+++ b/packages/client/ui-agent-preset/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-agent-preset"
+ }
+}
diff --git a/packages/client/ui-agent-preset/locale/zh.json b/packages/client/ui-agent-preset/locale/zh.json
new file mode 100644
index 0000000000..4e8dd6b04d
--- /dev/null
+++ b/packages/client/ui-agent-preset/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "Agent 预设界面",
+ "description": "选择当前及新会话的 Agent 预设,并编辑预设使用的插件。"
+ }
+}
diff --git a/packages/client/ui-agent-preset/package.json b/packages/client/ui-agent-preset/package.json
index 10eab5b9d8..3549bf1ad5 100644
--- a/packages/client/ui-agent-preset/package.json
+++ b/packages/client/ui-agent-preset/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -71,6 +72,7 @@
"react": "^18.2.0"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-approval/locale/en.json b/packages/client/ui-approval/locale/en.json
new file mode 100644
index 0000000000..48c1a5785f
--- /dev/null
+++ b/packages/client/ui-approval/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-approval"
+ }
+}
diff --git a/packages/client/ui-approval/locale/zh.json b/packages/client/ui-approval/locale/zh.json
new file mode 100644
index 0000000000..e93a40b026
--- /dev/null
+++ b/packages/client/ui-approval/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "操作审批界面",
+ "description": "展示待审批的操作,并将用户选择返回给运行中的任务。"
+ }
+}
diff --git a/packages/client/ui-approval/package.json b/packages/client/ui-approval/package.json
index 3d34e53fbf..19e91693f8 100644
--- a/packages/client/ui-approval/package.json
+++ b/packages/client/ui-approval/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -64,6 +65,7 @@
"@deepseek-ai/dsh-client-shortcuts": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-attachment/locale/en.json b/packages/client/ui-attachment/locale/en.json
new file mode 100644
index 0000000000..5d1be6fe24
--- /dev/null
+++ b/packages/client/ui-attachment/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-attachment"
+ }
+}
diff --git a/packages/client/ui-attachment/locale/zh.json b/packages/client/ui-attachment/locale/zh.json
new file mode 100644
index 0000000000..13fe1edf53
--- /dev/null
+++ b/packages/client/ui-attachment/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "附件展示",
+ "description": "在消息输入、对话和运行记录中展示附件与图片。"
+ }
+}
diff --git a/packages/client/ui-attachment/package.json b/packages/client/ui-attachment/package.json
index 8e18afbe65..560c06b817 100644
--- a/packages/client/ui-attachment/package.json
+++ b/packages/client/ui-attachment/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -59,6 +60,7 @@
"clsx": "^2.0.0"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-brand-official/locale/en.json b/packages/client/ui-brand-official/locale/en.json
new file mode 100644
index 0000000000..09781290d4
--- /dev/null
+++ b/packages/client/ui-brand-official/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-brand-official"
+ }
+}
diff --git a/packages/client/ui-brand-official/locale/zh.json b/packages/client/ui-brand-official/locale/zh.json
new file mode 100644
index 0000000000..479797b84e
--- /dev/null
+++ b/packages/client/ui-brand-official/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "DeepSeek 品牌展示",
+ "description": "在应用侧栏等位置展示官方品牌元素。"
+ }
+}
diff --git a/packages/client/ui-brand-official/package.json b/packages/client/ui-brand-official/package.json
index deadad2ad5..263c0eef6a 100644
--- a/packages/client/ui-brand-official/package.json
+++ b/packages/client/ui-brand-official/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -53,6 +54,7 @@
"react-dom": "^18.2.0"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-chat/locale/en.json b/packages/client/ui-chat/locale/en.json
new file mode 100644
index 0000000000..a07944e34f
--- /dev/null
+++ b/packages/client/ui-chat/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-chat"
+ }
+}
diff --git a/packages/client/ui-chat/locale/zh.json b/packages/client/ui-chat/locale/zh.json
new file mode 100644
index 0000000000..bece9e8048
--- /dev/null
+++ b/packages/client/ui-chat/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "聊天内容展示",
+ "description": "渲染聊天消息、工具内容和相关详情。"
+ }
+}
diff --git a/packages/client/ui-chat/package.json b/packages/client/ui-chat/package.json
index a738710edb..911f15930d 100644
--- a/packages/client/ui-chat/package.json
+++ b/packages/client/ui-chat/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -99,6 +100,7 @@
"@deepseek-ai/schemastery": "workspace:~"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-commands/locale/en.json b/packages/client/ui-commands/locale/en.json
new file mode 100644
index 0000000000..e7d16ed4e8
--- /dev/null
+++ b/packages/client/ui-commands/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-commands"
+ }
+}
diff --git a/packages/client/ui-commands/locale/zh.json b/packages/client/ui-commands/locale/zh.json
new file mode 100644
index 0000000000..ea7b9303f5
--- /dev/null
+++ b/packages/client/ui-commands/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "命令选择界面",
+ "description": "在输入框中提供斜杠命令菜单和相关操作界面。"
+ }
+}
diff --git a/packages/client/ui-commands/package.json b/packages/client/ui-commands/package.json
index 8fc1e03aea..c78a7e0495 100644
--- a/packages/client/ui-commands/package.json
+++ b/packages/client/ui-commands/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -66,6 +67,7 @@
"clsx": "^2.0.0"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-conversation/locale/en.json b/packages/client/ui-conversation/locale/en.json
new file mode 100644
index 0000000000..918f717ecd
--- /dev/null
+++ b/packages/client/ui-conversation/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-conversation"
+ }
+}
diff --git a/packages/client/ui-conversation/locale/zh.json b/packages/client/ui-conversation/locale/zh.json
new file mode 100644
index 0000000000..a48a705f37
--- /dev/null
+++ b/packages/client/ui-conversation/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "会话界面框架",
+ "description": "组织对话内容、输入框、消息队列和视图导航。"
+ }
+}
diff --git a/packages/client/ui-conversation/package.json b/packages/client/ui-conversation/package.json
index 20d6dd56b6..1576ea9f49 100644
--- a/packages/client/ui-conversation/package.json
+++ b/packages/client/ui-conversation/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -100,6 +101,7 @@
"@deepseek-ai/dsh-client-product-analytics": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-deliverables/locale/en.json b/packages/client/ui-deliverables/locale/en.json
new file mode 100644
index 0000000000..109082cbc5
--- /dev/null
+++ b/packages/client/ui-deliverables/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-deliverables"
+ }
+}
diff --git a/packages/client/ui-deliverables/locale/zh.json b/packages/client/ui-deliverables/locale/zh.json
new file mode 100644
index 0000000000..a353e74262
--- /dev/null
+++ b/packages/client/ui-deliverables/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "文件变更与交付展示",
+ "description": "展示修改过的文件、内容对比和交付文件入口。"
+ }
+}
diff --git a/packages/client/ui-deliverables/package.json b/packages/client/ui-deliverables/package.json
index 22a27a2cbf..be986d9f63 100644
--- a/packages/client/ui-deliverables/package.json
+++ b/packages/client/ui-deliverables/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -83,6 +84,7 @@
"@deepseek-ai/dsh-client-ui-settings": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-directory-picker-browse/locale/en.json b/packages/client/ui-directory-picker-browse/locale/en.json
new file mode 100644
index 0000000000..66fe08e059
--- /dev/null
+++ b/packages/client/ui-directory-picker-browse/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-directory-picker-browse"
+ }
+}
diff --git a/packages/client/ui-directory-picker-browse/locale/zh.json b/packages/client/ui-directory-picker-browse/locale/zh.json
new file mode 100644
index 0000000000..8504fe7c3e
--- /dev/null
+++ b/packages/client/ui-directory-picker-browse/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "应用内目录选择界面",
+ "description": "在应用中浏览、创建并选择工作区目录。"
+ }
+}
diff --git a/packages/client/ui-directory-picker-browse/package.json b/packages/client/ui-directory-picker-browse/package.json
index 5d6e0a6e40..f8802bca27 100644
--- a/packages/client/ui-directory-picker-browse/package.json
+++ b/packages/client/ui-directory-picker-browse/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -60,6 +61,7 @@
"clsx": "^2.0.0"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-directory-picker-native/locale/en.json b/packages/client/ui-directory-picker-native/locale/en.json
new file mode 100644
index 0000000000..766bf26c75
--- /dev/null
+++ b/packages/client/ui-directory-picker-native/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-directory-picker-native"
+ }
+}
diff --git a/packages/client/ui-directory-picker-native/locale/zh.json b/packages/client/ui-directory-picker-native/locale/zh.json
new file mode 100644
index 0000000000..37a5e9e944
--- /dev/null
+++ b/packages/client/ui-directory-picker-native/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "系统目录选择界面",
+ "description": "连接工作区选择入口与系统目录选择对话框。"
+ }
+}
diff --git a/packages/client/ui-directory-picker-native/package.json b/packages/client/ui-directory-picker-native/package.json
index a8a691d11e..c1d7acd92d 100644
--- a/packages/client/ui-directory-picker-native/package.json
+++ b/packages/client/ui-directory-picker-native/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -53,6 +54,7 @@
"react-dom": "^18.2.0"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-goal/locale/en.json b/packages/client/ui-goal/locale/en.json
new file mode 100644
index 0000000000..adb8f958d3
--- /dev/null
+++ b/packages/client/ui-goal/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-goal"
+ }
+}
diff --git a/packages/client/ui-goal/locale/zh.json b/packages/client/ui-goal/locale/zh.json
new file mode 100644
index 0000000000..b3b7b06c6c
--- /dev/null
+++ b/packages/client/ui-goal/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "会话目标栏",
+ "description": "在输入框上方展示当前会话的目标和状态。"
+ }
+}
diff --git a/packages/client/ui-goal/package.json b/packages/client/ui-goal/package.json
index b870e57a12..4408b4ce11 100644
--- a/packages/client/ui-goal/package.json
+++ b/packages/client/ui-goal/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -69,6 +70,7 @@
"@deepseek-ai/dsh-typert-protocol": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-input-trigger/locale/en.json b/packages/client/ui-input-trigger/locale/en.json
new file mode 100644
index 0000000000..9f4b0f089e
--- /dev/null
+++ b/packages/client/ui-input-trigger/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-input-trigger"
+ }
+}
diff --git a/packages/client/ui-input-trigger/locale/zh.json b/packages/client/ui-input-trigger/locale/zh.json
new file mode 100644
index 0000000000..98e40ff417
--- /dev/null
+++ b/packages/client/ui-input-trigger/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "输入联想服务",
+ "description": "识别输入中的 / 和 @,展示并选择对应候选项。"
+ }
+}
diff --git a/packages/client/ui-input-trigger/package.json b/packages/client/ui-input-trigger/package.json
index 20f69f5410..2cbaa42e92 100644
--- a/packages/client/ui-input-trigger/package.json
+++ b/packages/client/ui-input-trigger/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -63,6 +64,7 @@
"clsx": "^2.0.0"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-jobs/locale/en.json b/packages/client/ui-jobs/locale/en.json
new file mode 100644
index 0000000000..7df9995cd8
--- /dev/null
+++ b/packages/client/ui-jobs/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-jobs"
+ }
+}
diff --git a/packages/client/ui-jobs/locale/zh.json b/packages/client/ui-jobs/locale/zh.json
new file mode 100644
index 0000000000..1f9b7ce1fd
--- /dev/null
+++ b/packages/client/ui-jobs/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "后台任务界面",
+ "description": "在会话中查看后台任务列表、状态和实时输出。"
+ }
+}
diff --git a/packages/client/ui-jobs/package.json b/packages/client/ui-jobs/package.json
index 6b4133b618..d69c2c231e 100644
--- a/packages/client/ui-jobs/package.json
+++ b/packages/client/ui-jobs/package.json
@@ -15,7 +15,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"scripts": {
"bundle": "tsdown",
@@ -51,6 +52,7 @@
"react-dom": "^18.2.0"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-layout/locale/en.json b/packages/client/ui-layout/locale/en.json
new file mode 100644
index 0000000000..4ade97b55d
--- /dev/null
+++ b/packages/client/ui-layout/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-layout"
+ }
+}
diff --git a/packages/client/ui-layout/locale/zh.json b/packages/client/ui-layout/locale/zh.json
new file mode 100644
index 0000000000..2c3d490308
--- /dev/null
+++ b/packages/client/ui-layout/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "应用布局",
+ "description": "组织导航、会话和侧边面板,并支持拖动调整布局。"
+ }
+}
diff --git a/packages/client/ui-layout/package.json b/packages/client/ui-layout/package.json
index 95ccfd9040..3ecf9b5ae2 100644
--- a/packages/client/ui-layout/package.json
+++ b/packages/client/ui-layout/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -59,6 +60,7 @@
"@deepseek-ai/dsh-client-shortcuts": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-message-feedback/locale/en.json b/packages/client/ui-message-feedback/locale/en.json
new file mode 100644
index 0000000000..b49bdc23e2
--- /dev/null
+++ b/packages/client/ui-message-feedback/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-message-feedback"
+ }
+}
diff --git a/packages/client/ui-message-feedback/locale/zh.json b/packages/client/ui-message-feedback/locale/zh.json
new file mode 100644
index 0000000000..b984fc9e3e
--- /dev/null
+++ b/packages/client/ui-message-feedback/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "消息反馈界面",
+ "description": "提供回复的赞踩按钮及会话反馈弹窗。"
+ }
+}
diff --git a/packages/client/ui-message-feedback/package.json b/packages/client/ui-message-feedback/package.json
index 74db6f0f49..35dad7870b 100644
--- a/packages/client/ui-message-feedback/package.json
+++ b/packages/client/ui-message-feedback/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -71,6 +72,7 @@
"@deepseek-ai/dsh-client-store": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-model-selection/locale/en.json b/packages/client/ui-model-selection/locale/en.json
new file mode 100644
index 0000000000..5289394629
--- /dev/null
+++ b/packages/client/ui-model-selection/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-model-selection"
+ }
+}
diff --git a/packages/client/ui-model-selection/locale/zh.json b/packages/client/ui-model-selection/locale/zh.json
new file mode 100644
index 0000000000..66c2779ca6
--- /dev/null
+++ b/packages/client/ui-model-selection/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "模型选择界面",
+ "description": "查看可用模型,并切换当前会话使用的模型。"
+ }
+}
diff --git a/packages/client/ui-model-selection/package.json b/packages/client/ui-model-selection/package.json
index 9775cdb5e3..b932b7de41 100644
--- a/packages/client/ui-model-selection/package.json
+++ b/packages/client/ui-model-selection/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -69,6 +70,7 @@
"@deepseek-ai/dsh-client-product-analytics": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-open-in-app/locale/en.json b/packages/client/ui-open-in-app/locale/en.json
new file mode 100644
index 0000000000..7365851f6e
--- /dev/null
+++ b/packages/client/ui-open-in-app/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-open-in-app"
+ }
+}
diff --git a/packages/client/ui-open-in-app/locale/zh.json b/packages/client/ui-open-in-app/locale/zh.json
new file mode 100644
index 0000000000..078d8a6924
--- /dev/null
+++ b/packages/client/ui-open-in-app/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "外部应用打开界面",
+ "description": "在会话和文档预览中提供「打开方式」入口。"
+ }
+}
diff --git a/packages/client/ui-open-in-app/package.json b/packages/client/ui-open-in-app/package.json
index ff8738627e..3f2544d42f 100644
--- a/packages/client/ui-open-in-app/package.json
+++ b/packages/client/ui-open-in-app/package.json
@@ -23,9 +23,11 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-permission-presets/locale/en.json b/packages/client/ui-permission-presets/locale/en.json
new file mode 100644
index 0000000000..1b460cc8ed
--- /dev/null
+++ b/packages/client/ui-permission-presets/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-permission-presets"
+ }
+}
diff --git a/packages/client/ui-permission-presets/locale/zh.json b/packages/client/ui-permission-presets/locale/zh.json
new file mode 100644
index 0000000000..4ea78d980f
--- /dev/null
+++ b/packages/client/ui-permission-presets/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "权限模式界面",
+ "description": "设置新会话的默认权限,并切换当前会话的权限模式。"
+ }
+}
diff --git a/packages/client/ui-permission-presets/package.json b/packages/client/ui-permission-presets/package.json
index 28f319f208..3628ee6b9e 100644
--- a/packages/client/ui-permission-presets/package.json
+++ b/packages/client/ui-permission-presets/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -70,6 +71,7 @@
"@deepseek-ai/dsh-client-ui-session": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-plan/locale/en.json b/packages/client/ui-plan/locale/en.json
new file mode 100644
index 0000000000..43f237fe4c
--- /dev/null
+++ b/packages/client/ui-plan/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-plan"
+ }
+}
diff --git a/packages/client/ui-plan/locale/zh.json b/packages/client/ui-plan/locale/zh.json
new file mode 100644
index 0000000000..62a8643c99
--- /dev/null
+++ b/packages/client/ui-plan/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "计划审阅界面",
+ "description": "展示计划模式控件、计划卡片和 Markdown 预览。"
+ }
+}
diff --git a/packages/client/ui-plan/package.json b/packages/client/ui-plan/package.json
index bc36ecbdd3..af28609a37 100644
--- a/packages/client/ui-plan/package.json
+++ b/packages/client/ui-plan/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -74,6 +75,7 @@
"@deepseek-ai/dsh-util-crypto": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-plugin-manager/locale/en.json b/packages/client/ui-plugin-manager/locale/en.json
new file mode 100644
index 0000000000..1eb555edf2
--- /dev/null
+++ b/packages/client/ui-plugin-manager/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-plugin-manager"
+ }
+}
diff --git a/packages/client/ui-plugin-manager/locale/zh.json b/packages/client/ui-plugin-manager/locale/zh.json
new file mode 100644
index 0000000000..5894c72bfe
--- /dev/null
+++ b/packages/client/ui-plugin-manager/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "插件管理界面",
+ "description": "查看和安装插件包,并进行启用、停用和重试等操作。"
+ }
+}
diff --git a/packages/client/ui-plugin-manager/package.json b/packages/client/ui-plugin-manager/package.json
index ed8e81484b..32c21c0469 100644
--- a/packages/client/ui-plugin-manager/package.json
+++ b/packages/client/ui-plugin-manager/package.json
@@ -31,7 +31,8 @@
"./remote": {
"types": "./lib/typert.remote-client.d.ts",
"default": "./lib/typert.remote-client.js"
- }
+ },
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -76,6 +77,7 @@
"@deepseek-ai/dsh-client-product-analytics": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts",
diff --git a/packages/client/ui-reference/locale/en.json b/packages/client/ui-reference/locale/en.json
new file mode 100644
index 0000000000..983a68eb3c
--- /dev/null
+++ b/packages/client/ui-reference/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-reference"
+ }
+}
diff --git a/packages/client/ui-reference/locale/zh.json b/packages/client/ui-reference/locale/zh.json
new file mode 100644
index 0000000000..c42cc948b1
--- /dev/null
+++ b/packages/client/ui-reference/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "文件与会话引用界面",
+ "description": "通过 @ 在输入框中引用文件或其他会话。"
+ }
+}
diff --git a/packages/client/ui-reference/package.json b/packages/client/ui-reference/package.json
index 6c9a63bffd..7d6d03e936 100644
--- a/packages/client/ui-reference/package.json
+++ b/packages/client/ui-reference/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -63,6 +64,7 @@
"@deepseek-ai/dsh-client-ui-sidebar-right": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-renderer/locale/en.json b/packages/client/ui-renderer/locale/en.json
new file mode 100644
index 0000000000..9b397064bb
--- /dev/null
+++ b/packages/client/ui-renderer/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-renderer"
+ }
+}
diff --git a/packages/client/ui-renderer/locale/zh.json b/packages/client/ui-renderer/locale/zh.json
new file mode 100644
index 0000000000..8616d95117
--- /dev/null
+++ b/packages/client/ui-renderer/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "界面渲染",
+ "description": "将各插件提供的界面组件组装到应用中。"
+ }
+}
diff --git a/packages/client/ui-renderer/package.json b/packages/client/ui-renderer/package.json
index 9831527fa9..37afaebac6 100644
--- a/packages/client/ui-renderer/package.json
+++ b/packages/client/ui-renderer/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -51,6 +52,7 @@
"use-sync-external-store": "1.6.0"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-session/locale/en.json b/packages/client/ui-session/locale/en.json
new file mode 100644
index 0000000000..03c3a8e2cc
--- /dev/null
+++ b/packages/client/ui-session/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-session"
+ }
+}
diff --git a/packages/client/ui-session/locale/zh.json b/packages/client/ui-session/locale/zh.json
new file mode 100644
index 0000000000..8dee9f572e
--- /dev/null
+++ b/packages/client/ui-session/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "会话界面连接",
+ "description": "将会话控制和状态连接到 React 界面组件。"
+ }
+}
diff --git a/packages/client/ui-session/package.json b/packages/client/ui-session/package.json
index 8e5426b204..a55f45f712 100644
--- a/packages/client/ui-session/package.json
+++ b/packages/client/ui-session/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -58,6 +59,7 @@
"react": "^18.2.0"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-settings-account/locale/en.json b/packages/client/ui-settings-account/locale/en.json
new file mode 100644
index 0000000000..ce3988b946
--- /dev/null
+++ b/packages/client/ui-settings-account/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-settings-account"
+ }
+}
diff --git a/packages/client/ui-settings-account/locale/zh.json b/packages/client/ui-settings-account/locale/zh.json
new file mode 100644
index 0000000000..505a15ac87
--- /dev/null
+++ b/packages/client/ui-settings-account/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "账号设置界面",
+ "description": "管理 DeepSeek 登录,并打开平台账单页面。"
+ }
+}
diff --git a/packages/client/ui-settings-account/package.json b/packages/client/ui-settings-account/package.json
index 3fcb8027f7..4465baf5cd 100644
--- a/packages/client/ui-settings-account/package.json
+++ b/packages/client/ui-settings-account/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -73,6 +74,7 @@
"@deepseek-ai/dsh-client-product-analytics": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-settings-agent-loop/locale/en.json b/packages/client/ui-settings-agent-loop/locale/en.json
new file mode 100644
index 0000000000..5c9a7a32f1
--- /dev/null
+++ b/packages/client/ui-settings-agent-loop/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-settings-agent-loop"
+ }
+}
diff --git a/packages/client/ui-settings-agent-loop/locale/zh.json b/packages/client/ui-settings-agent-loop/locale/zh.json
new file mode 100644
index 0000000000..c6a1dff952
--- /dev/null
+++ b/packages/client/ui-settings-agent-loop/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "智能体运行设置",
+ "description": "配置同时执行的工具调用数量上限。"
+ }
+}
diff --git a/packages/client/ui-settings-agent-loop/package.json b/packages/client/ui-settings-agent-loop/package.json
index 0361a71f09..744a50bbec 100644
--- a/packages/client/ui-settings-agent-loop/package.json
+++ b/packages/client/ui-settings-agent-loop/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -58,6 +59,7 @@
"react": "^18.2.0"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-settings-general/locale/en.json b/packages/client/ui-settings-general/locale/en.json
new file mode 100644
index 0000000000..f6258cc9cc
--- /dev/null
+++ b/packages/client/ui-settings-general/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-settings-general"
+ }
+}
diff --git a/packages/client/ui-settings-general/locale/zh.json b/packages/client/ui-settings-general/locale/zh.json
new file mode 100644
index 0000000000..ed8dea60c4
--- /dev/null
+++ b/packages/client/ui-settings-general/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "通用设置与欢迎提示",
+ "description": "提供通用设置、设置窗口文案和首次使用提示。"
+ }
+}
diff --git a/packages/client/ui-settings-general/package.json b/packages/client/ui-settings-general/package.json
index 99927e5391..01d3748a6f 100644
--- a/packages/client/ui-settings-general/package.json
+++ b/packages/client/ui-settings-general/package.json
@@ -26,7 +26,8 @@
"types": "./lib/types/types.d.ts"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -75,6 +76,7 @@
"@deepseek-ai/dsh-client-shortcuts": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-settings-models/locale/en.json b/packages/client/ui-settings-models/locale/en.json
new file mode 100644
index 0000000000..100cf6fbe5
--- /dev/null
+++ b/packages/client/ui-settings-models/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-settings-models"
+ }
+}
diff --git a/packages/client/ui-settings-models/locale/zh.json b/packages/client/ui-settings-models/locale/zh.json
new file mode 100644
index 0000000000..6ce8aece28
--- /dev/null
+++ b/packages/client/ui-settings-models/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "模型设置界面",
+ "description": "管理模型服务及其接入配置,并提供相关引导。"
+ }
+}
diff --git a/packages/client/ui-settings-models/package.json b/packages/client/ui-settings-models/package.json
index 69474742e2..a6eb4914dc 100644
--- a/packages/client/ui-settings-models/package.json
+++ b/packages/client/ui-settings-models/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -64,6 +65,7 @@
"@deepseek-ai/schemastery": "workspace:~"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-settings-plugin-inventory/README.i18n.yaml b/packages/client/ui-settings-plugin-inventory/README.i18n.yaml
index d4b459bb3e..6aca3b6682 100644
--- a/packages/client/ui-settings-plugin-inventory/README.i18n.yaml
+++ b/packages/client/ui-settings-plugin-inventory/README.i18n.yaml
@@ -18,8 +18,8 @@
en: 67637808e7940157
zh: d4d0716ea4d33e4a
/deepseek-ai-dsh-client-ui-settings-plugin-inventory/use-this-package/reading-a-card:
- en: 141d6a73e99fee51
- zh: 2aa28b174867c967
+ en: bb000df9983be741
+ zh: d54ee50bafd136fb
/deepseek-ai-dsh-client-ui-settings-plugin-inventory/use-this-package/the-preset-switcher:
en: 84e5938329199a22
zh: 6f5cfaac56433e8b
diff --git a/packages/client/ui-settings-plugin-inventory/README.md b/packages/client/ui-settings-plugin-inventory/README.md
index 2107090327..bf5ad3d53e 100644
--- a/packages/client/ui-settings-plugin-inventory/README.md
+++ b/packages/client/ui-settings-plugin-inventory/README.md
@@ -33,7 +33,7 @@ A failed installation with pending pnpm build permissions offers **Allow these s
Each collapsed card uses the plugin's localized title and description when available; a description shows at most two lines until its card is expanded. Settings shortens literal package-name or module-name fallbacks by removing the npm scope and the `cordis:`, `cordis-plugin-`, or `dsh-`/`dsh-host-`/`dsh-client-` prefix; locale titles remain unchanged. The Host supplies locale and package-field fallbacks in `meta`; the Client selects the current language. Full module specifiers remain available in details and search. Missing descriptions are omitted, and metadata diagnostics appear with the card. This compact naming applies only to Settings, not the sidebar's Plugins page.
-A small enablement tag marks only the states that differ from plainly enabled: disabled, conditional, provided by presets, and failed; a plainly enabled row carries no tag. A colored root-fiber status dot marks the live phases no tag states: `pending` maps to idle, while `loading` and `unloading` map to ongoing; an `active` or `failed` fiber shows no dot. The stable entry id appears in a code chip at the card's bottom-left, in line with the title, only when it differs from the title: a composition-generated id drops its leading `include:` marker there, and an id that then repeats the title is omitted. Whenever the chip shows, its hover text and the card's accessible name carry the complete id; search and expanded details always retain it. Long entry ids truncate in the chip and remain available on hover. Expanding one card reveals its full description, the declared entry id, the full module specifier, and the state facts: a preset row names the preset it comes from, its runtime status when the composition is live, and its disable condition when it carries one; a preset-provided global row explains that agent presets provide it per session, names the presets that enable it, and offers a jump into the preset group. Preset names resolve through the shared `presetDisplayText` fold (`dsh-agent-preset-registry/display`) over [`ui-agent-preset`](../ui-agent-preset/README.md)'s dictionaries: shipped presets follow the active locale while user-authored ones keep their own metadata, so an English surface never echoes the preset declarations' Chinese names. Search filters both groups by localized title and description, module name, and entry id.
+A small enablement tag marks only the states that differ from plainly enabled: disabled, conditional, provided by presets, and failed; a plainly enabled row carries no tag. A colored root-fiber status dot marks the live phases no tag states: `pending` maps to idle, while `loading` and `unloading` map to ongoing; an `active` or `failed` fiber shows no dot. The stable entry id appears in a code chip at the card's bottom-left, in line with the title, only when it differs from the title: a composition-generated id drops its leading `include:` marker there, and an id that then repeats the title is omitted. Whenever the chip shows, its hover text and the card's accessible name carry the complete id; search and expanded details always retain it. Long entry ids truncate in the chip and remain available on hover. Expanding one card reveals its full description, the declared entry id, the full module specifier, and the state facts: a preset row names the preset it comes from, its runtime status when the composition is live, and its disable condition when it carries one; a preset-provided global row explains that agent presets provide it per session, names the presets that enable it. Preset names resolve through the shared `presetDisplayText` fold (`dsh-agent-preset-registry/display`) over [`ui-agent-preset`](../ui-agent-preset/README.md)'s dictionaries: shipped presets follow the active locale while user-authored ones keep their own metadata, so an English surface never echoes the preset declarations' Chinese names. Search filters both groups by localized title and description, module name, and entry id.
### The preset switcher
diff --git a/packages/client/ui-settings-plugin-inventory/README.zh.md b/packages/client/ui-settings-plugin-inventory/README.zh.md
index 737ff343de..6a992313c1 100644
--- a/packages/client/ui-settings-plugin-inventory/README.zh.md
+++ b/packages/client/ui-settings-plugin-inventory/README.zh.md
@@ -33,7 +33,7 @@ kind: "package-reference"
每张收起的卡片使用插件可用的本地化标题与描述;描述最多显示两行,展开卡片后显示全文。设置页会缩短字面的包名或模块名回退值,移除 npm scope 以及 `cordis:`、`cordis-plugin-` 或 `dsh-`/`dsh-host-`/`dsh-client-` 前缀;locale 标题保持原样。Host 在 `meta` 中提供 locale 与包字段的回退结果,Client 选择当前语言。详情与搜索仍保留完整模块标识。缺失的描述不显示,元信息诊断随卡片展示。这种短名显示仅用于设置页,不影响侧栏的插件页。
-表示启停状态的小标签只标记与普通启用不同的状态:已停用、条件启用、由预设提供与启动失败;普通启用的行不带标签。彩色根 fiber 状态圆点标记没有标签表达的存活阶段:`pending` 映射为 idle,`loading` 与 `unloading` 映射为 ongoing;`active` 或 `failed` fiber 不显示圆点。稳定的条目 id 仅在与标题不同时显示,位于卡片左下角的代码标签中,与标题左对齐:组合生成的 id 在此省略开头的 `include:` 标记,省略后与标题相同的 id 不再重复显示。显示代码标签时,其悬停提示与卡片的无障碍名称带完整 id;搜索与展开详情始终保留完整 id。长条目 id 会在代码标签内截断,悬停时仍可查看完整值。展开卡片后会显示完整描述、声明的条目 id、完整模块标识与状态事实:预设行说明它来自哪个预设、组合存活时的运行状态,以及它携带的禁用条件;被预设提供的全局行说明它由 Agent 预设按会话提供、列出启用它的预设,并提供跳转到预设组的入口。预设名经共享的 `presetDisplayText` 纯函数(`dsh-agent-preset-registry/display`)叠在 [`ui-agent-preset`](../ui-agent-preset/README.zh.md) 的字典上解析:内置预设走当前语言,用户自建预设保留自己的元数据,因此英文界面不会回显预设声明里的中文名。搜索按本地化标题与描述、模块名称及条目 id 过滤两组。
+表示启停状态的小标签只标记与普通启用不同的状态:已停用、条件启用、由预设提供与启动失败;普通启用的行不带标签。彩色根 fiber 状态圆点标记没有标签表达的存活阶段:`pending` 映射为 idle,`loading` 与 `unloading` 映射为 ongoing;`active` 或 `failed` fiber 不显示圆点。稳定的条目 id 仅在与标题不同时显示,位于卡片左下角的代码标签中,与标题左对齐:组合生成的 id 在此省略开头的 `include:` 标记,省略后与标题相同的 id 不再重复显示。显示代码标签时,其悬停提示与卡片的无障碍名称带完整 id;搜索与展开详情始终保留完整 id。长条目 id 会在代码标签内截断,悬停时仍可查看完整值。展开卡片后会显示完整描述、声明的条目 id、完整模块标识与状态事实:预设行说明它来自哪个预设、组合存活时的运行状态,以及它携带的禁用条件;被预设提供的全局行说明它由 Agent 预设按会话提供、列出启用它的预设。预设名经共享的 `presetDisplayText` 纯函数(`dsh-agent-preset-registry/display`)叠在 [`ui-agent-preset`](../ui-agent-preset/README.zh.md) 的字典上解析:内置预设走当前语言,用户自建预设保留自己的元数据,因此英文界面不会回显预设声明里的中文名。搜索按本地化标题与描述、模块名称及条目 id 过滤两组。
### 预设切换器
diff --git a/packages/client/ui-settings-plugin-inventory/locale/en.json b/packages/client/ui-settings-plugin-inventory/locale/en.json
new file mode 100644
index 0000000000..38e92db659
--- /dev/null
+++ b/packages/client/ui-settings-plugin-inventory/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-settings-plugin-inventory"
+ }
+}
diff --git a/packages/client/ui-settings-plugin-inventory/locale/zh.json b/packages/client/ui-settings-plugin-inventory/locale/zh.json
new file mode 100644
index 0000000000..df4f5ab36f
--- /dev/null
+++ b/packages/client/ui-settings-plugin-inventory/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "内置插件列表界面",
+ "description": "在设置中查看全局插件和各 Agent 预设使用的插件。"
+ }
+}
diff --git a/packages/client/ui-settings-plugin-inventory/package.json b/packages/client/ui-settings-plugin-inventory/package.json
index 8eb5473590..2ad924fadd 100644
--- a/packages/client/ui-settings-plugin-inventory/package.json
+++ b/packages/client/ui-settings-plugin-inventory/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -65,6 +66,7 @@
"@deepseek-ai/dsh-client-store": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-settings-plugin-inventory/src/client/PluginInventorySettingsTab.module.css b/packages/client/ui-settings-plugin-inventory/src/client/PluginInventorySettingsTab.module.css
index be3aa42773..5836c2b56a 100644
--- a/packages/client/ui-settings-plugin-inventory/src/client/PluginInventorySettingsTab.module.css
+++ b/packages/client/ui-settings-plugin-inventory/src/client/PluginInventorySettingsTab.module.css
@@ -300,17 +300,6 @@
font-variant-numeric: tabular-nums;
}
-/* A middle dot with equal space on both sides separates the subtitle's parts. */
-.groupSub > * + *::before {
- content: '·';
- padding: 0 6px;
- color: var(--dsw-alias-label-tertiary);
-}
-
-.failedCount {
- color: var(--dsw-alias-state-error-primary);
-}
-
/* The preset switcher trigger mirrors the General-settings selector pill. */
.switcher {
display: inline-flex;
@@ -415,13 +404,6 @@
height: 12px;
}
-.enabledIn {
- display: flex;
- flex-wrap: wrap;
- align-items: baseline;
- gap: 4px 10px;
-}
-
.card[data-failed='true'] {
border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, transparent);
}
diff --git a/packages/client/ui-settings-plugin-inventory/src/client/PluginInventorySettingsTab.tsx b/packages/client/ui-settings-plugin-inventory/src/client/PluginInventorySettingsTab.tsx
index 57810b993a..8138b0d397 100644
--- a/packages/client/ui-settings-plugin-inventory/src/client/PluginInventorySettingsTab.tsx
+++ b/packages/client/ui-settings-plugin-inventory/src/client/PluginInventorySettingsTab.tsx
@@ -413,18 +413,7 @@ export function PluginInventorySettingsTab(
facts={providers !== undefined
? [
[t('configuration'), t('presetProvidedDetail')],
- [t('enabledIn'), (
-
- {providers.map(preset => presetName(preset)).join(' · ')}
-
-
- )],
+ [t('enabledIn'), providers.map(preset => presetName(preset)).join(' · ')],
]
: [
[t('configuration'), t(entry.enabled ? 'enabledTag' : 'disabledTag')],
@@ -527,12 +516,7 @@ export function PluginInventorySettingsTab(
/>
-
- {t('presetSubtitle')}
-
- {`${String(selectedRows.length)} ${t('countUnit')}`}
-
-
+ {t('presetSubtitle')}
{presetEffectiveOpen ? (
{selected.broken !== undefined ? (
@@ -577,13 +561,7 @@ export function PluginInventorySettingsTab(
{t('globalTitle')}
-
- {t('globalSubtitle')}
- {`${String(globalCount)} ${t('countUnit')}`}
- {filteredFailed.length > 0 ? (
- {filteredFailed.length} {t('failedCountLabel')}
- ) : null}
-
+ {t('globalSubtitle')}
{globalEffectiveOpen && globalCount > 0 ? (
{filteredFailed.map(entry => globalRowCard(entry))}
diff --git a/packages/client/ui-settings-plugin-inventory/src/client/locales.ts b/packages/client/ui-settings-plugin-inventory/src/client/locales.ts
index 3fb7662a86..d535c07a9a 100644
--- a/packages/client/ui-settings-plugin-inventory/src/client/locales.ts
+++ b/packages/client/ui-settings-plugin-inventory/src/client/locales.ts
@@ -15,7 +15,6 @@ export const zh = {
emptySearch: '没有匹配的插件。',
presetTitle: '会话插件',
presetSubtitle: '由 Agent 预设按会话组成',
- countUnit: '个',
switcherLabel: '选择要查看的 Agent 预设',
presetOptionDefault: '{name}(默认)',
presetOptionBroken: '{name}(加载失败)',
@@ -23,9 +22,7 @@ export const zh = {
globalSubtitle: '系统与所有会话共用',
presetProvidedDetail: '全局已停用,由 Agent 预设按会话提供',
enabledIn: '启用于',
- viewInPreset: '去预设分组查看',
matchesInOtherPresets: '其他预设中还有 {count} 个匹配:',
- failedCountLabel: '个失败',
enabledTag: '已启用',
disabledTag: '已停用',
conditionalTag: '条件启用',
@@ -62,7 +59,6 @@ export const en = {
emptySearch: 'No matching plugins.',
presetTitle: 'Session plugins',
presetSubtitle: 'Composed per session by agent presets',
- countUnit: 'plugins',
switcherLabel: 'Choose the agent preset to inspect',
presetOptionDefault: '{name} (default)',
presetOptionBroken: '{name} (failed to load)',
@@ -70,9 +66,7 @@ export const en = {
globalSubtitle: 'Shared by the system and every session',
presetProvidedDetail: 'Disabled globally; agent presets provide it per session',
enabledIn: 'Enabled in',
- viewInPreset: 'View in the preset group',
matchesInOtherPresets: '{count} more matches in other presets: ',
- failedCountLabel: 'failed',
enabledTag: 'Enabled',
disabledTag: 'Disabled',
conditionalTag: 'Conditional',
diff --git a/packages/client/ui-settings-plugin-inventory/tests/components.client.spec.tsx b/packages/client/ui-settings-plugin-inventory/tests/components.client.spec.tsx
index 9a87e8d6d8..cd4e5acd14 100644
--- a/packages/client/ui-settings-plugin-inventory/tests/components.client.spec.tsx
+++ b/packages/client/ui-settings-plugin-inventory/tests/components.client.spec.tsx
@@ -193,6 +193,8 @@ describe('PluginInventorySettingsTab', () => {
const { locale, pageProps } = localizedProps(list)
const view = render()
await screen.findByRole('searchbox', { name: en.search })
+ expect(screen.getByText(en.presetSubtitle).textContent).toBe(en.presetSubtitle)
+ expect(screen.getByText(en.globalSubtitle).textContent).toBe(en.globalSubtitle)
fireEvent.click(globalToggle())
const global = screen.getByRole('button', { name: 'Navigation, include:global-navigation, Enabled' })
const preset = screen.getByRole('button', { name: 'Session runner, include:preset-runner, Enabled' })
@@ -209,6 +211,8 @@ describe('PluginInventorySettingsTab', () => {
locale.setLocale('zh')
view.rerender()
+ expect(screen.getByText(zh.presetSubtitle).textContent).toBe(zh.presetSubtitle)
+ expect(screen.getByText(zh.globalSubtitle).textContent).toBe(zh.globalSubtitle)
expect(screen.getByRole('button', { name: '导航, include:global-navigation, 已启用' })).toBeTruthy()
expect(screen.getByRole('button', { name: '会话执行器, include:preset-runner, 已启用' })).toBeTruthy()
expect(screen.getByText('全局导航控件')).toBeTruthy()
@@ -321,8 +325,7 @@ describe('PluginInventorySettingsTab', () => {
])
fireEvent.keyDown(document, { key: 'Escape' })
expect(screen.queryAllByRole('menuitem')).toHaveLength(0)
- expect(screen.getByText(en.presetSubtitle)).toBeTruthy()
- expect(view.container.querySelector('[data-preset-plugin-count]')?.getAttribute('data-preset-plugin-count')).toBe('6')
+ expect(screen.getByText(en.presetSubtitle).textContent).toBe(en.presetSubtitle)
// The preset group starts open with its rows while the larger global plane stays folded.
expect(presetToggle().getAttribute('aria-expanded')).toBe('true')
@@ -338,8 +341,7 @@ describe('PluginInventorySettingsTab', () => {
expect(screen.queryByRole('img', { name: en.unobserved })).toBeNull()
expect(globalToggle().getAttribute('aria-expanded')).toBe('false')
- expect(view.container.querySelector('[data-plugin-count]')?.getAttribute('data-plugin-count')).toBe('7')
- expect(screen.getByText(`1 ${en.failedCountLabel}`)).toBeTruthy()
+ expect(screen.getByText(en.globalSubtitle).textContent).toBe(en.globalSubtitle)
// A preset row expands into its source facts.
fireEvent.click(screen.getByRole('button', { name: 'pwsh, Conditional' }))
@@ -484,14 +486,14 @@ describe('PluginInventorySettingsTab', () => {
}
pickPreset('ptc')
- expect(view.container.querySelector('[data-preset-plugin-count]')?.getAttribute('data-preset-plugin-count')).toBe('3')
+ expect(view.container.querySelectorAll('[data-plugin-scope="preset"] li')).toHaveLength(3)
fireEvent.click(screen.getByRole('button', { name: 'tool-bash, bash, Enabled' }))
// An unnamed preset labels its source by id.
expect(screen.getByText(en.fromPreset).nextElementSibling?.textContent).toBe('ptc')
pickPreset('坏预设 (failed to load)')
expect(screen.getByRole('alert').textContent).toBe('the composition file is missing')
- expect(view.container.querySelector('[data-preset-plugin-count]')?.getAttribute('data-preset-plugin-count')).toBe('0')
+ expect(view.container.querySelectorAll('[data-plugin-scope="preset"] li')).toHaveLength(0)
})
it('folds the preset group on demand and reopens it for a search', async () => {
@@ -500,10 +502,10 @@ describe('PluginInventorySettingsTab', () => {
expect(toggle.getAttribute('aria-expanded')).toBe('true')
expect(view.container.querySelectorAll('[data-plugin-scope="preset"] li')).toHaveLength(6)
- // The header keeps its count while the rows are folded away.
+ // The explanatory subtitle remains visible while the rows are folded away.
fireEvent.click(toggle)
expect(toggle.getAttribute('aria-expanded')).toBe('false')
- expect(view.container.querySelector('[data-preset-plugin-count]')?.getAttribute('data-preset-plugin-count')).toBe('6')
+ expect(screen.getByText(en.presetSubtitle).textContent).toBe(en.presetSubtitle)
expect(view.container.querySelectorAll('[data-plugin-scope="preset"] li')).toHaveLength(0)
fireEvent.change(screen.getByRole('searchbox', { name: en.search }), { target: { value: 'pwsh' } })
@@ -542,28 +544,15 @@ describe('PluginInventorySettingsTab', () => {
expect(screen.getByText('Localized standard · Localized ptc')).toBeTruthy()
})
- it('jumps from a preset-provided row to the preset that enables it', async () => {
- await renderReady()
- fireEvent.click(screen.getByRole('button', { name: en.switcherLabel }))
- fireEvent.click(screen.getByRole('menuitem', { name: 'ptc' }))
-
- fireEvent.click(globalToggle())
- fireEvent.click(screen.getByRole('button', { name: 'tool-bash, bash-host, Via presets' }))
- fireEvent.click(screen.getByRole('button', { name: en.viewInPreset }))
- expect(screen.getByRole('button', { name: en.switcherLabel }).textContent)
- .toBe('标准模式 (default)')
- })
-
it('searches across scopes and points at matches in other presets', async () => {
const view = await renderReady()
const search = screen.getByRole('searchbox', { name: en.search })
fireEvent.change(search, { target: { value: 'tool-bash' } })
// Searching forces the collapsed global plane and drawer open.
- expect(view.container.querySelector('[data-preset-plugin-count]')?.getAttribute('data-preset-plugin-count')).toBe('1')
- expect(view.container.querySelector('[data-plugin-count]')?.getAttribute('data-plugin-count')).toBe('1')
+ expect(view.container.querySelectorAll('[data-plugin-scope="preset"] li')).toHaveLength(1)
+ expect(view.container.querySelectorAll('[data-plugin-scope="global"] li')).toHaveLength(1)
expect(screen.getByText(en.presetEnabledTag)).toBeTruthy()
- expect(screen.queryByText(`1 ${en.failedCountLabel}`)).toBeNull()
const hint = screen.getByText((text: string) => text.startsWith('2 more matches'))
expect(hint).toBeTruthy()
fireEvent.click(screen.getByRole('button', { name: 'ptc' }))
@@ -571,13 +560,13 @@ describe('PluginInventorySettingsTab', () => {
// A match visible only in another preset keeps the pointer without rows.
fireEvent.change(search, { target: { value: 'crashy' } })
- expect(view.container.querySelector('[data-preset-plugin-count]')?.getAttribute('data-preset-plugin-count')).toBe('0')
+ expect(view.container.querySelectorAll('[data-plugin-scope="preset"] li')).toHaveLength(0)
expect(screen.getByText((text: string) => text.startsWith('1 more matches'))).toBeTruthy()
expect(screen.queryByText(en.emptySearch)).toBeNull()
// A match on a Loader entry id only reaches the global plane.
fireEvent.change(search, { target: { value: '8a1b2c3d' } })
- expect(view.container.querySelector('[data-plugin-count]')?.getAttribute('data-plugin-count')).toBe('1')
+ expect(view.container.querySelectorAll('[data-plugin-scope="global"] li')).toHaveLength(1)
expect(screen.queryByText((text: string) => text.includes('more matches'))).toBeNull()
fireEvent.change(search, { target: { value: 'not-a-plugin' } })
diff --git a/packages/client/ui-settings-plugins/locale/en.json b/packages/client/ui-settings-plugins/locale/en.json
new file mode 100644
index 0000000000..bbe7eea9a3
--- /dev/null
+++ b/packages/client/ui-settings-plugins/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-settings-plugins"
+ }
+}
diff --git a/packages/client/ui-settings-plugins/locale/zh.json b/packages/client/ui-settings-plugins/locale/zh.json
new file mode 100644
index 0000000000..71ab797452
--- /dev/null
+++ b/packages/client/ui-settings-plugins/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "内置插件设置入口",
+ "description": "提供设置中的内置插件入口及其功能标签页。"
+ }
+}
diff --git a/packages/client/ui-settings-plugins/package.json b/packages/client/ui-settings-plugins/package.json
index cf9c95c7eb..a2a4492ad6 100644
--- a/packages/client/ui-settings-plugins/package.json
+++ b/packages/client/ui-settings-plugins/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -54,6 +55,7 @@
"react": "^18.2.0"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-settings-session-log/locale/en.json b/packages/client/ui-settings-session-log/locale/en.json
new file mode 100644
index 0000000000..3f4017f7d2
--- /dev/null
+++ b/packages/client/ui-settings-session-log/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-settings-session-log"
+ }
+}
diff --git a/packages/client/ui-settings-session-log/locale/zh.json b/packages/client/ui-settings-session-log/locale/zh.json
new file mode 100644
index 0000000000..fc41c18589
--- /dev/null
+++ b/packages/client/ui-settings-session-log/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "会话日志上传设置",
+ "description": "设置是否随 DeepSeek 官方模型 API 请求上传会话日志。"
+ }
+}
diff --git a/packages/client/ui-settings-session-log/package.json b/packages/client/ui-settings-session-log/package.json
index b9bd5efedd..d3fe0aede2 100644
--- a/packages/client/ui-settings-session-log/package.json
+++ b/packages/client/ui-settings-session-log/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -60,6 +61,7 @@
"@types/react-dom": "~18.3.0"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-settings-shell/locale/en.json b/packages/client/ui-settings-shell/locale/en.json
new file mode 100644
index 0000000000..f43265d805
--- /dev/null
+++ b/packages/client/ui-settings-shell/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-settings-shell"
+ }
+}
diff --git a/packages/client/ui-settings-shell/locale/zh.json b/packages/client/ui-settings-shell/locale/zh.json
new file mode 100644
index 0000000000..aed59177c8
--- /dev/null
+++ b/packages/client/ui-settings-shell/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "命令执行设置",
+ "description": "配置命令执行超时和输出长度上限。"
+ }
+}
diff --git a/packages/client/ui-settings-shell/package.json b/packages/client/ui-settings-shell/package.json
index 0fd6020caf..f2d48c2aa4 100644
--- a/packages/client/ui-settings-shell/package.json
+++ b/packages/client/ui-settings-shell/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -58,6 +59,7 @@
"react": "^18.2.0"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-settings-subagent/locale/en.json b/packages/client/ui-settings-subagent/locale/en.json
new file mode 100644
index 0000000000..08e121d1c3
--- /dev/null
+++ b/packages/client/ui-settings-subagent/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-settings-subagent"
+ }
+}
diff --git a/packages/client/ui-settings-subagent/locale/zh.json b/packages/client/ui-settings-subagent/locale/zh.json
new file mode 100644
index 0000000000..1498349fa6
--- /dev/null
+++ b/packages/client/ui-settings-subagent/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "子智能体设置",
+ "description": "配置委派深度、并发数量和可选模型。"
+ }
+}
diff --git a/packages/client/ui-settings-subagent/package.json b/packages/client/ui-settings-subagent/package.json
index 0c1a5abe49..fa5d97b680 100644
--- a/packages/client/ui-settings-subagent/package.json
+++ b/packages/client/ui-settings-subagent/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -59,6 +60,7 @@
"react": "^18.2.0"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-settings-web-search/locale/en.json b/packages/client/ui-settings-web-search/locale/en.json
new file mode 100644
index 0000000000..5c0a85691f
--- /dev/null
+++ b/packages/client/ui-settings-web-search/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-settings-web-search"
+ }
+}
diff --git a/packages/client/ui-settings-web-search/locale/zh.json b/packages/client/ui-settings-web-search/locale/zh.json
new file mode 100644
index 0000000000..e450e1004c
--- /dev/null
+++ b/packages/client/ui-settings-web-search/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "网页搜索设置",
+ "description": "配置 DeepSeek 网页搜索的密钥、服务地址和请求预算。"
+ }
+}
diff --git a/packages/client/ui-settings-web-search/package.json b/packages/client/ui-settings-web-search/package.json
index db8da39f54..a858c70745 100644
--- a/packages/client/ui-settings-web-search/package.json
+++ b/packages/client/ui-settings-web-search/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -59,6 +60,7 @@
"react": "^18.2.0"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-settings/locale/en.json b/packages/client/ui-settings/locale/en.json
new file mode 100644
index 0000000000..71db5ec901
--- /dev/null
+++ b/packages/client/ui-settings/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-settings"
+ }
+}
diff --git a/packages/client/ui-settings/locale/zh.json b/packages/client/ui-settings/locale/zh.json
new file mode 100644
index 0000000000..1373f51e13
--- /dev/null
+++ b/packages/client/ui-settings/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "设置界面框架",
+ "description": "提供设置页面的基础表单和插件扩展位置。"
+ }
+}
diff --git a/packages/client/ui-settings/package.json b/packages/client/ui-settings/package.json
index 753a7e0294..772529a9eb 100644
--- a/packages/client/ui-settings/package.json
+++ b/packages/client/ui-settings/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -53,6 +54,7 @@
"@deepseek-ai/dsh-util-values": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-shortcuts/locale/en.json b/packages/client/ui-shortcuts/locale/en.json
new file mode 100644
index 0000000000..0602a25dff
--- /dev/null
+++ b/packages/client/ui-shortcuts/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-shortcuts"
+ }
+}
diff --git a/packages/client/ui-shortcuts/locale/zh.json b/packages/client/ui-shortcuts/locale/zh.json
new file mode 100644
index 0000000000..ad7f1dab37
--- /dev/null
+++ b/packages/client/ui-shortcuts/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "快捷键设置界面",
+ "description": "查看、录入和修改键盘快捷键。"
+ }
+}
diff --git a/packages/client/ui-shortcuts/package.json b/packages/client/ui-shortcuts/package.json
index 516f7654a5..b014f63904 100644
--- a/packages/client/ui-shortcuts/package.json
+++ b/packages/client/ui-shortcuts/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -61,6 +62,7 @@
"@deepseek-ai/dsh-client-test-runtime": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-sidebar-browser/locale/en.json b/packages/client/ui-sidebar-browser/locale/en.json
new file mode 100644
index 0000000000..6294ad3b9e
--- /dev/null
+++ b/packages/client/ui-sidebar-browser/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-sidebar-browser"
+ }
+}
diff --git a/packages/client/ui-sidebar-browser/locale/zh.json b/packages/client/ui-sidebar-browser/locale/zh.json
new file mode 100644
index 0000000000..111b8f6dc6
--- /dev/null
+++ b/packages/client/ui-sidebar-browser/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "浏览器面板",
+ "description": "在右侧面板中打开和浏览网页。"
+ }
+}
diff --git a/packages/client/ui-sidebar-browser/package.json b/packages/client/ui-sidebar-browser/package.json
index 5383e00f14..7306f7a40d 100644
--- a/packages/client/ui-sidebar-browser/package.json
+++ b/packages/client/ui-sidebar-browser/package.json
@@ -26,7 +26,8 @@
"types": "./lib/types/types.d.ts"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -66,6 +67,7 @@
"react-dom": "^18.2.0"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-sidebar-documentpreview/locale/en.json b/packages/client/ui-sidebar-documentpreview/locale/en.json
new file mode 100644
index 0000000000..7d7f557f9a
--- /dev/null
+++ b/packages/client/ui-sidebar-documentpreview/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-sidebar-documentpreview"
+ }
+}
diff --git a/packages/client/ui-sidebar-documentpreview/locale/zh.json b/packages/client/ui-sidebar-documentpreview/locale/zh.json
new file mode 100644
index 0000000000..8673bde417
--- /dev/null
+++ b/packages/client/ui-sidebar-documentpreview/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "文档预览面板",
+ "description": "在右侧面板预览文档、表格、代码、图片和网页等文件。"
+ }
+}
diff --git a/packages/client/ui-sidebar-documentpreview/package.json b/packages/client/ui-sidebar-documentpreview/package.json
index d071660c88..96a17e69c8 100644
--- a/packages/client/ui-sidebar-documentpreview/package.json
+++ b/packages/client/ui-sidebar-documentpreview/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -67,7 +68,6 @@
"@deepseek-ai/dsh-client-ui-slots": "workspace:*",
"@deepseek-ai/dsh-office-to-pdf": "workspace:*",
"@deepseek-ai/dsh-host-webserver": "workspace:*",
- "@deepseek-ai/dsh-office-to-pdf": "workspace:*",
"@deepseek-ai/dsh-session": "workspace:*",
"@deepseek-ai/dsh-util-workspace-path": "workspace:*",
"@fortune-sheet/core": "1.0.4",
@@ -89,6 +89,7 @@
"yaml": "^2.9.0"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/client.*.js",
diff --git a/packages/client/ui-sidebar-files/locale/en.json b/packages/client/ui-sidebar-files/locale/en.json
new file mode 100644
index 0000000000..6da0972151
--- /dev/null
+++ b/packages/client/ui-sidebar-files/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-sidebar-files"
+ }
+}
diff --git a/packages/client/ui-sidebar-files/locale/zh.json b/packages/client/ui-sidebar-files/locale/zh.json
new file mode 100644
index 0000000000..577a5725c3
--- /dev/null
+++ b/packages/client/ui-sidebar-files/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "文件浏览面板",
+ "description": "浏览工作区目录,并在右侧面板中打开文件。"
+ }
+}
diff --git a/packages/client/ui-sidebar-files/package.json b/packages/client/ui-sidebar-files/package.json
index bf9bc4d32f..1e1a929d11 100644
--- a/packages/client/ui-sidebar-files/package.json
+++ b/packages/client/ui-sidebar-files/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -70,6 +71,7 @@
"@deepseek-ai/dsh-client-shortcuts": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-sidebar-right/locale/en.json b/packages/client/ui-sidebar-right/locale/en.json
new file mode 100644
index 0000000000..4187616d33
--- /dev/null
+++ b/packages/client/ui-sidebar-right/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-sidebar-right"
+ }
+}
diff --git a/packages/client/ui-sidebar-right/locale/zh.json b/packages/client/ui-sidebar-right/locale/zh.json
new file mode 100644
index 0000000000..22281c9e82
--- /dev/null
+++ b/packages/client/ui-sidebar-right/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "右侧面板",
+ "description": "管理右侧面板的展开状态、内容和导航。"
+ }
+}
diff --git a/packages/client/ui-sidebar-right/package.json b/packages/client/ui-sidebar-right/package.json
index a4247518af..cfac61654c 100644
--- a/packages/client/ui-sidebar-right/package.json
+++ b/packages/client/ui-sidebar-right/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -75,6 +76,7 @@
"@deepseek-ai/dsh-brand": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-sidebar-terminal/locale/en.json b/packages/client/ui-sidebar-terminal/locale/en.json
new file mode 100644
index 0000000000..d6ab2b3980
--- /dev/null
+++ b/packages/client/ui-sidebar-terminal/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-sidebar-terminal"
+ }
+}
diff --git a/packages/client/ui-sidebar-terminal/locale/zh.json b/packages/client/ui-sidebar-terminal/locale/zh.json
new file mode 100644
index 0000000000..ca36d8da54
--- /dev/null
+++ b/packages/client/ui-sidebar-terminal/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "终端面板",
+ "description": "在右侧面板中使用交互式命令终端。"
+ }
+}
diff --git a/packages/client/ui-sidebar-terminal/package.json b/packages/client/ui-sidebar-terminal/package.json
index 5a4bc2b62f..e872e94014 100644
--- a/packages/client/ui-sidebar-terminal/package.json
+++ b/packages/client/ui-sidebar-terminal/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -73,6 +74,7 @@
"@deepseek-ai/dsh-client-shortcuts": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/client.*.js",
diff --git a/packages/client/ui-sidebar/locale/en.json b/packages/client/ui-sidebar/locale/en.json
new file mode 100644
index 0000000000..dbf02a834f
--- /dev/null
+++ b/packages/client/ui-sidebar/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-sidebar"
+ }
+}
diff --git a/packages/client/ui-sidebar/locale/zh.json b/packages/client/ui-sidebar/locale/zh.json
new file mode 100644
index 0000000000..5a3da3ba14
--- /dev/null
+++ b/packages/client/ui-sidebar/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "会话侧栏",
+ "description": "展示会话列表,提供搜索、分组和状态提示。"
+ }
+}
diff --git a/packages/client/ui-sidebar/package.json b/packages/client/ui-sidebar/package.json
index b93ff78675..d3a6116c6f 100644
--- a/packages/client/ui-sidebar/package.json
+++ b/packages/client/ui-sidebar/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -66,6 +67,7 @@
"@deepseek-ai/dsh-client-product-analytics": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-skill/locale/en.json b/packages/client/ui-skill/locale/en.json
new file mode 100644
index 0000000000..d61c3ff256
--- /dev/null
+++ b/packages/client/ui-skill/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-skill"
+ }
+}
diff --git a/packages/client/ui-skill/locale/zh.json b/packages/client/ui-skill/locale/zh.json
new file mode 100644
index 0000000000..a30c0c2fdf
--- /dev/null
+++ b/packages/client/ui-skill/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "技能引用与展示",
+ "description": "在会话中提供技能引用和技能调用展示。"
+ }
+}
diff --git a/packages/client/ui-skill/package.json b/packages/client/ui-skill/package.json
index de02a05d7a..63cca5c51f 100644
--- a/packages/client/ui-skill/package.json
+++ b/packages/client/ui-skill/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -69,6 +70,7 @@
"@deepseek-ai/dsh-util-workspace-path": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-subagent/locale/en.json b/packages/client/ui-subagent/locale/en.json
new file mode 100644
index 0000000000..143f7912c3
--- /dev/null
+++ b/packages/client/ui-subagent/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-subagent"
+ }
+}
diff --git a/packages/client/ui-subagent/locale/zh.json b/packages/client/ui-subagent/locale/zh.json
new file mode 100644
index 0000000000..7a018e4d03
--- /dev/null
+++ b/packages/client/ui-subagent/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "子智能体会话界面",
+ "description": "查看和跳转子智能体会话,并支持继续对话和 @ 引用。"
+ }
+}
diff --git a/packages/client/ui-subagent/package.json b/packages/client/ui-subagent/package.json
index ff0d19190b..caf8ee1949 100644
--- a/packages/client/ui-subagent/package.json
+++ b/packages/client/ui-subagent/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -74,6 +75,7 @@
"@deepseek-ai/dsh-client-ui-workspace": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-theme/locale/en.json b/packages/client/ui-theme/locale/en.json
new file mode 100644
index 0000000000..d377165424
--- /dev/null
+++ b/packages/client/ui-theme/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-theme"
+ }
+}
diff --git a/packages/client/ui-theme/locale/zh.json b/packages/client/ui-theme/locale/zh.json
new file mode 100644
index 0000000000..82eccc9825
--- /dev/null
+++ b/packages/client/ui-theme/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "界面主题",
+ "description": "提供浅色、深色和跟随系统的主题设置。"
+ }
+}
diff --git a/packages/client/ui-theme/package.json b/packages/client/ui-theme/package.json
index b6fa339890..d66ddbf105 100644
--- a/packages/client/ui-theme/package.json
+++ b/packages/client/ui-theme/package.json
@@ -24,7 +24,8 @@
},
"./src/*": "./src/*",
"./package.json": "./package.json",
- "./brand-font.css": "./lib/styles/brand-font.css"
+ "./brand-font.css": "./lib/styles/brand-font.css",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -61,6 +62,7 @@
"@deepseek-ai/dsh-settings": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/styles",
diff --git a/packages/client/ui-tool/locale/en.json b/packages/client/ui-tool/locale/en.json
new file mode 100644
index 0000000000..a071d79746
--- /dev/null
+++ b/packages/client/ui-tool/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-tool"
+ }
+}
diff --git a/packages/client/ui-tool/locale/zh.json b/packages/client/ui-tool/locale/zh.json
new file mode 100644
index 0000000000..2eb3bc4b7c
--- /dev/null
+++ b/packages/client/ui-tool/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "工具调用展示",
+ "description": "展示工具调用过程、嵌套关系和各工具的结果界面。"
+ }
+}
diff --git a/packages/client/ui-tool/package.json b/packages/client/ui-tool/package.json
index e41d049302..28eaf9342b 100644
--- a/packages/client/ui-tool/package.json
+++ b/packages/client/ui-tool/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -80,6 +81,7 @@
"@deepseek-ai/dsh-user-questions": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-trajectory/locale/en.json b/packages/client/ui-trajectory/locale/en.json
new file mode 100644
index 0000000000..f1f5eb2fb6
--- /dev/null
+++ b/packages/client/ui-trajectory/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-trajectory"
+ }
+}
diff --git a/packages/client/ui-trajectory/locale/zh.json b/packages/client/ui-trajectory/locale/zh.json
new file mode 100644
index 0000000000..3591dbed97
--- /dev/null
+++ b/packages/client/ui-trajectory/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "运行轨迹",
+ "description": "按轮次查看消息、工具调用、耗时和 Token 等运行记录。"
+ }
+}
diff --git a/packages/client/ui-trajectory/package.json b/packages/client/ui-trajectory/package.json
index d847bebe73..1db5a4637d 100644
--- a/packages/client/ui-trajectory/package.json
+++ b/packages/client/ui-trajectory/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -72,6 +73,7 @@
"diff": "^9.0.0"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-user-questions/locale/en.json b/packages/client/ui-user-questions/locale/en.json
new file mode 100644
index 0000000000..7a27389c99
--- /dev/null
+++ b/packages/client/ui-user-questions/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-user-questions"
+ }
+}
diff --git a/packages/client/ui-user-questions/locale/zh.json b/packages/client/ui-user-questions/locale/zh.json
new file mode 100644
index 0000000000..786b23823c
--- /dev/null
+++ b/packages/client/ui-user-questions/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "用户问答界面",
+ "description": "在会话中展示 AI 的提问和计划审阅请求,并收集用户回答。"
+ }
+}
diff --git a/packages/client/ui-user-questions/package.json b/packages/client/ui-user-questions/package.json
index 9371415708..5307f4ea82 100644
--- a/packages/client/ui-user-questions/package.json
+++ b/packages/client/ui-user-questions/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -74,6 +75,7 @@
"@deepseek-ai/dsh-client-ui-tool": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-workflow-run/locale/en.json b/packages/client/ui-workflow-run/locale/en.json
new file mode 100644
index 0000000000..ed487bf62e
--- /dev/null
+++ b/packages/client/ui-workflow-run/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-workflow-run"
+ }
+}
diff --git a/packages/client/ui-workflow-run/locale/zh.json b/packages/client/ui-workflow-run/locale/zh.json
new file mode 100644
index 0000000000..319be876a6
--- /dev/null
+++ b/packages/client/ui-workflow-run/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "工作流运行展示",
+ "description": "在会话中展示工作流运行记录及其成员详情。"
+ }
+}
diff --git a/packages/client/ui-workflow-run/package.json b/packages/client/ui-workflow-run/package.json
index a3c5a392ef..472f10f962 100644
--- a/packages/client/ui-workflow-run/package.json
+++ b/packages/client/ui-workflow-run/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -44,6 +45,7 @@
"watch": "tsdown --watch"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/client/ui-workspace/locale/en.json b/packages/client/ui-workspace/locale/en.json
new file mode 100644
index 0000000000..077d51787e
--- /dev/null
+++ b/packages/client/ui-workspace/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-workspace"
+ }
+}
diff --git a/packages/client/ui-workspace/locale/zh.json b/packages/client/ui-workspace/locale/zh.json
new file mode 100644
index 0000000000..d61486204e
--- /dev/null
+++ b/packages/client/ui-workspace/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "工作区选择界面",
+ "description": "在侧栏和新会话页面中选择工作区。"
+ }
+}
diff --git a/packages/client/ui-workspace/package.json b/packages/client/ui-workspace/package.json
index e5ef226767..5c74cd71b7 100644
--- a/packages/client/ui-workspace/package.json
+++ b/packages/client/ui-workspace/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -82,6 +83,7 @@
"@deepseek-ai/dsh-client-product-analytics": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/compaction/command-compact/locale/en.json b/packages/compaction/command-compact/locale/en.json
new file mode 100644
index 0000000000..6a900164f6
--- /dev/null
+++ b/packages/compaction/command-compact/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "command-compact"
+ }
+}
diff --git a/packages/compaction/command-compact/locale/zh.json b/packages/compaction/command-compact/locale/zh.json
new file mode 100644
index 0000000000..a2145890a2
--- /dev/null
+++ b/packages/compaction/command-compact/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "上下文压缩命令",
+ "description": "让用户通过命令主动压缩当前会话上下文。"
+ }
+}
diff --git a/packages/compaction/command-compact/package.json b/packages/compaction/command-compact/package.json
index 9dbee619ef..3f83a85414 100644
--- a/packages/compaction/command-compact/package.json
+++ b/packages/compaction/command-compact/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/compaction/compaction-basic/locale/en.json b/packages/compaction/compaction-basic/locale/en.json
new file mode 100644
index 0000000000..78fd31f32f
--- /dev/null
+++ b/packages/compaction/compaction-basic/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "compaction-basic"
+ }
+}
diff --git a/packages/compaction/compaction-basic/locale/zh.json b/packages/compaction/compaction-basic/locale/zh.json
new file mode 100644
index 0000000000..352616d5fe
--- /dev/null
+++ b/packages/compaction/compaction-basic/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "上下文压缩",
+ "description": "在上下文达到阈值时,使用模型总结历史内容。"
+ }
+}
diff --git a/packages/compaction/compaction-basic/package.json b/packages/compaction/compaction-basic/package.json
index ae066a2059..67f90972ba 100644
--- a/packages/compaction/compaction-basic/package.json
+++ b/packages/compaction/compaction-basic/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/compaction/compaction-image-offload/locale/en.json b/packages/compaction/compaction-image-offload/locale/en.json
new file mode 100644
index 0000000000..8cfed647b9
--- /dev/null
+++ b/packages/compaction/compaction-image-offload/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "compaction-image-offload"
+ }
+}
diff --git a/packages/compaction/compaction-image-offload/locale/zh.json b/packages/compaction/compaction-image-offload/locale/zh.json
new file mode 100644
index 0000000000..87047960d2
--- /dev/null
+++ b/packages/compaction/compaction-image-offload/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "历史图片卸载",
+ "description": "将超出模型图片预算的历史图片替换为附件引用,再重试请求。"
+ }
+}
diff --git a/packages/compaction/compaction-image-offload/package.json b/packages/compaction/compaction-image-offload/package.json
index 5f205b61f5..c0e0435ad6 100644
--- a/packages/compaction/compaction-image-offload/package.json
+++ b/packages/compaction/compaction-image-offload/package.json
@@ -22,9 +22,11 @@
"./projection": {
"types": "./lib/types/projection.d.ts",
"default": "./lib/types/projection.js"
- }
+ },
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/compaction/compaction-tool-result-pruner/locale/en.json b/packages/compaction/compaction-tool-result-pruner/locale/en.json
new file mode 100644
index 0000000000..ad406873b1
--- /dev/null
+++ b/packages/compaction/compaction-tool-result-pruner/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "compaction-tool-result-pruner"
+ }
+}
diff --git a/packages/compaction/compaction-tool-result-pruner/locale/zh.json b/packages/compaction/compaction-tool-result-pruner/locale/zh.json
new file mode 100644
index 0000000000..bfe5aa3a57
--- /dev/null
+++ b/packages/compaction/compaction-tool-result-pruner/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "工具结果精简",
+ "description": "在上下文压力较大时,精简过长的工具输出并保留首尾内容。"
+ }
+}
diff --git a/packages/compaction/compaction-tool-result-pruner/package.json b/packages/compaction/compaction-tool-result-pruner/package.json
index d5947bd324..4ba34defc8 100644
--- a/packages/compaction/compaction-tool-result-pruner/package.json
+++ b/packages/compaction/compaction-tool-result-pruner/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/context/agent-instructions/locale/en.json b/packages/context/agent-instructions/locale/en.json
new file mode 100644
index 0000000000..816d9020ab
--- /dev/null
+++ b/packages/context/agent-instructions/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "agent-instructions"
+ }
+}
diff --git a/packages/context/agent-instructions/locale/zh.json b/packages/context/agent-instructions/locale/zh.json
new file mode 100644
index 0000000000..0bb7fd9f4c
--- /dev/null
+++ b/packages/context/agent-instructions/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "工作区指令加载",
+ "description": "读取 AGENTS.md、CLAUDE.md 等文件,为 AI 提供工作区规则。"
+ }
+}
diff --git a/packages/context/agent-instructions/package.json b/packages/context/agent-instructions/package.json
index 1f090de17d..cd365762ac 100644
--- a/packages/context/agent-instructions/package.json
+++ b/packages/context/agent-instructions/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/context/file-reference-local/locale/en.json b/packages/context/file-reference-local/locale/en.json
new file mode 100644
index 0000000000..bdb13b8300
--- /dev/null
+++ b/packages/context/file-reference-local/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "file-reference-local"
+ }
+}
diff --git a/packages/context/file-reference-local/locale/zh.json b/packages/context/file-reference-local/locale/zh.json
new file mode 100644
index 0000000000..3762795210
--- /dev/null
+++ b/packages/context/file-reference-local/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "本地文件引用",
+ "description": "提供本地文件的搜索和引用能力。"
+ }
+}
diff --git a/packages/context/file-reference-local/package.json b/packages/context/file-reference-local/package.json
index b59ef051f3..25ff5de92c 100644
--- a/packages/context/file-reference-local/package.json
+++ b/packages/context/file-reference-local/package.json
@@ -23,9 +23,11 @@
"default": "./lib/types/search.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/context/session-reference/locale/en.json b/packages/context/session-reference/locale/en.json
new file mode 100644
index 0000000000..5ce3c4233b
--- /dev/null
+++ b/packages/context/session-reference/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "session-reference"
+ }
+}
diff --git a/packages/context/session-reference/locale/zh.json b/packages/context/session-reference/locale/zh.json
new file mode 100644
index 0000000000..57f311219c
--- /dev/null
+++ b/packages/context/session-reference/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "跨会话引用",
+ "description": "为 AI 提供其他会话的只读内容快照。"
+ }
+}
diff --git a/packages/context/session-reference/package.json b/packages/context/session-reference/package.json
index cc60df45da..3daff8f14d 100644
--- a/packages/context/session-reference/package.json
+++ b/packages/context/session-reference/package.json
@@ -31,9 +31,11 @@
"default": "./lib/typert.remote-client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts",
diff --git a/packages/core/agent-default-model/locale/en.json b/packages/core/agent-default-model/locale/en.json
new file mode 100644
index 0000000000..f186bd3011
--- /dev/null
+++ b/packages/core/agent-default-model/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "agent-default-model"
+ }
+}
diff --git a/packages/core/agent-default-model/locale/zh.json b/packages/core/agent-default-model/locale/zh.json
new file mode 100644
index 0000000000..6b68fb5e2c
--- /dev/null
+++ b/packages/core/agent-default-model/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "默认模型",
+ "description": "为新建智能体提供默认模型选择。"
+ }
+}
diff --git a/packages/core/agent-default-model/package.json b/packages/core/agent-default-model/package.json
index 3adf19597d..a179669090 100644
--- a/packages/core/agent-default-model/package.json
+++ b/packages/core/agent-default-model/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/core/agent-loop/locale/en.json b/packages/core/agent-loop/locale/en.json
new file mode 100644
index 0000000000..d0db02ecc5
--- /dev/null
+++ b/packages/core/agent-loop/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "agent-loop"
+ }
+}
diff --git a/packages/core/agent-loop/locale/zh.json b/packages/core/agent-loop/locale/zh.json
new file mode 100644
index 0000000000..b21c2b149c
--- /dev/null
+++ b/packages/core/agent-loop/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "智能体运行循环",
+ "description": "协调模型请求、工具调用和后续步骤,推进智能体任务。"
+ }
+}
diff --git a/packages/core/agent-loop/package.json b/packages/core/agent-loop/package.json
index 36f124ca94..47f0791833 100644
--- a/packages/core/agent-loop/package.json
+++ b/packages/core/agent-loop/package.json
@@ -18,9 +18,11 @@
"types": "./lib/types/index.d.ts",
"default": "./lib/index.js"
},
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/core/agent-tool-presentation/locale/en.json b/packages/core/agent-tool-presentation/locale/en.json
new file mode 100644
index 0000000000..f8dd1865fc
--- /dev/null
+++ b/packages/core/agent-tool-presentation/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "agent-tool-presentation"
+ }
+}
diff --git a/packages/core/agent-tool-presentation/locale/zh.json b/packages/core/agent-tool-presentation/locale/zh.json
new file mode 100644
index 0000000000..804d500211
--- /dev/null
+++ b/packages/core/agent-tool-presentation/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "工具调用方式",
+ "description": "选择智能体通过原生工具或 PTC 代码来调用工具。"
+ }
+}
diff --git a/packages/core/agent-tool-presentation/package.json b/packages/core/agent-tool-presentation/package.json
index 9837b88713..466465b75a 100644
--- a/packages/core/agent-tool-presentation/package.json
+++ b/packages/core/agent-tool-presentation/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/core/agent/locale/en.json b/packages/core/agent/locale/en.json
new file mode 100644
index 0000000000..62656fe619
--- /dev/null
+++ b/packages/core/agent/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "agent"
+ }
+}
diff --git a/packages/core/agent/locale/zh.json b/packages/core/agent/locale/zh.json
new file mode 100644
index 0000000000..0ec511ecc3
--- /dev/null
+++ b/packages/core/agent/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "智能体管理",
+ "description": "管理智能体实例及其运行上下文和事件。"
+ }
+}
diff --git a/packages/core/agent/package.json b/packages/core/agent/package.json
index ded699a4b7..deb3a08154 100644
--- a/packages/core/agent/package.json
+++ b/packages/core/agent/package.json
@@ -23,9 +23,11 @@
"default": "./lib/types/types.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/core/session/locale/en.json b/packages/core/session/locale/en.json
new file mode 100644
index 0000000000..c7519b7bc7
--- /dev/null
+++ b/packages/core/session/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "session"
+ }
+}
diff --git a/packages/core/session/locale/zh.json b/packages/core/session/locale/zh.json
new file mode 100644
index 0000000000..acf2adf883
--- /dev/null
+++ b/packages/core/session/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "会话记录",
+ "description": "记录会话中的消息、工具调用和运行事件。"
+ }
+}
diff --git a/packages/core/session/package.json b/packages/core/session/package.json
index b8085f30a6..3f062803cc 100644
--- a/packages/core/session/package.json
+++ b/packages/core/session/package.json
@@ -31,9 +31,11 @@
"./surface": {
"types": "./lib/types/surface.d.ts",
"default": "./lib/types/surface.js"
- }
+ },
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/core/system-prompt/locale/en.json b/packages/core/system-prompt/locale/en.json
new file mode 100644
index 0000000000..1bf4f235c8
--- /dev/null
+++ b/packages/core/system-prompt/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "system-prompt"
+ }
+}
diff --git a/packages/core/system-prompt/locale/zh.json b/packages/core/system-prompt/locale/zh.json
new file mode 100644
index 0000000000..2b29254c25
--- /dev/null
+++ b/packages/core/system-prompt/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "系统提示词组装",
+ "description": "汇总各插件提供的系统提示词内容。"
+ }
+}
diff --git a/packages/core/system-prompt/package.json b/packages/core/system-prompt/package.json
index 57adb8cc95..0e3ec253ea 100644
--- a/packages/core/system-prompt/package.json
+++ b/packages/core/system-prompt/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/core/tools/locale/en.json b/packages/core/tools/locale/en.json
new file mode 100644
index 0000000000..c9a7634507
--- /dev/null
+++ b/packages/core/tools/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tools"
+ }
+}
diff --git a/packages/core/tools/locale/zh.json b/packages/core/tools/locale/zh.json
new file mode 100644
index 0000000000..eb3227360e
--- /dev/null
+++ b/packages/core/tools/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "工具注册与执行",
+ "description": "管理可用工具及其调用执行流程。"
+ }
+}
diff --git a/packages/core/tools/package.json b/packages/core/tools/package.json
index 3cc8922032..caa9985b76 100644
--- a/packages/core/tools/package.json
+++ b/packages/core/tools/package.json
@@ -27,9 +27,11 @@
"default": "./lib/types/presentation.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/credentials/authorization/locale/en.json b/packages/credentials/authorization/locale/en.json
new file mode 100644
index 0000000000..8994ac6ecc
--- /dev/null
+++ b/packages/credentials/authorization/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "authorization"
+ }
+}
diff --git a/packages/credentials/authorization/locale/zh.json b/packages/credentials/authorization/locale/zh.json
new file mode 100644
index 0000000000..bdf3420d15
--- /dev/null
+++ b/packages/credentials/authorization/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "授权流程服务",
+ "description": "组织需要用户参与的登录和凭据授权流程。"
+ }
+}
diff --git a/packages/credentials/authorization/package.json b/packages/credentials/authorization/package.json
index 63def783d8..f0c692c7aa 100644
--- a/packages/credentials/authorization/package.json
+++ b/packages/credentials/authorization/package.json
@@ -23,9 +23,11 @@
"default": "./lib/types/types.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/credentials/credentials-local/locale/en.json b/packages/credentials/credentials-local/locale/en.json
new file mode 100644
index 0000000000..04f0645da2
--- /dev/null
+++ b/packages/credentials/credentials-local/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "credentials-local"
+ }
+}
diff --git a/packages/credentials/credentials-local/locale/zh.json b/packages/credentials/credentials-local/locale/zh.json
new file mode 100644
index 0000000000..1c3eb9d615
--- /dev/null
+++ b/packages/credentials/credentials-local/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "本地凭据存储",
+ "description": "保存 API 密钥等凭据,并按优先级读取环境变量和本地凭据文件。"
+ }
+}
diff --git a/packages/credentials/credentials-local/package.json b/packages/credentials/credentials-local/package.json
index 7eafba6772..501e8515ce 100644
--- a/packages/credentials/credentials-local/package.json
+++ b/packages/credentials/credentials-local/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/credentials/deepseek-account-platform/locale/en.json b/packages/credentials/deepseek-account-platform/locale/en.json
new file mode 100644
index 0000000000..542b6b880f
--- /dev/null
+++ b/packages/credentials/deepseek-account-platform/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "deepseek-account-platform"
+ }
+}
diff --git a/packages/credentials/deepseek-account-platform/locale/zh.json b/packages/credentials/deepseek-account-platform/locale/zh.json
new file mode 100644
index 0000000000..86bbe95c12
--- /dev/null
+++ b/packages/credentials/deepseek-account-platform/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "DeepSeek 账号登录",
+ "description": "通过浏览器完成 DeepSeek 账号登录授权。"
+ }
+}
diff --git a/packages/credentials/deepseek-account-platform/package.json b/packages/credentials/deepseek-account-platform/package.json
index c07bd45e51..fbd24caa37 100644
--- a/packages/credentials/deepseek-account-platform/package.json
+++ b/packages/credentials/deepseek-account-platform/package.json
@@ -23,9 +23,11 @@
"default": "./lib/types/types.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/deliverables/tool-present/locale/en.json b/packages/deliverables/tool-present/locale/en.json
new file mode 100644
index 0000000000..6efec8a8e1
--- /dev/null
+++ b/packages/deliverables/tool-present/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tool-present"
+ }
+}
diff --git a/packages/deliverables/tool-present/locale/zh.json b/packages/deliverables/tool-present/locale/zh.json
new file mode 100644
index 0000000000..c884f69fdd
--- /dev/null
+++ b/packages/deliverables/tool-present/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "文件交付工具",
+ "description": "让 AI 将工作区文件明确标记为本轮交付内容。"
+ }
+}
diff --git a/packages/deliverables/tool-present/package.json b/packages/deliverables/tool-present/package.json
index f0c0e74b0f..6876a3ac26 100644
--- a/packages/deliverables/tool-present/package.json
+++ b/packages/deliverables/tool-present/package.json
@@ -23,10 +23,12 @@
"default": "./lib/types/types.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"license": "MIT",
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/deliverables/workspace-changes/locale/en.json b/packages/deliverables/workspace-changes/locale/en.json
new file mode 100644
index 0000000000..909d083bde
--- /dev/null
+++ b/packages/deliverables/workspace-changes/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "workspace-changes"
+ }
+}
diff --git a/packages/deliverables/workspace-changes/locale/zh.json b/packages/deliverables/workspace-changes/locale/zh.json
new file mode 100644
index 0000000000..da51fea706
--- /dev/null
+++ b/packages/deliverables/workspace-changes/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "工作区变更记录",
+ "description": "记录每轮任务的文件变化,供逐文件比较。"
+ }
+}
diff --git a/packages/deliverables/workspace-changes/package.json b/packages/deliverables/workspace-changes/package.json
index c82567db87..fef51365a2 100644
--- a/packages/deliverables/workspace-changes/package.json
+++ b/packages/deliverables/workspace-changes/package.json
@@ -23,10 +23,12 @@
"default": "./lib/types/types.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"license": "MIT",
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/document/office-to-pdf/locale/en.json b/packages/document/office-to-pdf/locale/en.json
new file mode 100644
index 0000000000..574f708afe
--- /dev/null
+++ b/packages/document/office-to-pdf/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "office-to-pdf"
+ }
+}
diff --git a/packages/document/office-to-pdf/locale/zh.json b/packages/document/office-to-pdf/locale/zh.json
new file mode 100644
index 0000000000..6a6243be60
--- /dev/null
+++ b/packages/document/office-to-pdf/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "Office 转 PDF",
+ "description": "将 Word、Excel 和 PowerPoint 等文档转换为 PDF,供预览使用。"
+ }
+}
diff --git a/packages/document/office-to-pdf/package.json b/packages/document/office-to-pdf/package.json
index 087d544293..eaf703ac3a 100644
--- a/packages/document/office-to-pdf/package.json
+++ b/packages/document/office-to-pdf/package.json
@@ -32,9 +32,11 @@
"./typert": {
"types": "./lib/typert.host.d.ts",
"default": "./lib/typert.host.js"
- }
+ },
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts",
diff --git a/packages/experimental/tool-ralph/locale/en.json b/packages/experimental/tool-ralph/locale/en.json
new file mode 100644
index 0000000000..fb6feb52e6
--- /dev/null
+++ b/packages/experimental/tool-ralph/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tool-ralph"
+ }
+}
diff --git a/packages/experimental/tool-ralph/locale/zh.json b/packages/experimental/tool-ralph/locale/zh.json
new file mode 100644
index 0000000000..5e9601ee1f
--- /dev/null
+++ b/packages/experimental/tool-ralph/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "Ralph 迭代工具",
+ "description": "围绕同一目标逐轮运行新的子智能体,并传递上一轮的简要报告。"
+ }
+}
diff --git a/packages/experimental/tool-ralph/package.json b/packages/experimental/tool-ralph/package.json
index fca05d68cc..c7d94eb28a 100644
--- a/packages/experimental/tool-ralph/package.json
+++ b/packages/experimental/tool-ralph/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/extensions/cordis-client-runner/locale/en.json b/packages/extensions/cordis-client-runner/locale/en.json
new file mode 100644
index 0000000000..2722f3c653
--- /dev/null
+++ b/packages/extensions/cordis-client-runner/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "cordis-client-runner"
+ }
+}
diff --git a/packages/extensions/cordis-client-runner/locale/zh.json b/packages/extensions/cordis-client-runner/locale/zh.json
new file mode 100644
index 0000000000..96dd065277
--- /dev/null
+++ b/packages/extensions/cordis-client-runner/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "动态插件浏览器运行器",
+ "description": "加载并运行临时动态插件的浏览器部分。"
+ }
+}
diff --git a/packages/extensions/cordis-client-runner/package.json b/packages/extensions/cordis-client-runner/package.json
index 44b4f09d32..cb0a743583 100644
--- a/packages/extensions/cordis-client-runner/package.json
+++ b/packages/extensions/cordis-client-runner/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -56,6 +57,7 @@
"@deepseek-ai/dsh-util-values": "workspace:*"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/extensions/cordis-host-runner/locale/en.json b/packages/extensions/cordis-host-runner/locale/en.json
new file mode 100644
index 0000000000..9bdaa8c8af
--- /dev/null
+++ b/packages/extensions/cordis-host-runner/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "cordis-host-runner"
+ }
+}
diff --git a/packages/extensions/cordis-host-runner/locale/zh.json b/packages/extensions/cordis-host-runner/locale/zh.json
new file mode 100644
index 0000000000..db5c6e3eb9
--- /dev/null
+++ b/packages/extensions/cordis-host-runner/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "动态插件服务端运行器",
+ "description": "管理临时动态插件定义,并运行其服务端部分。"
+ }
+}
diff --git a/packages/extensions/cordis-host-runner/package.json b/packages/extensions/cordis-host-runner/package.json
index 6bf679baad..986c902a48 100644
--- a/packages/extensions/cordis-host-runner/package.json
+++ b/packages/extensions/cordis-host-runner/package.json
@@ -31,9 +31,11 @@
"default": "./lib/typert.remote-client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts",
diff --git a/packages/extensions/tool-cordis/locale/en.json b/packages/extensions/tool-cordis/locale/en.json
new file mode 100644
index 0000000000..5d22e8deb4
--- /dev/null
+++ b/packages/extensions/tool-cordis/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tool-cordis"
+ }
+}
diff --git a/packages/extensions/tool-cordis/locale/host/en.json b/packages/extensions/tool-cordis/locale/host/en.json
new file mode 100644
index 0000000000..2ec4c40a27
--- /dev/null
+++ b/packages/extensions/tool-cordis/locale/host/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tool-cordis/host"
+ }
+}
diff --git a/packages/extensions/tool-cordis/locale/host/zh.json b/packages/extensions/tool-cordis/locale/host/zh.json
new file mode 100644
index 0000000000..97dc7fa832
--- /dev/null
+++ b/packages/extensions/tool-cordis/locale/host/zh.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "插件 API 检查服务"
+ }
+}
diff --git a/packages/extensions/tool-cordis/locale/zh.json b/packages/extensions/tool-cordis/locale/zh.json
new file mode 100644
index 0000000000..173e97fbee
--- /dev/null
+++ b/packages/extensions/tool-cordis/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "插件 API 查询工具",
+ "description": "让 AI 在开发插件前查询服务端和浏览器端的可用 API。"
+ }
+}
diff --git a/packages/extensions/tool-cordis/package.json b/packages/extensions/tool-cordis/package.json
index 117afcd2a5..804b0d0edf 100644
--- a/packages/extensions/tool-cordis/package.json
+++ b/packages/extensions/tool-cordis/package.json
@@ -23,9 +23,13 @@
"default": "./lib/types/host.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./host/locale/*.json": "./locale/host/*.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
+ "locale/host/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/extensions/ui-cordis/locale/en.json b/packages/extensions/ui-cordis/locale/en.json
new file mode 100644
index 0000000000..6a122872d9
--- /dev/null
+++ b/packages/extensions/ui-cordis/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ui-cordis"
+ }
+}
diff --git a/packages/extensions/ui-cordis/locale/zh.json b/packages/extensions/ui-cordis/locale/zh.json
new file mode 100644
index 0000000000..9660e2eba5
--- /dev/null
+++ b/packages/extensions/ui-cordis/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "动态插件运行卡片",
+ "description": "展示动态插件定义,并提供运行和停止控件。"
+ }
+}
diff --git a/packages/extensions/ui-cordis/package.json b/packages/extensions/ui-cordis/package.json
index 0ab70fc393..a633c2ac5e 100644
--- a/packages/extensions/ui-cordis/package.json
+++ b/packages/extensions/ui-cordis/package.json
@@ -23,7 +23,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -66,6 +67,7 @@
"react": "^18.2.0"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/feedback/command-feedback/locale/en.json b/packages/feedback/command-feedback/locale/en.json
new file mode 100644
index 0000000000..90099ceef0
--- /dev/null
+++ b/packages/feedback/command-feedback/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "command-feedback"
+ }
+}
diff --git a/packages/feedback/command-feedback/locale/zh.json b/packages/feedback/command-feedback/locale/zh.json
new file mode 100644
index 0000000000..c7ba9e8062
--- /dev/null
+++ b/packages/feedback/command-feedback/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "会话反馈命令",
+ "description": "通过 /feedback 等入口记录用户对会话的评价。"
+ }
+}
diff --git a/packages/feedback/command-feedback/package.json b/packages/feedback/command-feedback/package.json
index 4272fcc315..fddddb2af6 100644
--- a/packages/feedback/command-feedback/package.json
+++ b/packages/feedback/command-feedback/package.json
@@ -31,9 +31,11 @@
"default": "./lib/typert.remote-client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts",
diff --git a/packages/feedback/message-feedback/locale/en.json b/packages/feedback/message-feedback/locale/en.json
new file mode 100644
index 0000000000..2f9141ea21
--- /dev/null
+++ b/packages/feedback/message-feedback/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "message-feedback"
+ }
+}
diff --git a/packages/feedback/message-feedback/locale/zh.json b/packages/feedback/message-feedback/locale/zh.json
new file mode 100644
index 0000000000..94340242a3
--- /dev/null
+++ b/packages/feedback/message-feedback/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "消息反馈记录",
+ "description": "记录用户对助手回复的赞、踩和补充意见。"
+ }
+}
diff --git a/packages/feedback/message-feedback/package.json b/packages/feedback/message-feedback/package.json
index f904b55a15..e66b9637c1 100644
--- a/packages/feedback/message-feedback/package.json
+++ b/packages/feedback/message-feedback/package.json
@@ -31,9 +31,11 @@
"default": "./lib/typert.remote-client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts",
diff --git a/packages/fs/fs-observation-policy/locale/en.json b/packages/fs/fs-observation-policy/locale/en.json
new file mode 100644
index 0000000000..51aa5de2f7
--- /dev/null
+++ b/packages/fs/fs-observation-policy/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "fs-observation-policy"
+ }
+}
diff --git a/packages/fs/fs-observation-policy/locale/zh.json b/packages/fs/fs-observation-policy/locale/zh.json
new file mode 100644
index 0000000000..b27700db75
--- /dev/null
+++ b/packages/fs/fs-observation-policy/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "文件编辑保护",
+ "description": "要求 AI 编辑前先读取文件,并在文件发生变化时重新确认内容。"
+ }
+}
diff --git a/packages/fs/fs-observation-policy/package.json b/packages/fs/fs-observation-policy/package.json
index 58b8e19fd5..758722adea 100644
--- a/packages/fs/fs-observation-policy/package.json
+++ b/packages/fs/fs-observation-policy/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/fs/fs-sandbox/locale/en.json b/packages/fs/fs-sandbox/locale/en.json
new file mode 100644
index 0000000000..1f840aceff
--- /dev/null
+++ b/packages/fs/fs-sandbox/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "fs-sandbox"
+ }
+}
diff --git a/packages/fs/fs-sandbox/locale/zh.json b/packages/fs/fs-sandbox/locale/zh.json
new file mode 100644
index 0000000000..bad04aeb06
--- /dev/null
+++ b/packages/fs/fs-sandbox/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "文件沙箱访问",
+ "description": "按当前权限模式限制文件写入和编辑范围。"
+ }
+}
diff --git a/packages/fs/fs-sandbox/package.json b/packages/fs/fs-sandbox/package.json
index 844758f7a9..eeda7583b3 100644
--- a/packages/fs/fs-sandbox/package.json
+++ b/packages/fs/fs-sandbox/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/fs/tool-fs-search/locale/en.json b/packages/fs/tool-fs-search/locale/en.json
new file mode 100644
index 0000000000..e5240fe30c
--- /dev/null
+++ b/packages/fs/tool-fs-search/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tool-fs-search"
+ }
+}
diff --git a/packages/fs/tool-fs-search/locale/zh.json b/packages/fs/tool-fs-search/locale/zh.json
new file mode 100644
index 0000000000..bc950ee013
--- /dev/null
+++ b/packages/fs/tool-fs-search/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "文件搜索工具",
+ "description": "让 AI 按文件名或文本内容搜索本地文件。"
+ }
+}
diff --git a/packages/fs/tool-fs-search/package.json b/packages/fs/tool-fs-search/package.json
index 5885144af6..c2bba99ac8 100644
--- a/packages/fs/tool-fs-search/package.json
+++ b/packages/fs/tool-fs-search/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/fs/tool-fs/locale/en.json b/packages/fs/tool-fs/locale/en.json
new file mode 100644
index 0000000000..fc00221d5c
--- /dev/null
+++ b/packages/fs/tool-fs/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tool-fs"
+ }
+}
diff --git a/packages/fs/tool-fs/locale/zh.json b/packages/fs/tool-fs/locale/zh.json
new file mode 100644
index 0000000000..2b8411864e
--- /dev/null
+++ b/packages/fs/tool-fs/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "文件读写工具",
+ "description": "让 AI 读取、创建和编辑工作文件。"
+ }
+}
diff --git a/packages/fs/tool-fs/package.json b/packages/fs/tool-fs/package.json
index a902203342..3055b080a5 100644
--- a/packages/fs/tool-fs/package.json
+++ b/packages/fs/tool-fs/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/goal/command-goal/locale/en.json b/packages/goal/command-goal/locale/en.json
new file mode 100644
index 0000000000..09bb4160d0
--- /dev/null
+++ b/packages/goal/command-goal/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "command-goal"
+ }
+}
diff --git a/packages/goal/command-goal/locale/zh.json b/packages/goal/command-goal/locale/zh.json
new file mode 100644
index 0000000000..2835b5d31b
--- /dev/null
+++ b/packages/goal/command-goal/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "目标管理命令",
+ "description": "通过用户命令设置和管理当前会话目标。"
+ }
+}
diff --git a/packages/goal/command-goal/package.json b/packages/goal/command-goal/package.json
index a52384d662..993a0731f7 100644
--- a/packages/goal/command-goal/package.json
+++ b/packages/goal/command-goal/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/goal/goal-round-driver/locale/en.json b/packages/goal/goal-round-driver/locale/en.json
new file mode 100644
index 0000000000..fc39a234a5
--- /dev/null
+++ b/packages/goal/goal-round-driver/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "goal-round-driver"
+ }
+}
diff --git a/packages/goal/goal-round-driver/locale/zh.json b/packages/goal/goal-round-driver/locale/zh.json
new file mode 100644
index 0000000000..0c07ae7b80
--- /dev/null
+++ b/packages/goal/goal-round-driver/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "目标自动续行",
+ "description": "在条件和额度允许时,让 AI 继续推进当前会话的目标。"
+ }
+}
diff --git a/packages/goal/goal-round-driver/package.json b/packages/goal/goal-round-driver/package.json
index 8c0a98720e..7554941fbe 100644
--- a/packages/goal/goal-round-driver/package.json
+++ b/packages/goal/goal-round-driver/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/goal/goal/locale/en.json b/packages/goal/goal/locale/en.json
new file mode 100644
index 0000000000..578c562664
--- /dev/null
+++ b/packages/goal/goal/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "goal"
+ }
+}
diff --git a/packages/goal/goal/locale/zh.json b/packages/goal/goal/locale/zh.json
new file mode 100644
index 0000000000..298a3cd987
--- /dev/null
+++ b/packages/goal/goal/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "会话目标服务",
+ "description": "记录会话目标,并管理目标的状态和生命周期。"
+ }
+}
diff --git a/packages/goal/goal/package.json b/packages/goal/goal/package.json
index 8c99a4be08..de04d5815d 100644
--- a/packages/goal/goal/package.json
+++ b/packages/goal/goal/package.json
@@ -35,9 +35,11 @@
"default": "./lib/typert.remote-client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts",
diff --git a/packages/goal/tool-goal/locale/en.json b/packages/goal/tool-goal/locale/en.json
new file mode 100644
index 0000000000..897743ef37
--- /dev/null
+++ b/packages/goal/tool-goal/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tool-goal"
+ }
+}
diff --git a/packages/goal/tool-goal/locale/zh.json b/packages/goal/tool-goal/locale/zh.json
new file mode 100644
index 0000000000..4b98edfc50
--- /dev/null
+++ b/packages/goal/tool-goal/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "目标管理工具",
+ "description": "让 AI 设置、查看和更新当前会话目标。"
+ }
+}
diff --git a/packages/goal/tool-goal/package.json b/packages/goal/tool-goal/package.json
index 2bef2b4948..e5c0e9d8e7 100644
--- a/packages/goal/tool-goal/package.json
+++ b/packages/goal/tool-goal/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/guard/repeat-tool-reminder/locale/en.json b/packages/guard/repeat-tool-reminder/locale/en.json
new file mode 100644
index 0000000000..614c8cc6ec
--- /dev/null
+++ b/packages/guard/repeat-tool-reminder/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "repeat-tool-reminder"
+ }
+}
diff --git a/packages/guard/repeat-tool-reminder/locale/zh.json b/packages/guard/repeat-tool-reminder/locale/zh.json
new file mode 100644
index 0000000000..63d51292bf
--- /dev/null
+++ b/packages/guard/repeat-tool-reminder/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "重复工具调用提醒",
+ "description": "在 AI 重复执行相同工具调用时,提示它调整做法。"
+ }
+}
diff --git a/packages/guard/repeat-tool-reminder/package.json b/packages/guard/repeat-tool-reminder/package.json
index 1ecdab5fe5..ab16ad6efa 100644
--- a/packages/guard/repeat-tool-reminder/package.json
+++ b/packages/guard/repeat-tool-reminder/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/guard/timeout-policy/locale/en.json b/packages/guard/timeout-policy/locale/en.json
new file mode 100644
index 0000000000..0fd9b512a5
--- /dev/null
+++ b/packages/guard/timeout-policy/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tool-call-timeout-policy"
+ }
+}
diff --git a/packages/guard/timeout-policy/locale/zh.json b/packages/guard/timeout-policy/locale/zh.json
new file mode 100644
index 0000000000..753a17517c
--- /dev/null
+++ b/packages/guard/timeout-policy/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "工具调用超时控制",
+ "description": "按各工具的时限发出取消信号,并返回超时结果。"
+ }
+}
diff --git a/packages/guard/timeout-policy/package.json b/packages/guard/timeout-policy/package.json
index 59aa4ae6fd..c9db3d51b7 100644
--- a/packages/guard/timeout-policy/package.json
+++ b/packages/guard/timeout-policy/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/host/directory-picker-auto/locale/en.json b/packages/host/directory-picker-auto/locale/en.json
new file mode 100644
index 0000000000..e29a153177
--- /dev/null
+++ b/packages/host/directory-picker-auto/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "directory-picker-auto"
+ }
+}
diff --git a/packages/host/directory-picker-auto/locale/zh.json b/packages/host/directory-picker-auto/locale/zh.json
new file mode 100644
index 0000000000..3d39264e9c
--- /dev/null
+++ b/packages/host/directory-picker-auto/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "目录选择方式适配",
+ "description": "根据运行环境选择系统目录对话框或应用内目录浏览。"
+ }
+}
diff --git a/packages/host/directory-picker-auto/package.json b/packages/host/directory-picker-auto/package.json
index 583de44661..10607cfc50 100644
--- a/packages/host/directory-picker-auto/package.json
+++ b/packages/host/directory-picker-auto/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/host/directory-picker-browse/locale/en.json b/packages/host/directory-picker-browse/locale/en.json
new file mode 100644
index 0000000000..78ef5f0341
--- /dev/null
+++ b/packages/host/directory-picker-browse/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "directory-picker-browse"
+ }
+}
diff --git a/packages/host/directory-picker-browse/locale/zh.json b/packages/host/directory-picker-browse/locale/zh.json
new file mode 100644
index 0000000000..2481fbedca
--- /dev/null
+++ b/packages/host/directory-picker-browse/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "应用内目录浏览服务",
+ "description": "提供本地目录的列表和创建能力,供应用内选择目录。"
+ }
+}
diff --git a/packages/host/directory-picker-browse/package.json b/packages/host/directory-picker-browse/package.json
index 2d7afd4db9..c6e168a994 100644
--- a/packages/host/directory-picker-browse/package.json
+++ b/packages/host/directory-picker-browse/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/host/directory-picker-native/locale/en.json b/packages/host/directory-picker-native/locale/en.json
new file mode 100644
index 0000000000..7f2f455bae
--- /dev/null
+++ b/packages/host/directory-picker-native/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "directory-picker-native"
+ }
+}
diff --git a/packages/host/directory-picker-native/locale/zh.json b/packages/host/directory-picker-native/locale/zh.json
new file mode 100644
index 0000000000..f042f876c9
--- /dev/null
+++ b/packages/host/directory-picker-native/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "系统目录选择服务",
+ "description": "调用操作系统的目录选择对话框。"
+ }
+}
diff --git a/packages/host/directory-picker-native/package.json b/packages/host/directory-picker-native/package.json
index e88530126b..d49d0311ad 100644
--- a/packages/host/directory-picker-native/package.json
+++ b/packages/host/directory-picker-native/package.json
@@ -23,9 +23,11 @@
"default": "./lib/worker.cjs"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/worker.cjs",
"lib/types/**/*.d.ts"
diff --git a/packages/host/open-in-app/locale/en.json b/packages/host/open-in-app/locale/en.json
new file mode 100644
index 0000000000..8416f9d3ec
--- /dev/null
+++ b/packages/host/open-in-app/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "open-in-app"
+ }
+}
diff --git a/packages/host/open-in-app/locale/zh.json b/packages/host/open-in-app/locale/zh.json
new file mode 100644
index 0000000000..d72f73226d
--- /dev/null
+++ b/packages/host/open-in-app/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "外部应用打开服务",
+ "description": "查找可用的本地应用,并用所选应用打开文件或工作区。"
+ }
+}
diff --git a/packages/host/open-in-app/package.json b/packages/host/open-in-app/package.json
index b2a6bd03f5..306ec01e97 100644
--- a/packages/host/open-in-app/package.json
+++ b/packages/host/open-in-app/package.json
@@ -23,9 +23,11 @@
"default": "./lib/types/shared.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/host/plugin-inventory/locale/en.json b/packages/host/plugin-inventory/locale/en.json
new file mode 100644
index 0000000000..dcffb70d71
--- /dev/null
+++ b/packages/host/plugin-inventory/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "plugin-inventory"
+ }
+}
diff --git a/packages/host/plugin-inventory/locale/zh.json b/packages/host/plugin-inventory/locale/zh.json
new file mode 100644
index 0000000000..9cbdcf43f3
--- /dev/null
+++ b/packages/host/plugin-inventory/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "插件清单服务",
+ "description": "提供当前插件条目、配置启用状态和运行状态的只读清单。"
+ }
+}
diff --git a/packages/host/plugin-inventory/package.json b/packages/host/plugin-inventory/package.json
index abf51934ab..4c6f3f52e4 100644
--- a/packages/host/plugin-inventory/package.json
+++ b/packages/host/plugin-inventory/package.json
@@ -31,9 +31,11 @@
"default": "./lib/typert.remote-client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts",
diff --git a/packages/host/product-telemetry-otel/locale/en.json b/packages/host/product-telemetry-otel/locale/en.json
new file mode 100644
index 0000000000..8cddf7b041
--- /dev/null
+++ b/packages/host/product-telemetry-otel/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "product-telemetry-otel"
+ }
+}
diff --git a/packages/host/product-telemetry-otel/locale/zh.json b/packages/host/product-telemetry-otel/locale/zh.json
new file mode 100644
index 0000000000..5fc992e44f
--- /dev/null
+++ b/packages/host/product-telemetry-otel/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "产品使用事件上报",
+ "description": "通过 OpenTelemetry 向配置的服务上报指定产品使用事件。"
+ }
+}
diff --git a/packages/host/product-telemetry-otel/package.json b/packages/host/product-telemetry-otel/package.json
index 5a6a98f5db..aa5cdc4f82 100644
--- a/packages/host/product-telemetry-otel/package.json
+++ b/packages/host/product-telemetry-otel/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/host/webserver/locale/en.json b/packages/host/webserver/locale/en.json
new file mode 100644
index 0000000000..54f9c325e2
--- /dev/null
+++ b/packages/host/webserver/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "webserver"
+ }
+}
diff --git a/packages/host/webserver/locale/zh.json b/packages/host/webserver/locale/zh.json
new file mode 100644
index 0000000000..8f91dc352e
--- /dev/null
+++ b/packages/host/webserver/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "Web 服务",
+ "description": "注册网页和接口路由,提供 HTTP 服务。"
+ }
+}
diff --git a/packages/host/webserver/package.json b/packages/host/webserver/package.json
index 445ca07fda..eebdb0fa83 100644
--- a/packages/host/webserver/package.json
+++ b/packages/host/webserver/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/interaction/commands/locale/en.json b/packages/interaction/commands/locale/en.json
new file mode 100644
index 0000000000..f1b5536605
--- /dev/null
+++ b/packages/interaction/commands/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "commands"
+ }
+}
diff --git a/packages/interaction/commands/locale/zh.json b/packages/interaction/commands/locale/zh.json
new file mode 100644
index 0000000000..d9a10cc29a
--- /dev/null
+++ b/packages/interaction/commands/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "用户命令服务",
+ "description": "注册和管理插件提供的用户命令。"
+ }
+}
diff --git a/packages/interaction/commands/package.json b/packages/interaction/commands/package.json
index 3ccc8638f5..fa364fa2e0 100644
--- a/packages/interaction/commands/package.json
+++ b/packages/interaction/commands/package.json
@@ -35,9 +35,11 @@
"default": "./lib/typert.remote-client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts",
diff --git a/packages/interaction/permission-presets/locale/en.json b/packages/interaction/permission-presets/locale/en.json
new file mode 100644
index 0000000000..93aefa915a
--- /dev/null
+++ b/packages/interaction/permission-presets/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "permission-presets"
+ }
+}
diff --git a/packages/interaction/permission-presets/locale/zh.json b/packages/interaction/permission-presets/locale/zh.json
new file mode 100644
index 0000000000..c2a2b90af6
--- /dev/null
+++ b/packages/interaction/permission-presets/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "权限模式服务",
+ "description": "管理用户选择的权限模式,统一对应的沙箱和审批策略。"
+ }
+}
diff --git a/packages/interaction/permission-presets/package.json b/packages/interaction/permission-presets/package.json
index c0744dd1fc..c67fb819b7 100644
--- a/packages/interaction/permission-presets/package.json
+++ b/packages/interaction/permission-presets/package.json
@@ -35,9 +35,11 @@
"default": "./lib/typert.remote-client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts",
diff --git a/packages/interaction/tool-ask-user/locale/en.json b/packages/interaction/tool-ask-user/locale/en.json
new file mode 100644
index 0000000000..595eb2a5a1
--- /dev/null
+++ b/packages/interaction/tool-ask-user/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tool-ask-user"
+ }
+}
diff --git a/packages/interaction/tool-ask-user/locale/zh.json b/packages/interaction/tool-ask-user/locale/zh.json
new file mode 100644
index 0000000000..5a4f02ed74
--- /dev/null
+++ b/packages/interaction/tool-ask-user/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "向用户提问工具",
+ "description": "让 AI 在需要补充信息或选择时向用户提问。"
+ }
+}
diff --git a/packages/interaction/tool-ask-user/package.json b/packages/interaction/tool-ask-user/package.json
index b2f84f0d83..4ede4c7377 100644
--- a/packages/interaction/tool-ask-user/package.json
+++ b/packages/interaction/tool-ask-user/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/interaction/user-approval/locale/en.json b/packages/interaction/user-approval/locale/en.json
new file mode 100644
index 0000000000..fec089e7f6
--- /dev/null
+++ b/packages/interaction/user-approval/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "user-approval"
+ }
+}
diff --git a/packages/interaction/user-approval/locale/zh.json b/packages/interaction/user-approval/locale/zh.json
new file mode 100644
index 0000000000..579913e57e
--- /dev/null
+++ b/packages/interaction/user-approval/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "用户审批服务",
+ "description": "向用户请求操作授权,并返回本次审批结果。"
+ }
+}
diff --git a/packages/interaction/user-approval/package.json b/packages/interaction/user-approval/package.json
index f68a6bc7fa..c02a688c40 100644
--- a/packages/interaction/user-approval/package.json
+++ b/packages/interaction/user-approval/package.json
@@ -23,9 +23,11 @@
"default": "./lib/types/types.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/interaction/user-questions/locale/en.json b/packages/interaction/user-questions/locale/en.json
new file mode 100644
index 0000000000..b4780dadb0
--- /dev/null
+++ b/packages/interaction/user-questions/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "user-questions"
+ }
+}
diff --git a/packages/interaction/user-questions/locale/zh.json b/packages/interaction/user-questions/locale/zh.json
new file mode 100644
index 0000000000..2cf1d31cc1
--- /dev/null
+++ b/packages/interaction/user-questions/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "用户提问服务",
+ "description": "让运行中的 AI 向用户提问并等待回答。"
+ }
+}
diff --git a/packages/interaction/user-questions/package.json b/packages/interaction/user-questions/package.json
index 595a60fedc..ca38f5ca3f 100644
--- a/packages/interaction/user-questions/package.json
+++ b/packages/interaction/user-questions/package.json
@@ -31,9 +31,11 @@
"./remote": {
"types": "./lib/typert.remote-client.d.ts",
"default": "./lib/typert.remote-client.js"
- }
+ },
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts",
diff --git a/packages/jobs/jobs-local/locale/en.json b/packages/jobs/jobs-local/locale/en.json
new file mode 100644
index 0000000000..2be5034ad6
--- /dev/null
+++ b/packages/jobs/jobs-local/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "jobs-local"
+ }
+}
diff --git a/packages/jobs/jobs-local/locale/zh.json b/packages/jobs/jobs-local/locale/zh.json
new file mode 100644
index 0000000000..b57918d75f
--- /dev/null
+++ b/packages/jobs/jobs-local/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "本地后台任务",
+ "description": "管理当前进程中的后台任务及其运行状态。"
+ }
+}
diff --git a/packages/jobs/jobs-local/package.json b/packages/jobs/jobs-local/package.json
index 62b9e4fdc1..cb001c77a5 100644
--- a/packages/jobs/jobs-local/package.json
+++ b/packages/jobs/jobs-local/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/jobs/tool-jobs/locale/en.json b/packages/jobs/tool-jobs/locale/en.json
new file mode 100644
index 0000000000..161d42c294
--- /dev/null
+++ b/packages/jobs/tool-jobs/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tool-jobs"
+ }
+}
diff --git a/packages/jobs/tool-jobs/locale/zh.json b/packages/jobs/tool-jobs/locale/zh.json
new file mode 100644
index 0000000000..56ec67fb76
--- /dev/null
+++ b/packages/jobs/tool-jobs/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "后台任务工具",
+ "description": "让 AI 查看后台任务、读取输出或停止任务。"
+ }
+}
diff --git a/packages/jobs/tool-jobs/package.json b/packages/jobs/tool-jobs/package.json
index 5830da7705..39b80ecce2 100644
--- a/packages/jobs/tool-jobs/package.json
+++ b/packages/jobs/tool-jobs/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/llm/deepseek-llm-api-extensions/locale/en.json b/packages/llm/deepseek-llm-api-extensions/locale/en.json
new file mode 100644
index 0000000000..8dbc1dfc63
--- /dev/null
+++ b/packages/llm/deepseek-llm-api-extensions/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "deepseek-llm-api-extensions"
+ }
+}
diff --git a/packages/llm/deepseek-llm-api-extensions/locale/zh.json b/packages/llm/deepseek-llm-api-extensions/locale/zh.json
new file mode 100644
index 0000000000..9b6be7a0cd
--- /dev/null
+++ b/packages/llm/deepseek-llm-api-extensions/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "DeepSeek API 扩展",
+ "description": "允许其他插件向 DeepSeek 模型请求添加扩展字段。"
+ }
+}
diff --git a/packages/llm/deepseek-llm-api-extensions/package.json b/packages/llm/deepseek-llm-api-extensions/package.json
index a09355d960..357f436e88 100644
--- a/packages/llm/deepseek-llm-api-extensions/package.json
+++ b/packages/llm/deepseek-llm-api-extensions/package.json
@@ -23,9 +23,11 @@
"default": "./lib/types/types.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/llm/llm-deepseek-account/locale/en.json b/packages/llm/llm-deepseek-account/locale/en.json
new file mode 100644
index 0000000000..216b8d0d59
--- /dev/null
+++ b/packages/llm/llm-deepseek-account/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "llm-deepseek-account"
+ }
+}
diff --git a/packages/llm/llm-deepseek-account/locale/zh.json b/packages/llm/llm-deepseek-account/locale/zh.json
new file mode 100644
index 0000000000..4405667071
--- /dev/null
+++ b/packages/llm/llm-deepseek-account/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "DeepSeek 账号模型接入",
+ "description": "使用已登录的 DeepSeek 账号连接模型服务。"
+ }
+}
diff --git a/packages/llm/llm-deepseek-account/package.json b/packages/llm/llm-deepseek-account/package.json
index 922cb5ba56..4e464c9975 100644
--- a/packages/llm/llm-deepseek-account/package.json
+++ b/packages/llm/llm-deepseek-account/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/llm/llm-deepseek-api-key/locale/en.json b/packages/llm/llm-deepseek-api-key/locale/en.json
new file mode 100644
index 0000000000..86e3b0e0fa
--- /dev/null
+++ b/packages/llm/llm-deepseek-api-key/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "llm-deepseek-api-key"
+ }
+}
diff --git a/packages/llm/llm-deepseek-api-key/locale/zh.json b/packages/llm/llm-deepseek-api-key/locale/zh.json
new file mode 100644
index 0000000000..44abfaed46
--- /dev/null
+++ b/packages/llm/llm-deepseek-api-key/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "DeepSeek API 密钥接入",
+ "description": "使用 API 密钥连接 DeepSeek 模型服务。"
+ }
+}
diff --git a/packages/llm/llm-deepseek-api-key/package.json b/packages/llm/llm-deepseek-api-key/package.json
index 4100c95663..cbbe392b7f 100644
--- a/packages/llm/llm-deepseek-api-key/package.json
+++ b/packages/llm/llm-deepseek-api-key/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/llm/llm-pi-ai/locale/en.json b/packages/llm/llm-pi-ai/locale/en.json
new file mode 100644
index 0000000000..e1bd20f01e
--- /dev/null
+++ b/packages/llm/llm-pi-ai/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "llm-pi-ai"
+ }
+}
diff --git a/packages/llm/llm-pi-ai/locale/zh.json b/packages/llm/llm-pi-ai/locale/zh.json
new file mode 100644
index 0000000000..5d5fab61b8
--- /dev/null
+++ b/packages/llm/llm-pi-ai/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "pi-ai 模型适配",
+ "description": "通过 pi-ai 为 DeepSeek Harness 提供 DeepSeek 模型适配,作为 dsh-llm-deepseek 的设计验证实现。"
+ }
+}
diff --git a/packages/llm/llm-pi-ai/package.json b/packages/llm/llm-pi-ai/package.json
index 426cdee5cc..351ed0a2c3 100644
--- a/packages/llm/llm-pi-ai/package.json
+++ b/packages/llm/llm-pi-ai/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/llm/llm-retry/locale/en.json b/packages/llm/llm-retry/locale/en.json
new file mode 100644
index 0000000000..20b28f770f
--- /dev/null
+++ b/packages/llm/llm-retry/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "llm-retry"
+ }
+}
diff --git a/packages/llm/llm-retry/locale/zh.json b/packages/llm/llm-retry/locale/zh.json
new file mode 100644
index 0000000000..3a39f87635
--- /dev/null
+++ b/packages/llm/llm-retry/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "模型请求重试",
+ "description": "按模型提供方的策略重试失败的请求。"
+ }
+}
diff --git a/packages/llm/llm-retry/package.json b/packages/llm/llm-retry/package.json
index 034b41d48e..461cf1e22b 100644
--- a/packages/llm/llm-retry/package.json
+++ b/packages/llm/llm-retry/package.json
@@ -22,9 +22,11 @@
"types": "./lib/types/types.d.ts",
"default": "./lib/types/types.js"
},
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/llm/llm/locale/en.json b/packages/llm/llm/locale/en.json
new file mode 100644
index 0000000000..9c16397e69
--- /dev/null
+++ b/packages/llm/llm/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "llm"
+ }
+}
diff --git a/packages/llm/llm/locale/zh.json b/packages/llm/llm/locale/zh.json
new file mode 100644
index 0000000000..5f25dc0dfd
--- /dev/null
+++ b/packages/llm/llm/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "模型调用服务",
+ "description": "为不同模型提供统一的调用接口。"
+ }
+}
diff --git a/packages/llm/llm/package.json b/packages/llm/llm/package.json
index 1009deef35..e6aca4ff2a 100644
--- a/packages/llm/llm/package.json
+++ b/packages/llm/llm/package.json
@@ -43,9 +43,11 @@
"default": "./lib/typert.remote-client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts",
diff --git a/packages/llm/plugin-package-inventory-deepseek/locale/en.json b/packages/llm/plugin-package-inventory-deepseek/locale/en.json
new file mode 100644
index 0000000000..c8ec372711
--- /dev/null
+++ b/packages/llm/plugin-package-inventory-deepseek/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "plugin-package-inventory-deepseek"
+ }
+}
diff --git a/packages/llm/plugin-package-inventory-deepseek/locale/zh.json b/packages/llm/plugin-package-inventory-deepseek/locale/zh.json
new file mode 100644
index 0000000000..5005f59d41
--- /dev/null
+++ b/packages/llm/plugin-package-inventory-deepseek/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "DeepSeek 插件清单上报",
+ "description": "随官方模型 API 请求发送当前活跃插件包的清单。"
+ }
+}
diff --git a/packages/llm/plugin-package-inventory-deepseek/package.json b/packages/llm/plugin-package-inventory-deepseek/package.json
index 249be41494..348046d279 100644
--- a/packages/llm/plugin-package-inventory-deepseek/package.json
+++ b/packages/llm/plugin-package-inventory-deepseek/package.json
@@ -23,9 +23,11 @@
"default": "./lib/types/types.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/llm/token-meter/locale/en.json b/packages/llm/token-meter/locale/en.json
new file mode 100644
index 0000000000..9dd9dd4ec0
--- /dev/null
+++ b/packages/llm/token-meter/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "token-meter"
+ }
+}
diff --git a/packages/llm/token-meter/locale/zh.json b/packages/llm/token-meter/locale/zh.json
new file mode 100644
index 0000000000..0732971487
--- /dev/null
+++ b/packages/llm/token-meter/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "Token 计量",
+ "description": "估算模型上下文的 Token 用量,供压缩等功能判断预算。"
+ }
+}
diff --git a/packages/llm/token-meter/package.json b/packages/llm/token-meter/package.json
index e0f83a29e7..0b4c0bd644 100644
--- a/packages/llm/token-meter/package.json
+++ b/packages/llm/token-meter/package.json
@@ -27,9 +27,11 @@
"./estimate": {
"types": "./lib/types/estimate.d.ts",
"default": "./lib/types/estimate.js"
- }
+ },
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/mcp/mcp-resources/locale/en.json b/packages/mcp/mcp-resources/locale/en.json
new file mode 100644
index 0000000000..7b58ab6834
--- /dev/null
+++ b/packages/mcp/mcp-resources/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "mcp-resources"
+ }
+}
diff --git a/packages/mcp/mcp-resources/locale/zh.json b/packages/mcp/mcp-resources/locale/zh.json
new file mode 100644
index 0000000000..4090dde46c
--- /dev/null
+++ b/packages/mcp/mcp-resources/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "MCP 资源访问",
+ "description": "让 AI 发现并读取已接入 MCP 服务提供的资源。"
+ }
+}
diff --git a/packages/mcp/mcp-resources/package.json b/packages/mcp/mcp-resources/package.json
index 447375bc32..e8969c04d5 100644
--- a/packages/mcp/mcp-resources/package.json
+++ b/packages/mcp/mcp-resources/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/plan/plan-mode/locale/en.json b/packages/plan/plan-mode/locale/en.json
new file mode 100644
index 0000000000..61dedd1e8e
--- /dev/null
+++ b/packages/plan/plan-mode/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "plan-mode"
+ }
+}
diff --git a/packages/plan/plan-mode/locale/zh.json b/packages/plan/plan-mode/locale/zh.json
new file mode 100644
index 0000000000..58d8b1859f
--- /dev/null
+++ b/packages/plan/plan-mode/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "计划模式",
+ "description": "让 AI 先制定计划,并在用户审阅后切换到执行。"
+ }
+}
diff --git a/packages/plan/plan-mode/package.json b/packages/plan/plan-mode/package.json
index db1ba9197d..8012e3ed16 100644
--- a/packages/plan/plan-mode/package.json
+++ b/packages/plan/plan-mode/package.json
@@ -27,9 +27,11 @@
"default": "./lib/types/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/preset/agent-preset-registry/locale/en.json b/packages/preset/agent-preset-registry/locale/en.json
new file mode 100644
index 0000000000..a1f5290662
--- /dev/null
+++ b/packages/preset/agent-preset-registry/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "agent-preset-registry"
+ }
+}
diff --git a/packages/preset/agent-preset-registry/locale/zh.json b/packages/preset/agent-preset-registry/locale/zh.json
new file mode 100644
index 0000000000..18bdcf68bf
--- /dev/null
+++ b/packages/preset/agent-preset-registry/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "Agent 预设管理",
+ "description": "注册 Agent 预设,并保存对预设组成的修改。"
+ }
+}
diff --git a/packages/preset/agent-preset-registry/package.json b/packages/preset/agent-preset-registry/package.json
index bd30b49128..e2eb67b246 100644
--- a/packages/preset/agent-preset-registry/package.json
+++ b/packages/preset/agent-preset-registry/package.json
@@ -35,9 +35,11 @@
"default": "./lib/typert.remote-client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts",
diff --git a/packages/preset/agent-preset/locale/en.json b/packages/preset/agent-preset/locale/en.json
new file mode 100644
index 0000000000..9322502e8e
--- /dev/null
+++ b/packages/preset/agent-preset/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "agent-preset"
+ }
+}
diff --git a/packages/preset/agent-preset/locale/zh.json b/packages/preset/agent-preset/locale/zh.json
new file mode 100644
index 0000000000..9f6fcd9372
--- /dev/null
+++ b/packages/preset/agent-preset/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "Agent 预设定义",
+ "description": "声明一个 Agent 预设及其使用的插件组合。"
+ }
+}
diff --git a/packages/preset/agent-preset/package.json b/packages/preset/agent-preset/package.json
index e480861bee..25503341bd 100644
--- a/packages/preset/agent-preset/package.json
+++ b/packages/preset/agent-preset/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"skills",
"lib/types/**/*.d.ts"
diff --git a/packages/preset/persona/locale/en.json b/packages/preset/persona/locale/en.json
new file mode 100644
index 0000000000..b51e9e0f89
--- /dev/null
+++ b/packages/preset/persona/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "persona"
+ }
+}
diff --git a/packages/preset/persona/locale/zh.json b/packages/preset/persona/locale/zh.json
new file mode 100644
index 0000000000..043437fbd9
--- /dev/null
+++ b/packages/preset/persona/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "智能体角色设定",
+ "description": "为当前智能体提供组合中定义的角色与行为说明。"
+ }
+}
diff --git a/packages/preset/persona/package.json b/packages/preset/persona/package.json
index 0cc3dc968e..560d405a78 100644
--- a/packages/preset/persona/package.json
+++ b/packages/preset/persona/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/ptc-runtime/ptc-runtime-node/locale/en.json b/packages/ptc-runtime/ptc-runtime-node/locale/en.json
new file mode 100644
index 0000000000..0361c7b9e2
--- /dev/null
+++ b/packages/ptc-runtime/ptc-runtime-node/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "ptc-runtime-node"
+ }
+}
diff --git a/packages/ptc-runtime/ptc-runtime-node/locale/zh.json b/packages/ptc-runtime/ptc-runtime-node/locale/zh.json
new file mode 100644
index 0000000000..2990be200c
--- /dev/null
+++ b/packages/ptc-runtime/ptc-runtime-node/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "Node PTC 运行时",
+ "description": "在沙箱中的 Node 进程里执行用于调用工具的代码。"
+ }
+}
diff --git a/packages/ptc-runtime/ptc-runtime-node/package.json b/packages/ptc-runtime/ptc-runtime-node/package.json
index c3b6fb2338..3dae7334ef 100644
--- a/packages/ptc-runtime/ptc-runtime-node/package.json
+++ b/packages/ptc-runtime/ptc-runtime-node/package.json
@@ -22,9 +22,11 @@
"./process": {
"types": "./lib/types/process-entry.d.ts",
"default": "./lib/process.js"
- }
+ },
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/process.js",
"lib/types/**/*.d.ts"
diff --git a/packages/sandbox/sandbox-local/locale/en.json b/packages/sandbox/sandbox-local/locale/en.json
new file mode 100644
index 0000000000..ae7fbfb8e9
--- /dev/null
+++ b/packages/sandbox/sandbox-local/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "sandbox-local"
+ }
+}
diff --git a/packages/sandbox/sandbox-local/locale/zh.json b/packages/sandbox/sandbox-local/locale/zh.json
new file mode 100644
index 0000000000..a8f06a91fd
--- /dev/null
+++ b/packages/sandbox/sandbox-local/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "本地进程沙箱",
+ "description": "按操作系统提供进程隔离,限制命令的访问范围。"
+ }
+}
diff --git a/packages/sandbox/sandbox-local/package.json b/packages/sandbox/sandbox-local/package.json
index cc6c077df8..01198fb63a 100644
--- a/packages/sandbox/sandbox-local/package.json
+++ b/packages/sandbox/sandbox-local/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/sandbox/sandbox-policy/locale/en.json b/packages/sandbox/sandbox-policy/locale/en.json
new file mode 100644
index 0000000000..b23c7d4418
--- /dev/null
+++ b/packages/sandbox/sandbox-policy/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "sandbox-policy"
+ }
+}
diff --git a/packages/sandbox/sandbox-policy/locale/zh.json b/packages/sandbox/sandbox-policy/locale/zh.json
new file mode 100644
index 0000000000..3f78c10b18
--- /dev/null
+++ b/packages/sandbox/sandbox-policy/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "沙箱权限策略",
+ "description": "根据当前会话的权限模式和工作区,确定每次操作的限制。"
+ }
+}
diff --git a/packages/sandbox/sandbox-policy/package.json b/packages/sandbox/sandbox-policy/package.json
index 3dc7f0be2c..3d385dda28 100644
--- a/packages/sandbox/sandbox-policy/package.json
+++ b/packages/sandbox/sandbox-policy/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/session-query/session-log-export/locale/en.json b/packages/session-query/session-log-export/locale/en.json
new file mode 100644
index 0000000000..9733bf817e
--- /dev/null
+++ b/packages/session-query/session-log-export/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "session-log-export"
+ }
+}
diff --git a/packages/session-query/session-log-export/locale/zh.json b/packages/session-query/session-log-export/locale/zh.json
new file mode 100644
index 0000000000..6a86f28ad4
--- /dev/null
+++ b/packages/session-query/session-log-export/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "会话日志导出",
+ "description": "提供会话日志导出命令和下载功能。"
+ }
+}
diff --git a/packages/session-query/session-log-export/package.json b/packages/session-query/session-log-export/package.json
index 7e076e802f..e97465666e 100644
--- a/packages/session-query/session-log-export/package.json
+++ b/packages/session-query/session-log-export/package.json
@@ -23,9 +23,11 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.d.ts"
diff --git a/packages/session-query/session-query-sqlite/locale/en.json b/packages/session-query/session-query-sqlite/locale/en.json
new file mode 100644
index 0000000000..2a426e9a5f
--- /dev/null
+++ b/packages/session-query/session-query-sqlite/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "session-query-sqlite"
+ }
+}
diff --git a/packages/session-query/session-query-sqlite/locale/zh.json b/packages/session-query/session-query-sqlite/locale/zh.json
new file mode 100644
index 0000000000..f858c6c0bc
--- /dev/null
+++ b/packages/session-query/session-query-sqlite/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "会话查询与搜索",
+ "description": "查询会话记录,并在配置启用时提供 SQLite 全文搜索。"
+ }
+}
diff --git a/packages/session-query/session-query-sqlite/package.json b/packages/session-query/session-query-sqlite/package.json
index 9c2d1232e5..8e3aa74665 100644
--- a/packages/session-query/session-query-sqlite/package.json
+++ b/packages/session-query/session-query-sqlite/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/session/session-checkpoint-policy/locale/en.json b/packages/session/session-checkpoint-policy/locale/en.json
new file mode 100644
index 0000000000..9c1953db14
--- /dev/null
+++ b/packages/session/session-checkpoint-policy/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "session-checkpoint-policy"
+ }
+}
diff --git a/packages/session/session-checkpoint-policy/locale/zh.json b/packages/session/session-checkpoint-policy/locale/zh.json
new file mode 100644
index 0000000000..5de40617c6
--- /dev/null
+++ b/packages/session/session-checkpoint-policy/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "会话检查点",
+ "description": "在模型请求和可能产生外部影响的工具操作前保存会话记录。"
+ }
+}
diff --git a/packages/session/session-checkpoint-policy/package.json b/packages/session/session-checkpoint-policy/package.json
index d451481aa1..f405b04dd2 100644
--- a/packages/session/session-checkpoint-policy/package.json
+++ b/packages/session/session-checkpoint-policy/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/session/session-log-deepseek/locale/en.json b/packages/session/session-log-deepseek/locale/en.json
new file mode 100644
index 0000000000..7312ea6bfc
--- /dev/null
+++ b/packages/session/session-log-deepseek/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "session-log-deepseek"
+ }
+}
diff --git a/packages/session/session-log-deepseek/locale/zh.json b/packages/session/session-log-deepseek/locale/zh.json
new file mode 100644
index 0000000000..9294256956
--- /dev/null
+++ b/packages/session/session-log-deepseek/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "DeepSeek 会话日志上传",
+ "description": "启用后,随官方模型 API 请求向 DeepSeek 上传会话日志。"
+ }
+}
diff --git a/packages/session/session-log-deepseek/package.json b/packages/session/session-log-deepseek/package.json
index 4e48f512fb..710d2036e7 100644
--- a/packages/session/session-log-deepseek/package.json
+++ b/packages/session/session-log-deepseek/package.json
@@ -23,9 +23,11 @@
"default": "./lib/types/types.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/session/session-persistence-jsonl/locale/en.json b/packages/session/session-persistence-jsonl/locale/en.json
new file mode 100644
index 0000000000..503fb8be5c
--- /dev/null
+++ b/packages/session/session-persistence-jsonl/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "session-persistence-jsonl"
+ }
+}
diff --git a/packages/session/session-persistence-jsonl/locale/zh.json b/packages/session/session-persistence-jsonl/locale/zh.json
new file mode 100644
index 0000000000..68bff2ba6b
--- /dev/null
+++ b/packages/session/session-persistence-jsonl/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "会话日志持久保存",
+ "description": "将会话日志保存为本地 JSONL 文件,供后续恢复和读取。"
+ }
+}
diff --git a/packages/session/session-persistence-jsonl/package.json b/packages/session/session-persistence-jsonl/package.json
index 22af65bb47..47e14f5a52 100644
--- a/packages/session/session-persistence-jsonl/package.json
+++ b/packages/session/session-persistence-jsonl/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/worker.cjs",
"lib/types/**/*.d.ts"
diff --git a/packages/session/session-projection-cache/locale/en.json b/packages/session/session-projection-cache/locale/en.json
new file mode 100644
index 0000000000..911a09f362
--- /dev/null
+++ b/packages/session/session-projection-cache/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "session-projection-cache"
+ }
+}
diff --git a/packages/session/session-projection-cache/locale/zh.json b/packages/session/session-projection-cache/locale/zh.json
new file mode 100644
index 0000000000..a8fcc246f7
--- /dev/null
+++ b/packages/session/session-projection-cache/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "会话状态缓存",
+ "description": "缓存从会话日志生成的状态,供会话列表等功能快速读取。"
+ }
+}
diff --git a/packages/session/session-projection-cache/package.json b/packages/session/session-projection-cache/package.json
index 5eb3c8fca6..2790196ac3 100644
--- a/packages/session/session-projection-cache/package.json
+++ b/packages/session/session-projection-cache/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/session/session-projection/locale/en.json b/packages/session/session-projection/locale/en.json
new file mode 100644
index 0000000000..84af3a0a04
--- /dev/null
+++ b/packages/session/session-projection/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "session-projection"
+ }
+}
diff --git a/packages/session/session-projection/locale/zh.json b/packages/session/session-projection/locale/zh.json
new file mode 100644
index 0000000000..7e43778316
--- /dev/null
+++ b/packages/session/session-projection/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "会话状态汇总",
+ "description": "从会话日志生成标题、状态等信息,供其他功能读取。"
+ }
+}
diff --git a/packages/session/session-projection/package.json b/packages/session/session-projection/package.json
index e222ea670c..d334f1c47a 100644
--- a/packages/session/session-projection/package.json
+++ b/packages/session/session-projection/package.json
@@ -23,9 +23,11 @@
"default": "./lib/types/types.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/session/session-stats/locale/en.json b/packages/session/session-stats/locale/en.json
new file mode 100644
index 0000000000..6f3f36de6c
--- /dev/null
+++ b/packages/session/session-stats/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "session-stats"
+ }
+}
diff --git a/packages/session/session-stats/locale/zh.json b/packages/session/session-stats/locale/zh.json
new file mode 100644
index 0000000000..22dec06144
--- /dev/null
+++ b/packages/session/session-stats/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "会话统计",
+ "description": "汇总会话的交互次数和耗时等统计信息。"
+ }
+}
diff --git a/packages/session/session-stats/package.json b/packages/session/session-stats/package.json
index b6f18a1e27..e683940adc 100644
--- a/packages/session/session-stats/package.json
+++ b/packages/session/session-stats/package.json
@@ -27,9 +27,11 @@
"default": "./lib/types/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/session/session-telemetry-otel/locale/en.json b/packages/session/session-telemetry-otel/locale/en.json
new file mode 100644
index 0000000000..0be8929a25
--- /dev/null
+++ b/packages/session/session-telemetry-otel/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "session-telemetry-otel"
+ }
+}
diff --git a/packages/session/session-telemetry-otel/locale/zh.json b/packages/session/session-telemetry-otel/locale/zh.json
new file mode 100644
index 0000000000..d540ea248c
--- /dev/null
+++ b/packages/session/session-telemetry-otel/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "反馈会话日志上传",
+ "description": "按反馈授权策略,通过 OpenTelemetry 上传相关会话日志。"
+ }
+}
diff --git a/packages/session/session-telemetry-otel/package.json b/packages/session/session-telemetry-otel/package.json
index 0cf56f83df..40ffa9375c 100644
--- a/packages/session/session-telemetry-otel/package.json
+++ b/packages/session/session-telemetry-otel/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/session/session-title-first-prompt-llm/locale/en.json b/packages/session/session-title-first-prompt-llm/locale/en.json
new file mode 100644
index 0000000000..735baea0d1
--- /dev/null
+++ b/packages/session/session-title-first-prompt-llm/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "session-title-first-prompt-llm"
+ }
+}
diff --git a/packages/session/session-title-first-prompt-llm/locale/zh.json b/packages/session/session-title-first-prompt-llm/locale/zh.json
new file mode 100644
index 0000000000..44235aee49
--- /dev/null
+++ b/packages/session/session-title-first-prompt-llm/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "首条消息生成标题",
+ "description": "根据会话中的首条消息,使用模型生成标题。"
+ }
+}
diff --git a/packages/session/session-title-first-prompt-llm/package.json b/packages/session/session-title-first-prompt-llm/package.json
index 8b8e32ed38..f440fd30b4 100644
--- a/packages/session/session-title-first-prompt-llm/package.json
+++ b/packages/session/session-title-first-prompt-llm/package.json
@@ -18,9 +18,14 @@
"types": "./lib/types/index.d.ts",
"default": "./lib/index.js"
},
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
- "files": ["lib/index.js", "lib/types/**/*.d.ts"],
+ "files": [
+ "locale/*.json",
+ "lib/index.js",
+ "lib/types/**/*.d.ts"
+ ],
"license": "MIT",
"peerDependencies": {
"@deepseek-ai/dsh-llm": "workspace:*",
diff --git a/packages/session/session-title/locale/en.json b/packages/session/session-title/locale/en.json
new file mode 100644
index 0000000000..2cd5149596
--- /dev/null
+++ b/packages/session/session-title/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "session-title"
+ }
+}
diff --git a/packages/session/session-title/locale/zh.json b/packages/session/session-title/locale/zh.json
new file mode 100644
index 0000000000..88ff27060b
--- /dev/null
+++ b/packages/session/session-title/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "会话标题服务",
+ "description": "保存和读取会话标题,并管理标题生成方式。"
+ }
+}
diff --git a/packages/session/session-title/package.json b/packages/session/session-title/package.json
index d6dc02897e..d3fe8929d8 100644
--- a/packages/session/session-title/package.json
+++ b/packages/session/session-title/package.json
@@ -27,9 +27,11 @@
"default": "./lib/types/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/session/session-turn-outline/locale/en.json b/packages/session/session-turn-outline/locale/en.json
new file mode 100644
index 0000000000..fef109e1a5
--- /dev/null
+++ b/packages/session/session-turn-outline/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "session-turn-outline"
+ }
+}
diff --git a/packages/session/session-turn-outline/locale/zh.json b/packages/session/session-turn-outline/locale/zh.json
new file mode 100644
index 0000000000..2ab08cf1de
--- /dev/null
+++ b/packages/session/session-turn-outline/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "会话轮次目录",
+ "description": "生成会话轮次目录,支持定位和跳转历史交互。"
+ }
+}
diff --git a/packages/session/session-turn-outline/package.json b/packages/session/session-turn-outline/package.json
index 83cbd0b0b2..b060142b2d 100644
--- a/packages/session/session-turn-outline/package.json
+++ b/packages/session/session-turn-outline/package.json
@@ -27,9 +27,11 @@
"default": "./lib/types/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/settings/settings/locale/en.json b/packages/settings/settings/locale/en.json
new file mode 100644
index 0000000000..1e0f6c7a53
--- /dev/null
+++ b/packages/settings/settings/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "settings"
+ }
+}
diff --git a/packages/settings/settings/locale/zh.json b/packages/settings/settings/locale/zh.json
new file mode 100644
index 0000000000..370499dcc0
--- /dev/null
+++ b/packages/settings/settings/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "设置服务",
+ "description": "为其他插件提供统一的用户设置接口。"
+ }
+}
diff --git a/packages/settings/settings/package.json b/packages/settings/settings/package.json
index 0cc53944b8..b524480f07 100644
--- a/packages/settings/settings/package.json
+++ b/packages/settings/settings/package.json
@@ -23,9 +23,11 @@
"default": "./lib/types/types.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/shell/bash-sandbox/locale/en.json b/packages/shell/bash-sandbox/locale/en.json
new file mode 100644
index 0000000000..4bf2661e24
--- /dev/null
+++ b/packages/shell/bash-sandbox/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "bash-sandbox"
+ }
+}
diff --git a/packages/shell/bash-sandbox/locale/zh.json b/packages/shell/bash-sandbox/locale/zh.json
new file mode 100644
index 0000000000..24a254b98f
--- /dev/null
+++ b/packages/shell/bash-sandbox/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "Bash 沙箱执行",
+ "description": "在当前沙箱权限范围内执行 Bash 命令。"
+ }
+}
diff --git a/packages/shell/bash-sandbox/package.json b/packages/shell/bash-sandbox/package.json
index fbacd24f17..ed99d38585 100644
--- a/packages/shell/bash-sandbox/package.json
+++ b/packages/shell/bash-sandbox/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/shell/pwsh-sandbox/locale/en.json b/packages/shell/pwsh-sandbox/locale/en.json
new file mode 100644
index 0000000000..89b579b664
--- /dev/null
+++ b/packages/shell/pwsh-sandbox/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "pwsh-sandbox"
+ }
+}
diff --git a/packages/shell/pwsh-sandbox/locale/zh.json b/packages/shell/pwsh-sandbox/locale/zh.json
new file mode 100644
index 0000000000..933b76b361
--- /dev/null
+++ b/packages/shell/pwsh-sandbox/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "PowerShell 沙箱执行",
+ "description": "在当前沙箱权限范围内执行 PowerShell 命令。"
+ }
+}
diff --git a/packages/shell/pwsh-sandbox/package.json b/packages/shell/pwsh-sandbox/package.json
index 6973ac34b5..e9b42bb5ba 100644
--- a/packages/shell/pwsh-sandbox/package.json
+++ b/packages/shell/pwsh-sandbox/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/shell/shell-env/locale/en.json b/packages/shell/shell-env/locale/en.json
new file mode 100644
index 0000000000..86bf9b037a
--- /dev/null
+++ b/packages/shell/shell-env/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "shell-env"
+ }
+}
diff --git a/packages/shell/shell-env/locale/zh.json b/packages/shell/shell-env/locale/zh.json
new file mode 100644
index 0000000000..73e07c8c6f
--- /dev/null
+++ b/packages/shell/shell-env/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "命令环境变量",
+ "description": "为命令执行工具统一提供 DSH 环境变量。"
+ }
+}
diff --git a/packages/shell/shell-env/package.json b/packages/shell/shell-env/package.json
index 6fdb329411..f9b2fffbe6 100644
--- a/packages/shell/shell-env/package.json
+++ b/packages/shell/shell-env/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/shell/tool-bash-persistent/locale/en.json b/packages/shell/tool-bash-persistent/locale/en.json
new file mode 100644
index 0000000000..156fe7ee37
--- /dev/null
+++ b/packages/shell/tool-bash-persistent/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tool-bash-persistent"
+ }
+}
diff --git a/packages/shell/tool-bash-persistent/locale/zh.json b/packages/shell/tool-bash-persistent/locale/zh.json
new file mode 100644
index 0000000000..6e66581d43
--- /dev/null
+++ b/packages/shell/tool-bash-persistent/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "持久 Bash 工具",
+ "description": "让 AI 在保留状态的 Bash 会话中连续执行命令。"
+ }
+}
diff --git a/packages/shell/tool-bash-persistent/package.json b/packages/shell/tool-bash-persistent/package.json
index 585aa89797..e2906e2487 100644
--- a/packages/shell/tool-bash-persistent/package.json
+++ b/packages/shell/tool-bash-persistent/package.json
@@ -18,9 +18,11 @@
"types": "./lib/types/index.d.ts",
"default": "./lib/index.js"
},
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/shell/tool-bash/locale/en.json b/packages/shell/tool-bash/locale/en.json
new file mode 100644
index 0000000000..735f4f8acb
--- /dev/null
+++ b/packages/shell/tool-bash/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tool-bash"
+ }
+}
diff --git a/packages/shell/tool-bash/locale/zh.json b/packages/shell/tool-bash/locale/zh.json
new file mode 100644
index 0000000000..46ff9c7e06
--- /dev/null
+++ b/packages/shell/tool-bash/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "Bash 命令工具",
+ "description": "让 AI 执行 Bash 命令,并按配置管理后台运行和权限申请。"
+ }
+}
diff --git a/packages/shell/tool-bash/package.json b/packages/shell/tool-bash/package.json
index e080a55a26..7a2df9e61b 100644
--- a/packages/shell/tool-bash/package.json
+++ b/packages/shell/tool-bash/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/shell/tool-pwsh-persistent/locale/en.json b/packages/shell/tool-pwsh-persistent/locale/en.json
new file mode 100644
index 0000000000..fef83d0e54
--- /dev/null
+++ b/packages/shell/tool-pwsh-persistent/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tool-pwsh-persistent"
+ }
+}
diff --git a/packages/shell/tool-pwsh-persistent/locale/zh.json b/packages/shell/tool-pwsh-persistent/locale/zh.json
new file mode 100644
index 0000000000..6c502c2efb
--- /dev/null
+++ b/packages/shell/tool-pwsh-persistent/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "持久 PowerShell 工具",
+ "description": "让 AI 在保留状态的 PowerShell 会话中连续执行命令。"
+ }
+}
diff --git a/packages/shell/tool-pwsh-persistent/package.json b/packages/shell/tool-pwsh-persistent/package.json
index fb71d87933..dbea3f2b36 100644
--- a/packages/shell/tool-pwsh-persistent/package.json
+++ b/packages/shell/tool-pwsh-persistent/package.json
@@ -18,9 +18,11 @@
"types": "./lib/types/index.d.ts",
"default": "./lib/index.js"
},
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/shell/tool-pwsh/locale/en.json b/packages/shell/tool-pwsh/locale/en.json
new file mode 100644
index 0000000000..03c5685f1f
--- /dev/null
+++ b/packages/shell/tool-pwsh/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tool-pwsh"
+ }
+}
diff --git a/packages/shell/tool-pwsh/locale/zh.json b/packages/shell/tool-pwsh/locale/zh.json
new file mode 100644
index 0000000000..41c60764d7
--- /dev/null
+++ b/packages/shell/tool-pwsh/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "PowerShell 命令工具",
+ "description": "让 AI 执行 PowerShell 命令。"
+ }
+}
diff --git a/packages/shell/tool-pwsh/package.json b/packages/shell/tool-pwsh/package.json
index 382154dc19..5c7fb2f036 100644
--- a/packages/shell/tool-pwsh/package.json
+++ b/packages/shell/tool-pwsh/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/skill/skill-filesystem/locale/en.json b/packages/skill/skill-filesystem/locale/en.json
new file mode 100644
index 0000000000..abaaaf8aae
--- /dev/null
+++ b/packages/skill/skill-filesystem/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "skill-filesystem"
+ }
+}
diff --git a/packages/skill/skill-filesystem/locale/zh.json b/packages/skill/skill-filesystem/locale/zh.json
new file mode 100644
index 0000000000..01bf5841ec
--- /dev/null
+++ b/packages/skill/skill-filesystem/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "本地技能加载",
+ "description": "从本地目录发现和读取技能。"
+ }
+}
diff --git a/packages/skill/skill-filesystem/package.json b/packages/skill/skill-filesystem/package.json
index fde17358c5..409e345436 100644
--- a/packages/skill/skill-filesystem/package.json
+++ b/packages/skill/skill-filesystem/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/skill/skill/locale/en.json b/packages/skill/skill/locale/en.json
new file mode 100644
index 0000000000..a403595cff
--- /dev/null
+++ b/packages/skill/skill/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "skill"
+ }
+}
diff --git a/packages/skill/skill/locale/zh.json b/packages/skill/skill/locale/zh.json
new file mode 100644
index 0000000000..d01eff8286
--- /dev/null
+++ b/packages/skill/skill/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "技能注册服务",
+ "description": "汇总不同来源的技能,供 AI 查询和使用。"
+ }
+}
diff --git a/packages/skill/skill/package.json b/packages/skill/skill/package.json
index bec408df5d..cbd347ba9e 100644
--- a/packages/skill/skill/package.json
+++ b/packages/skill/skill/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/skill/tool-skill/locale/en.json b/packages/skill/tool-skill/locale/en.json
new file mode 100644
index 0000000000..1d82161984
--- /dev/null
+++ b/packages/skill/tool-skill/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tool-skill"
+ }
+}
diff --git a/packages/skill/tool-skill/locale/zh.json b/packages/skill/tool-skill/locale/zh.json
new file mode 100644
index 0000000000..8621c268d3
--- /dev/null
+++ b/packages/skill/tool-skill/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "技能加载工具",
+ "description": "让 AI 按需加载技能说明。"
+ }
+}
diff --git a/packages/skill/tool-skill/package.json b/packages/skill/tool-skill/package.json
index c62384056a..7d2d5769da 100644
--- a/packages/skill/tool-skill/package.json
+++ b/packages/skill/tool-skill/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/spill/spill-local/locale/en.json b/packages/spill/spill-local/locale/en.json
new file mode 100644
index 0000000000..451c528cc7
--- /dev/null
+++ b/packages/spill/spill-local/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "spill-local"
+ }
+}
diff --git a/packages/spill/spill-local/locale/zh.json b/packages/spill/spill-local/locale/zh.json
new file mode 100644
index 0000000000..8785f3e621
--- /dev/null
+++ b/packages/spill/spill-local/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "本地长结果存储",
+ "description": "将过长的工具结果保存到会话专用的本地文件。"
+ }
+}
diff --git a/packages/spill/spill-local/package.json b/packages/spill/spill-local/package.json
index 52070e4be8..8fa5b9b489 100644
--- a/packages/spill/spill-local/package.json
+++ b/packages/spill/spill-local/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/spill/spill-policy/locale/en.json b/packages/spill/spill-policy/locale/en.json
new file mode 100644
index 0000000000..93e43a487a
--- /dev/null
+++ b/packages/spill/spill-policy/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "spill-policy"
+ }
+}
diff --git a/packages/spill/spill-policy/locale/zh.json b/packages/spill/spill-policy/locale/zh.json
new file mode 100644
index 0000000000..8b0b59ad0b
--- /dev/null
+++ b/packages/spill/spill-policy/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "工具结果长度控制",
+ "description": "限制直接放入上下文的工具结果长度,并保留完整结果的读取路径。"
+ }
+}
diff --git a/packages/spill/spill-policy/package.json b/packages/spill/spill-policy/package.json
index d5e9499048..5d710a62d4 100644
--- a/packages/spill/spill-policy/package.json
+++ b/packages/spill/spill-policy/package.json
@@ -23,9 +23,11 @@
"default": "./lib/types/notice.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/storage/storage-domain/locale/en.json b/packages/storage/storage-domain/locale/en.json
new file mode 100644
index 0000000000..6b2ef16f4d
--- /dev/null
+++ b/packages/storage/storage-domain/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "storage-domain"
+ }
+}
diff --git a/packages/storage/storage-domain/locale/zh.json b/packages/storage/storage-domain/locale/zh.json
new file mode 100644
index 0000000000..6759b29705
--- /dev/null
+++ b/packages/storage/storage-domain/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "结构化数据存储",
+ "description": "按数据结构校验和保存键值数据,并通知其他插件发生了变更。"
+ }
+}
diff --git a/packages/storage/storage-domain/package.json b/packages/storage/storage-domain/package.json
index b04ff22e42..9239b1392d 100644
--- a/packages/storage/storage-domain/package.json
+++ b/packages/storage/storage-domain/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/storage/storage-json/locale/en.json b/packages/storage/storage-json/locale/en.json
new file mode 100644
index 0000000000..367d8fddf8
--- /dev/null
+++ b/packages/storage/storage-json/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "storage-json"
+ }
+}
diff --git a/packages/storage/storage-json/locale/zh.json b/packages/storage/storage-json/locale/zh.json
new file mode 100644
index 0000000000..d0b71203c2
--- /dev/null
+++ b/packages/storage/storage-json/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "JSON 文件存储",
+ "description": "将键值数据保存为本地 JSON 文件。"
+ }
+}
diff --git a/packages/storage/storage-json/package.json b/packages/storage/storage-json/package.json
index 46df6bab7e..ebf455f312 100644
--- a/packages/storage/storage-json/package.json
+++ b/packages/storage/storage-json/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/storage/storage/locale/en.json b/packages/storage/storage/locale/en.json
new file mode 100644
index 0000000000..966c0cb1e9
--- /dev/null
+++ b/packages/storage/storage/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "storage"
+ }
+}
diff --git a/packages/storage/storage/locale/zh.json b/packages/storage/storage/locale/zh.json
new file mode 100644
index 0000000000..fce04a2c61
--- /dev/null
+++ b/packages/storage/storage/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "数据存储服务",
+ "description": "统一管理插件使用的存储后端和数据访问方式。"
+ }
+}
diff --git a/packages/storage/storage/package.json b/packages/storage/storage/package.json
index 4f871fc0ad..c2be072bdd 100644
--- a/packages/storage/storage/package.json
+++ b/packages/storage/storage/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/subagent/subagent-fork-in-process/locale/en.json b/packages/subagent/subagent-fork-in-process/locale/en.json
new file mode 100644
index 0000000000..58e315009e
--- /dev/null
+++ b/packages/subagent/subagent-fork-in-process/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "subagent-fork-in-process"
+ }
+}
diff --git a/packages/subagent/subagent-fork-in-process/locale/zh.json b/packages/subagent/subagent-fork-in-process/locale/zh.json
new file mode 100644
index 0000000000..f048b96048
--- /dev/null
+++ b/packages/subagent/subagent-fork-in-process/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "继承上下文子智能体后端",
+ "description": "使用父会话的一段历史创建子智能体。"
+ }
+}
diff --git a/packages/subagent/subagent-fork-in-process/package.json b/packages/subagent/subagent-fork-in-process/package.json
index b0d444096a..60cee13d46 100644
--- a/packages/subagent/subagent-fork-in-process/package.json
+++ b/packages/subagent/subagent-fork-in-process/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/subagent/subagent-spawn-in-process/locale/en.json b/packages/subagent/subagent-spawn-in-process/locale/en.json
new file mode 100644
index 0000000000..3911170769
--- /dev/null
+++ b/packages/subagent/subagent-spawn-in-process/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "subagent-spawn-in-process"
+ }
+}
diff --git a/packages/subagent/subagent-spawn-in-process/locale/zh.json b/packages/subagent/subagent-spawn-in-process/locale/zh.json
new file mode 100644
index 0000000000..926d30d3ba
--- /dev/null
+++ b/packages/subagent/subagent-spawn-in-process/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "新建子智能体后端",
+ "description": "在当前进程中新建子智能体,执行独立任务。"
+ }
+}
diff --git a/packages/subagent/subagent-spawn-in-process/package.json b/packages/subagent/subagent-spawn-in-process/package.json
index 28d65cd8c0..c50acf9106 100644
--- a/packages/subagent/subagent-spawn-in-process/package.json
+++ b/packages/subagent/subagent-spawn-in-process/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/subagent/subagent/locale/en.json b/packages/subagent/subagent/locale/en.json
new file mode 100644
index 0000000000..25556b2204
--- /dev/null
+++ b/packages/subagent/subagent/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "subagent"
+ }
+}
diff --git a/packages/subagent/subagent/locale/zh.json b/packages/subagent/subagent/locale/zh.json
new file mode 100644
index 0000000000..2ea2842f47
--- /dev/null
+++ b/packages/subagent/subagent/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "子智能体服务",
+ "description": "管理子智能体后端,为任务委派提供统一接口。"
+ }
+}
diff --git a/packages/subagent/subagent/package.json b/packages/subagent/subagent/package.json
index 678886de4b..5a802075d1 100644
--- a/packages/subagent/subagent/package.json
+++ b/packages/subagent/subagent/package.json
@@ -35,9 +35,11 @@
"default": "./lib/typert.remote-client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts",
diff --git a/packages/subagent/tool-subagent-control/locale/en.json b/packages/subagent/tool-subagent-control/locale/en.json
new file mode 100644
index 0000000000..42d622a3ea
--- /dev/null
+++ b/packages/subagent/tool-subagent-control/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tool-subagent-control"
+ }
+}
diff --git a/packages/subagent/tool-subagent-control/locale/list-agents/en.json b/packages/subagent/tool-subagent-control/locale/list-agents/en.json
new file mode 100644
index 0000000000..5825b8ed52
--- /dev/null
+++ b/packages/subagent/tool-subagent-control/locale/list-agents/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tool-subagent-control/list-agents"
+ }
+}
diff --git a/packages/subagent/tool-subagent-control/locale/list-agents/zh.json b/packages/subagent/tool-subagent-control/locale/list-agents/zh.json
new file mode 100644
index 0000000000..57cb7a436e
--- /dev/null
+++ b/packages/subagent/tool-subagent-control/locale/list-agents/zh.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "子智能体列表工具"
+ }
+}
diff --git a/packages/subagent/tool-subagent-control/locale/zh.json b/packages/subagent/tool-subagent-control/locale/zh.json
new file mode 100644
index 0000000000..ce18321afc
--- /dev/null
+++ b/packages/subagent/tool-subagent-control/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "子智能体控制工具",
+ "description": "让 AI 向子智能体发送消息或中断其运行。"
+ }
+}
diff --git a/packages/subagent/tool-subagent-control/package.json b/packages/subagent/tool-subagent-control/package.json
index d609b330cb..6a8489e2bc 100644
--- a/packages/subagent/tool-subagent-control/package.json
+++ b/packages/subagent/tool-subagent-control/package.json
@@ -23,9 +23,13 @@
"default": "./lib/types/list-agents.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json",
+ "./list-agents/locale/*.json": "./locale/list-agents/*.json"
},
"files": [
+ "locale/*.json",
+ "locale/list-agents/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/subagent/tool-subagent/locale/en.json b/packages/subagent/tool-subagent/locale/en.json
new file mode 100644
index 0000000000..783fd63703
--- /dev/null
+++ b/packages/subagent/tool-subagent/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tool-subagent"
+ }
+}
diff --git a/packages/subagent/tool-subagent/locale/model-selection-settings/en.json b/packages/subagent/tool-subagent/locale/model-selection-settings/en.json
new file mode 100644
index 0000000000..e8ad3de21d
--- /dev/null
+++ b/packages/subagent/tool-subagent/locale/model-selection-settings/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tool-subagent/model-selection-settings"
+ }
+}
diff --git a/packages/subagent/tool-subagent/locale/model-selection-settings/zh.json b/packages/subagent/tool-subagent/locale/model-selection-settings/zh.json
new file mode 100644
index 0000000000..b799ff01e5
--- /dev/null
+++ b/packages/subagent/tool-subagent/locale/model-selection-settings/zh.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "子智能体模型选择设置"
+ }
+}
diff --git a/packages/subagent/tool-subagent/locale/zh.json b/packages/subagent/tool-subagent/locale/zh.json
new file mode 100644
index 0000000000..6d841c1370
--- /dev/null
+++ b/packages/subagent/tool-subagent/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "子智能体委派工具",
+ "description": "让 AI 将任务交给子智能体,并获取运行结果。"
+ }
+}
diff --git a/packages/subagent/tool-subagent/package.json b/packages/subagent/tool-subagent/package.json
index e9aa173b5b..a535e39446 100644
--- a/packages/subagent/tool-subagent/package.json
+++ b/packages/subagent/tool-subagent/package.json
@@ -23,9 +23,13 @@
"default": "./lib/model-selection-settings.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json",
+ "./model-selection-settings/locale/*.json": "./locale/model-selection-settings/*.json"
},
"files": [
+ "locale/*.json",
+ "locale/model-selection-settings/*.json",
"lib/index.js",
"lib/model-selection-settings.js",
"lib/types/**/*.d.ts"
diff --git a/packages/subprocess/subprocess-local/locale/en.json b/packages/subprocess/subprocess-local/locale/en.json
new file mode 100644
index 0000000000..12c9226c46
--- /dev/null
+++ b/packages/subprocess/subprocess-local/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "subprocess-local"
+ }
+}
diff --git a/packages/subprocess/subprocess-local/locale/zh.json b/packages/subprocess/subprocess-local/locale/zh.json
new file mode 100644
index 0000000000..b47d75397e
--- /dev/null
+++ b/packages/subprocess/subprocess-local/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "本地子进程",
+ "description": "为其他插件提供本地进程的启动和管理能力。"
+ }
+}
diff --git a/packages/subprocess/subprocess-local/package.json b/packages/subprocess/subprocess-local/package.json
index 2e6029c0d7..357503c3e0 100644
--- a/packages/subprocess/subprocess-local/package.json
+++ b/packages/subprocess/subprocess-local/package.json
@@ -27,9 +27,11 @@
"./output": {
"types": "./lib/types/output.d.ts",
"default": "./lib/output.js"
- }
+ },
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/runner.js",
"lib/runner-*.js",
diff --git a/packages/telemetry/otel/locale/en.json b/packages/telemetry/otel/locale/en.json
new file mode 100644
index 0000000000..8ca05d1adf
--- /dev/null
+++ b/packages/telemetry/otel/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "otel"
+ }
+}
diff --git a/packages/telemetry/otel/locale/zh.json b/packages/telemetry/otel/locale/zh.json
new file mode 100644
index 0000000000..2c7ef40a3b
--- /dev/null
+++ b/packages/telemetry/otel/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "OpenTelemetry 上报服务",
+ "description": "为产品事件和会话日志提供独立的数据上报通道。"
+ }
+}
diff --git a/packages/telemetry/otel/package.json b/packages/telemetry/otel/package.json
index a725c0dd39..4752e66dcb 100644
--- a/packages/telemetry/otel/package.json
+++ b/packages/telemetry/otel/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/terminal/terminal-bash/locale/en.json b/packages/terminal/terminal-bash/locale/en.json
new file mode 100644
index 0000000000..6a37ff822d
--- /dev/null
+++ b/packages/terminal/terminal-bash/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "terminal-bash"
+ }
+}
diff --git a/packages/terminal/terminal-bash/locale/zh.json b/packages/terminal/terminal-bash/locale/zh.json
new file mode 100644
index 0000000000..ab40aaff7d
--- /dev/null
+++ b/packages/terminal/terminal-bash/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "持久 Shell 后端",
+ "description": "提供可跨多次调用保留状态的 Shell 终端。"
+ }
+}
diff --git a/packages/terminal/terminal-bash/package.json b/packages/terminal/terminal-bash/package.json
index e1bef2814c..70f49ae016 100644
--- a/packages/terminal/terminal-bash/package.json
+++ b/packages/terminal/terminal-bash/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/terminal/terminal/locale/en.json b/packages/terminal/terminal/locale/en.json
new file mode 100644
index 0000000000..81b6ed2c44
--- /dev/null
+++ b/packages/terminal/terminal/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "terminal"
+ }
+}
diff --git a/packages/terminal/terminal/locale/zh.json b/packages/terminal/terminal/locale/zh.json
new file mode 100644
index 0000000000..16d87f637f
--- /dev/null
+++ b/packages/terminal/terminal/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "持久终端服务",
+ "description": "管理可持续交互的终端会话及其输入、输出和清理。"
+ }
+}
diff --git a/packages/terminal/terminal/package.json b/packages/terminal/terminal/package.json
index 8654dd43e5..d6bd058a38 100644
--- a/packages/terminal/terminal/package.json
+++ b/packages/terminal/terminal/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/todo/tool-todo/locale/en.json b/packages/todo/tool-todo/locale/en.json
new file mode 100644
index 0000000000..d96cec0f21
--- /dev/null
+++ b/packages/todo/tool-todo/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tool-todo"
+ }
+}
diff --git a/packages/todo/tool-todo/locale/zh.json b/packages/todo/tool-todo/locale/zh.json
new file mode 100644
index 0000000000..b9f36b1a3b
--- /dev/null
+++ b/packages/todo/tool-todo/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "待办清单工具",
+ "description": "让 AI 创建和更新任务待办清单。"
+ }
+}
diff --git a/packages/todo/tool-todo/package.json b/packages/todo/tool-todo/package.json
index 834d7e3fa1..6fed923d87 100644
--- a/packages/todo/tool-todo/package.json
+++ b/packages/todo/tool-todo/package.json
@@ -23,9 +23,11 @@
"default": "./lib/types/client.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/typert/loader/locale/en.json b/packages/typert/loader/locale/en.json
new file mode 100644
index 0000000000..94690e5564
--- /dev/null
+++ b/packages/typert/loader/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "typert-loader"
+ }
+}
diff --git a/packages/typert/loader/locale/zh.json b/packages/typert/loader/locale/zh.json
new file mode 100644
index 0000000000..410cbb2e92
--- /dev/null
+++ b/packages/typert/loader/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "Typert 类型加载",
+ "description": "加载插件生成的类型信息,供运行时查询和调用。"
+ }
+}
diff --git a/packages/typert/loader/package.json b/packages/typert/loader/package.json
index 23e9137a93..060afff278 100644
--- a/packages/typert/loader/package.json
+++ b/packages/typert/loader/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/typert/registry/locale/en.json b/packages/typert/registry/locale/en.json
new file mode 100644
index 0000000000..e5d3abb902
--- /dev/null
+++ b/packages/typert/registry/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "typert-registry"
+ }
+}
diff --git a/packages/typert/registry/locale/zh.json b/packages/typert/registry/locale/zh.json
new file mode 100644
index 0000000000..fbff7cf745
--- /dev/null
+++ b/packages/typert/registry/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "Typert 类型注册表",
+ "description": "为插件提供运行时类型信息和远程调用定义。"
+ }
+}
diff --git a/packages/typert/registry/package.json b/packages/typert/registry/package.json
index 8db9a4cacd..a5f4e98079 100644
--- a/packages/typert/registry/package.json
+++ b/packages/typert/registry/package.json
@@ -27,7 +27,8 @@
"default": "./lib/types/types.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"dsh": {
"client": {
@@ -41,6 +42,7 @@
"watch": "tsdown --watch"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/client.js",
"lib/types/**/*.js",
diff --git a/packages/web/tool-web/locale/en.json b/packages/web/tool-web/locale/en.json
new file mode 100644
index 0000000000..47da4c36da
--- /dev/null
+++ b/packages/web/tool-web/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tool-web"
+ }
+}
diff --git a/packages/web/tool-web/locale/zh.json b/packages/web/tool-web/locale/zh.json
new file mode 100644
index 0000000000..e86e3b98e0
--- /dev/null
+++ b/packages/web/tool-web/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "网页搜索与读取工具",
+ "description": "让 AI 搜索网页并读取页面内容。"
+ }
+}
diff --git a/packages/web/tool-web/package.json b/packages/web/tool-web/package.json
index 86637c2d8e..aff1ec2d68 100644
--- a/packages/web/tool-web/package.json
+++ b/packages/web/tool-web/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/web/web-fetch-http/locale/en.json b/packages/web/web-fetch-http/locale/en.json
new file mode 100644
index 0000000000..3d7ecc65a1
--- /dev/null
+++ b/packages/web/web-fetch-http/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "web-fetch-http"
+ }
+}
diff --git a/packages/web/web-fetch-http/locale/zh.json b/packages/web/web-fetch-http/locale/zh.json
new file mode 100644
index 0000000000..e759a944a5
--- /dev/null
+++ b/packages/web/web-fetch-http/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "公开网页获取",
+ "description": "读取无需登录的 HTTP 或 HTTPS 网页内容。"
+ }
+}
diff --git a/packages/web/web-fetch-http/package.json b/packages/web/web-fetch-http/package.json
index d59f357822..d145e276f2 100644
--- a/packages/web/web-fetch-http/package.json
+++ b/packages/web/web-fetch-http/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/web/web-search-deepseek/locale/en.json b/packages/web/web-search-deepseek/locale/en.json
new file mode 100644
index 0000000000..968ef043c3
--- /dev/null
+++ b/packages/web/web-search-deepseek/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "web-search-deepseek"
+ }
+}
diff --git a/packages/web/web-search-deepseek/locale/zh.json b/packages/web/web-search-deepseek/locale/zh.json
new file mode 100644
index 0000000000..489e24c503
--- /dev/null
+++ b/packages/web/web-search-deepseek/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "DeepSeek 网页搜索",
+ "description": "通过 DeepSeek 提供网页搜索结果。"
+ }
+}
diff --git a/packages/web/web-search-deepseek/package.json b/packages/web/web-search-deepseek/package.json
index 93bcdd1331..c3785d6032 100644
--- a/packages/web/web-search-deepseek/package.json
+++ b/packages/web/web-search-deepseek/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/web/web/locale/en.json b/packages/web/web/locale/en.json
new file mode 100644
index 0000000000..f0edb06f26
--- /dev/null
+++ b/packages/web/web/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "web"
+ }
+}
diff --git a/packages/web/web/locale/zh.json b/packages/web/web/locale/zh.json
new file mode 100644
index 0000000000..7f185b5428
--- /dev/null
+++ b/packages/web/web/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "网页访问服务",
+ "description": "统一管理网页搜索和内容获取的服务提供方。"
+ }
+}
diff --git a/packages/web/web/package.json b/packages/web/web/package.json
index d5ae491fed..b672df1201 100644
--- a/packages/web/web/package.json
+++ b/packages/web/web/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/workflow/tool-workflow/locale/en.json b/packages/workflow/tool-workflow/locale/en.json
new file mode 100644
index 0000000000..4126d6db5a
--- /dev/null
+++ b/packages/workflow/tool-workflow/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "tool-workflow"
+ }
+}
diff --git a/packages/workflow/tool-workflow/locale/zh.json b/packages/workflow/tool-workflow/locale/zh.json
new file mode 100644
index 0000000000..daeeec838d
--- /dev/null
+++ b/packages/workflow/tool-workflow/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "工作流工具",
+ "description": "让 AI 编写并运行 JavaScript 脚本,编排多项工具操作。"
+ }
+}
diff --git a/packages/workflow/tool-workflow/package.json b/packages/workflow/tool-workflow/package.json
index bbc01e6dfb..00be69b5b5 100644
--- a/packages/workflow/tool-workflow/package.json
+++ b/packages/workflow/tool-workflow/package.json
@@ -23,9 +23,11 @@
"default": "./lib/types/types.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/packages/workflow/workflow-ptc/locale/en.json b/packages/workflow/workflow-ptc/locale/en.json
new file mode 100644
index 0000000000..366a1bd6f5
--- /dev/null
+++ b/packages/workflow/workflow-ptc/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "workflow-ptc"
+ }
+}
diff --git a/packages/workflow/workflow-ptc/locale/zh.json b/packages/workflow/workflow-ptc/locale/zh.json
new file mode 100644
index 0000000000..b13304d310
--- /dev/null
+++ b/packages/workflow/workflow-ptc/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "工作流执行引擎",
+ "description": "使用共享的 PTC 运行时执行工作流编排代码。"
+ }
+}
diff --git a/packages/workflow/workflow-ptc/package.json b/packages/workflow/workflow-ptc/package.json
index 5f1e1cb5d6..09f88a334c 100644
--- a/packages/workflow/workflow-ptc/package.json
+++ b/packages/workflow/workflow-ptc/package.json
@@ -19,9 +19,11 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.d.ts"
],
diff --git a/packages/workspace/workspace/locale/en.json b/packages/workspace/workspace/locale/en.json
new file mode 100644
index 0000000000..7443b2da2c
--- /dev/null
+++ b/packages/workspace/workspace/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "workspace"
+ }
+}
diff --git a/packages/workspace/workspace/locale/zh.json b/packages/workspace/workspace/locale/zh.json
new file mode 100644
index 0000000000..30aaa3ad45
--- /dev/null
+++ b/packages/workspace/workspace/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "工作区管理",
+ "description": "保存工作区信息,并管理工作区与会话的关联。"
+ }
+}
diff --git a/packages/workspace/workspace/package.json b/packages/workspace/workspace/package.json
index 640d7155af..7481eb16e9 100644
--- a/packages/workspace/workspace/package.json
+++ b/packages/workspace/workspace/package.json
@@ -23,9 +23,11 @@
"default": "./lib/types/types.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
+ "locale/*.json",
"lib/index.js",
"lib/types/**/*.js",
"lib/types/**/*.d.ts"
diff --git a/vendor/README.md b/vendor/README.md
index 71cd648b03..1765056c37 100644
--- a/vendor/README.md
+++ b/vendor/README.md
@@ -58,6 +58,8 @@ Keep this log exhaustive — every divergence from upstream must be listed.
23. **`loader/src/config/entry.ts` module identity**: retains each entry's raw import result as `moduleNamespace`, before plugin export normalization. HMR matches that object to Node's cached module namespace and updates it after a successful reload. `EntryTree.import()` keeps its existing arguments and return value; `loader/README.md` documents the additive field.
+24. **`timer/locale/{en,zh}.json` display metadata**: local English and Chinese titles and descriptions for the Settings plugin inventory. `timer/package.json` exports and publishes these locale resources.
+
## Sync procedure
To update a vendored package from upstream:
diff --git a/vendor/timer/locale/en.json b/vendor/timer/locale/en.json
new file mode 100644
index 0000000000..525d713f46
--- /dev/null
+++ b/vendor/timer/locale/en.json
@@ -0,0 +1,5 @@
+{
+ "meta": {
+ "title": "timer"
+ }
+}
diff --git a/vendor/timer/locale/zh.json b/vendor/timer/locale/zh.json
new file mode 100644
index 0000000000..b87792d105
--- /dev/null
+++ b/vendor/timer/locale/zh.json
@@ -0,0 +1,6 @@
+{
+ "meta": {
+ "title": "计时服务",
+ "description": "为其他插件提供延时和周期执行能力。"
+ }
+}
diff --git a/vendor/timer/package.json b/vendor/timer/package.json
index 5f7ad6ccc9..94b4fe0691 100644
--- a/vendor/timer/package.json
+++ b/vendor/timer/package.json
@@ -19,13 +19,15 @@
"default": "./lib/index.js"
},
"./src/*": "./src/*",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./locale/*.json": "./locale/*.json"
},
"files": [
"lib/index.js",
"lib/types/**/*.d.ts",
"lib/types/**/*.d.ts.map",
- "src"
+ "src",
+ "locale"
],
"author": "Shigma ",
"license": "MIT",