证据快照复核于 2026-09-16GitHub 数据核对日期: 2026-08-21
证据已验证Plugin Bundle界面与体验Web Profile

dsh-agent-lang

为 DSH Web 提供语言控制,让工具卡片描述、思考和回复跟随或覆盖界面语言。

快速了解

它能做什么

为 DSH Web 提供语言控制,让工具卡片描述、思考和回复跟随或覆盖界面语言。

本站提供的是中文说明,不代表该项目或 Plugin 自身提供中文界面;语言支持请以上游文档为准。

使用场景
界面与体验localization配置UI
适配技术
deepseek-harnessWeb
兼容性

Web Profile
>=0.1.0

可信度与状态

证据已验证
核对日期 2026/9/15 UTC 14:07

有代码证据的贡献

它为 DSH 增加什么

插件语言设置卡片

在“设置 > 插件”中添加卡片,可跟随界面语言、强制指定 BCP 47 语言标签或关闭语言指示。

机制证据
全局 Agent 语言运行时上下文

注入全局运行时上下文指示,控制工具调用描述、模型思考和回复语言,不修改 preset 或工具 schema。

机制证据

选择前先看

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

查看 commit 42d6936 对应的 README
维护者编写的上游内容原文于 2026/9/15README.md 获取,正文和仓库相对媒体固定到 commit 42d6936b543c,内容哈希为 3bd2305b64e5。以下是未经 DSHub 翻译的上游原文,语言可能与当前页面不同;第三方托管的 badge 可能独立更新。

dsh-agent-lang

Awesome DSH Plugin

简体中文 | English | 日本語 | 한국어

Agent 语言控制 —— 让 DeepSeek Harness (DSH) 里模型的工具描述、思考、回复输出三个通道的语言各自可配:跟随界面语言、强制指定语言、或关闭,支持一键全部跟随/一键全关。默认只开工具描述通道(含 PTC 模式 run_codedescription,即工具卡片标题)跟随界面语言,替代永远英文。

为什么需要它

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_codedescription 同样覆盖
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 标签,如 zhja)/ 关闭,并显示当前检测链。

安装

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

验证

  1. 安装并重启 DSH,硬刷新一次页面(⌘/Ctrl+Shift+R,见「已知边界」第 1 条),打开 Web GUI(浏览器语言或设置选择为中文);
  2. ~/.dsh/settings.yaml 出现 agent-lang: 段(uiLocale: zh,页面加载后);
  3. 新建任意模式的会话,让模型跑几步工具调用——卡片描述应为中文;
  4. 设置 → 通用 → 语言 里切换语言,再发一条消息——下一轮请求描述即切换;
  5. 设置 → 插件 → 工具描述语言:切到「强制指定语言」,下拉选 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

检查兼容性证据

风险事实

配置

Changes global language guidance for agent requests

证据
data_handling

Uses GUI locale and plugin settings to form runtime directives

证据
证据与编辑审查Manifest、Bundle patch、分发与新鲜度

不可变证据

审查状态与源码活动

AI 已审查

安装前可通过固定源码检查 bundle;这是配置类插件,不代表经过安全认证的语言控制。

AI 审查于 2026/9/15 UTC 14:08GitHub 事实核对日期: 2026/9/15 UTC 14:08

自当前证据基线以来,没有记录到重要源码变化。

下一步

按 Plugin 安装流程操作

订阅重要变化: dsh-agent-lang