快速了解
它能做什么
为 DSH Web 提供语言控制,让工具卡片描述、思考和回复跟随或覆盖界面语言。
本站提供的是中文说明,不代表该项目或 Plugin 自身提供中文界面;语言支持请以上游文档为准。
Web Profile
>=0.1.0
证据已验证
核对日期 2026/9/15 UTC 14:07
选择前先看
dsh-agent-lang 会在 DSH Web profile 中全局挂载,并注入动态运行时上下文指示。其设置可让工具描述、模型思考和回复跟随界面语言、强制使用固定语言,或关闭语言指引。文档说明默认仅启用工具描述本地化,也包括 PTC 的 run_code 卡片标题。
适合谁
希望 Agent 可见工具活动和输出语言与 DSH 界面一致、且不想修改 preset 的 DSH Web 用户。
常见任务
- 让 DSH 工具调用卡片显示中文、日文或其他本地化描述。
- 为工具描述、思考或回复强制指定一致的语言。
- 需要保留英文或既有提示行为时关闭该指示。
权限与数据
文档说明该插件会接收 Web GUI 语言,并用插件设置生成运行时提示指示。
权限- 通过 bundle patch 在 DSH host plane 全局挂载。
- 在 Web 平台注入 runtime、locale、UI slots 和 settings 客户端模块。
- 文档说明界面语言上报会向 agent-lang 设置命名空间写入 uiLocale。
- 语言设置和检测到的语言会用于组装每次请求的运行时上下文。
局限
- 文档说明 minimal preset 会抑制运行时上下文贡献者,因此不受该插件影响。
- 仅 CLI 使用时没有浏览器语言;若未显式设置语言,则不会注入指示。
- 多浏览器或远程页面时,后上报的界面语言可能覆盖先前语言。
- 项目说明首次安装或更新后需要进行一次硬刷新。
DSHub 已核对
- 已提供固定 Git commit、包清单、bundle patch、MIT 许可证和 npm 包身份验证。
- 清单声明 Node >=18 与 DSH >=0.1.0。
DSHub 未核对
- 本次整理未实际执行安装、重启、设置卡片显示或模型输出本地化验证。
- 未审计 npm tarball 的内容。
固定版本安装
安装 dsh-agent-lang
这个Plugin Bundle没有 DSH Plugin 安装操作,请根据源码文档使用真实交付方式。
维护者原文
项目 README
dsh-agent-lang
Agent 语言控制 —— 让 DeepSeek Harness (DSH) 里模型的工具描述、思考、回复输出三个通道的语言各自可配:跟随界面语言、强制指定语言、或关闭,支持一键全部跟随/一键全关。默认只开工具描述通道(含 PTC 模式
run_code的description,即工具卡片标题)跟随界面语言,替代永远英文。
为什么需要它
DSH 里每一次工具调用的 description 参数都是必填的,而且原样显示在 UI 的调用卡片上(PTC 模式下它就是 run_code 卡片的标题)。但工具 schema 里对这个字段的说明全是英文措辞加英文示例("5-10 words … Examples: 'Count TODO markers…'"),所以模型默认永远写英文描述——界面是中文的用户,看每一步都在看英文。
本插件只改提示词侧:注册一条全局动态 runtime-context 指示,告诉模型当前 GUI 显示语言、并要求所有工具调用描述用该语言书写。不修改任何 preset、persona 或工具 schema(它们是部署资产,升级会覆盖)。
支持范围
| 模式 / preset | 支持 | 说明 |
|---|---|---|
standard(标准模式) |
✅ | |
ptc(PTC 模式,旧名 code) |
✅ | run_code 的 description 同样覆盖 |
cordis(创造模式) |
✅ | |
用户自建 preset(含 ptc-cordis、dsh-gitbash-shell 的 gitbash 变体等) |
✅ | 挂在主机面,对进程内所有未封闭提示的 preset 生效 |
minimal(极简模式) |
❌(设计如此) | minimal 的 persona 是 complete: true 且压制 runtime context,提示词对一切后挂贡献者封闭——任何提示级插件都无法进入,需要产品侧改动 |
工作原理
浏览器(GUI) DSH Host 进程
┌─────────────────────┐ 上报当前界面语言 ┌──────────────────────────────┐
│ locale 运行时 │ ─────────────────▶ │ settings ns「agent-lang」 │
│ (显式选择,或浏览器 │ (只写 uiLocale 字段) │ .uiLocale ← 浏览器上报 │
│ navigator 匹配) │ │ .mode/.forceLocale ← 设置卡片 │
└─────────────────────┘ │ settings ns「locale」(只读) │
│ .preference ← 设置里的显式选择 │
└──────────────┬───────────────┘
│ 每次请求组装时求值
┌──────────────▼───────────────┐
│ systemPrompt.context(全局) │
│ 「用 <语言> 写工具调用描述」 │
└──────────────────────────────┘
- 检测优先级(auto 模式):设置 → 通用 → 语言里的显式选择 > 浏览器上报的当前语言;英文也是正常目标语言(v0.3.0 起)——部分模型会在思考/输出里混杂多语言,显式英文指示同样能纠正;仅完全未检测到语言时不注入。
- 注入通道:
systemPrompt.context()—— 与沙箱/审批策略同一个每轮刷新的 runtime-context 快照,渲染在请求末尾,近因盖过工具 schema 里的英文指引;切换界面语言后下一轮请求即生效,无需重启。 - 设置卡片:设置 → 插件 里出现本插件的卡片(与宿主已服务的设置命名空间自动配对),可切换行为:跟随界面语言 / 强制指定语言(下拉候选或自填 BCP 47 标签,如
zh、ja)/ 关闭,并显示当前检测链。
安装
dsh plugin --profile web add dsh-agent-lang # npm 公开包
# 源码与 Release: https://github.com/KannaKuron/dsh-agent-lang
纯 JS、零构建、零安装依赖(schemastery 以 peer 声明,经 profile 共享解析),安装不触发构建脚本。装完重启 DSH,打开任意会话即可;设置 → 插件 里可找到「工具描述语言」卡片。
本地开发版安装
npm pack # 出 tarball
# 在 (dsh home)/profiles/web 里:
pnpm add <tarball 路径> # package.json 的 dsh.bundle.patch 声明会自动挂载
# 重启 DSH
验证
- 安装并重启 DSH,硬刷新一次页面(⌘/Ctrl+Shift+R,见「已知边界」第 1 条),打开 Web GUI(浏览器语言或设置选择为中文);
~/.dsh/settings.yaml出现agent-lang:段(uiLocale: zh,页面加载后);- 新建任意模式的会话,让模型跑几步工具调用——卡片描述应为中文;
- 设置 → 通用 → 语言 里切换语言,再发一条消息——下一轮请求描述即切换;
- 设置 → 插件 → 工具描述语言:切到「强制指定语言」,下拉选
ja(或自填标签),描述变日文;切「关闭」回到英文。
版本兼容
dsh 0.1.6-alpha.1 已逐项核对通过,无需代码改动(核对记录见 CHANGELOG v0.4.3):
systemPrompt.context()契约未变:PromptContext仍是{ name, order, text },order 125 仍在官方 CONTEXT_ORDERS 之后;新版只给 sections 加了interpolate: false,不涉及 context 贡献。- 注入文本不存在
{{...}}插值风险:三条语言来源(强制标签 / 设置里的显式选择 / 浏览器上报)全部经 BCP47 校验后才进入文本。 - 图标与槽位契约(
settings.plugin.item)、settings / locale 服务均无变化。
已知边界
- 新装/更新后的首次启动需硬刷新一次(2026-08-31 真机实测):首次页面加载可能赶上客户端模块表重建(combo revision 变化),新装包被暂时排除——表现为设置卡片未出现,但
settings.yaml已有uiLocale上报痕迹(上报先于剔除发生)。硬刷新(⌘/Ctrl+Shift+R)即恢复;日常重启不复发。 - minimal 模式:提示词封闭(见上表),不受本插件影响。
- 无浏览器页面时(如纯 CLI 部署):只有「显式选择」一条检测链;从未在设置里选过语言则不注入。
- 多浏览器/远程页面:界面语言是全局单值,后打开的页面上报会覆盖前者;非 loopback 页面的设置选择可能进程本地化(DSH 行为)。
- 子代理 / workflow 的模型同样看到该指示(它们的描述也显示在 UI 里,语义一致)。
许可
MIT
有意识地管理
安装与管理
前置条件与目标 Profile
目标: Web Profile
交付方式: Git Bundle — KannaKuron/dsh-agent-lang#42d6936b543c831a05c77f8a5416e28efaf1b742。
验证、更新与移除
显示生命周期命令
dsh plugin --profile web list兼容性与访问范围
DSH bundle; Node >=18 and DSH >=0.1.0 declared: >=0.1.0。
风险事实
证据与编辑审查Manifest、Bundle patch、分发与新鲜度
不可变证据
审查状态与源码活动
安装前可通过固定源码检查 bundle;这是配置类插件,不代表经过安全认证的语言控制。
AI 审查于 2026/9/15 UTC 14:08。GitHub 事实核对日期: 2026/9/15 UTC 14:08。
自当前证据基线以来,没有记录到重要源码变化。