把权限确认窗口的英文授权原因翻成中文
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add KNGLOKIKO/dsh-plugin-approval-zh该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · security
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 31 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/2) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 7 处,展示前 7 条)
- 读取本地文件selftest.mjs:41
const pkg = JSON.parse(await readFile(join(here, 'package.json'), 'utf8')) - 读取本地文件selftest.mjs:58
const patch = await readFile(join(here, 'cordis.patch.yml'), 'utf8') - 写入本地文件selftest.mjs:150
await writeFile( - 写入本地文件selftest.mjs:166
await writeFile(slowPath, 'module.exports = { route: () => new Promise(() => {}) }\n', 'utf8') - 删除本地文件递归selftest.mjs:178
await rm(work, { recursive: true, force: true }) - 读取本地文件selftest.mjs:184
const clientSrc = await readFile(join(here, 'client.js'), 'utf8') - 读取本地文件selftest.mjs:355
check('宿主半边不写 session 事件', !/ append /.test(await readFile(join(here, 'index.js'), 'utf8')))
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 翻译授权原因
- 翻译命令明细
- 中文重绘审批卡片
DSH 权限确认窗口(审批面板)中文化插件:接管 conversation.composer,用中文重绘审批卡片,翻译授权原因与命令明细,本地词表优先,model-router 兜底。
README
由 DeepSeek 最新模型翻译生成approval-zh — 权限确认窗口中文化
界面文案、授权原因、命令说明全部中文;不翻译审计记录,也不改动审批语义。
把 DSH 的权限确认窗口(Approval)整块换成中文界面,并且把窗口里那句一直是英文的授权原因也翻成中文。
窗口原本长这样:
● 等待审批 Tool bash requests privileged execution. ← 一直是英文
rm -rf build/ ← 命令明细(英文面板同款)
[ 拒绝 ] [ 允许一次 ]
装上本插件后:
● 等待审批工具 Shell 命令 请求越权执行 ← 中文
rm -rf build/
[ 拒绝 ] [ 允许一次 ]
说明:DSH 官方面板自带的按钮/标题本来就已中文化;本插件真正解决的是 reason(授权原因)——它是调用方(bash / edit / write 等工具)传入的自由文本英文串,没有内置词典,所以永远显示英文。
目录
| 文件 | 作用 |
| package.json | bundle 清单。声明 host 半边(index.js)、client 半边(client.js)与 patch。 |
| cordis.patch.yml | 安装时插入的插件行(- insert:)。 |
| index.js | 宿主半边(ESM)。
展开完整文档(README 剩余 1 节)
approval-zh — 权限确认窗口中文化
界面文案、授权原因、命令说明全部中文;不翻译审计记录,也不改动审批语义。
把 DSH 的权限确认窗口(Approval)整块换成中文界面,并且把窗口里那句一直是英文的授权原因也翻成中文。
窗口原本长这样:
● 等待审批 Tool bash requests privileged execution. ← 一直是英文
rm -rf build/ ← 命令明细(英文面板同款)
[ 拒绝 ] [ 允许一次 ]
装上本插件后:
● 等待审批工具 Shell 命令 请求越权执行 ← 中文
rm -rf build/
[ 拒绝 ] [ 允许一次 ]
说明:DSH 官方面板自带的按钮/标题本来就已中文化;本插件真正解决的是 reason(授权原因)——它是调用方(bash / edit / write 等工具)传入的自由文本英文串,没有内置词典,所以永远显示英文。
目录
| 文件 | 作用 |
| package.json | bundle 清单。声明 host 半边(index.js)、client 半边(client.js)与 patch。 |
| cordis.patch.yml | 安装时插入的插件行(- insert:)。 |
| index.js | 宿主半边(ESM)。挂 approval/request 瀑布监听,用 model-router 翻译原因。 |
| client.js | 客户端半边(浏览器纯脚本)。接管审批面板,即时套本地词表重绘中文。 |
| selftest.mjs | 离线自检(75 项)。不联网、不启动 DSH。 |
| README.md | 本文件。 |
两条翻译路径
插件是双保险设计,两条路径都只读不改审批语义:
① 客户端本地词表(零延迟,弹窗打开前就完成) client.js 用 priority: 0 接管 conversation.composer 链槽(官方面板是 priority: 1,链槽按 priority 升序选举,数字小的先命中),自己画整张卡片。
界面文案来自内置词典,常见英文原因来自 PHRASES 正则表,工具名来自 TOOL_LABELS。不发任何网络请求,所以弹窗一点不卡。
② 宿主侧 model-router 兜底(覆盖词表未收录的写法) index.js 在 agent/created 时对 agent.ctx 挂 approval/request 瀑布监听: req.reason 里没有 CJK 字符 → 调 model-router 库翻译 → 写回 req.reason。
翻译结果同时在宿主和客户端缓存,所以下一次同样的原因会立即显示中文。
三条硬约束,保证绝不拖慢或破坏审批:
| 约束 | 行为 |
| 硬时间预算 | 默认 2500ms 超时即放行,原因保持英文 |
| 永远放行 | 监听器总是 return next(),从不消费/否决审批决定 |
| 绝不动冻结对象 | Object.isFrozen(req) 时直接跳过 |
任何一步失败(库缺失、超时、模型报错、返回空)都只 console.warn,界面照常工作。
安装
方式一:从 GitHub 克隆后本地安装
git clone https://github.com/KNGLOKIKO/dsh-plugin-approval-zh.git
然后用 plugin_manager 工具安装(不要手改 profile 下的 ~/.dsh/profiles/desktop/cordis.patch.yml):
plugin_manager action=install_bundle
target=<克隆下来的绝对路径>
安装时会在宿主 / 浏览器进程里执行插件代码,所以需要 Full access 或逐次批准。
装完用(免批准的)cordis_inspect_query 确认新行,不必翻页 list_plugins:
cordis_inspect_query platform=host provider=Config method=listConfigs
input={"name":"@local/approval-zh"}
status: "absent" 是正常的——它表示本插件没有导出 Config schema,不代表插件没装。
安装后刷新页面(或重启 DSH)让 client.js 进入浏览器模块表。
方式二:让插件管理器直接从 git 仓库装
install_bundle 也接受 git 规格(本仓库的 package.json 已带 dsh.bundle.patch,无需额外构建):
plugin_manager action=install_bundle
target=git+https://github.com/KNGLOKIKO/dsh-plugin-approval-zh.git
卸载
plugin_manager action=remove_bundle target=@local/approval-zh
配置项
编辑 cordis.patch.yml 的 config(改完需重装 bundle 或重启 DSH): yaml
- insert:
- id: approval-zh
name: '@local/approval-zh'
config:
libraryPath: '.../model-router/index.js' # 可选,见下 translateBudgetMs: 2500 # 翻译硬预算,超时放行 useModelRouter: true # false = 只用本地词表
libraryPath 不必手写。不填时按以下顺序自动解析:
1. 环境变量 APPROVAL_ZH_MODEL_ROUTER
2. 与本 bundle 同级的 ../model-router/index.js
第 2 条让「把 model-router 和本插件克隆到同一父目录」即可开箱拿到兜底翻译;都解析不到时只走客户端本地词表,插件照常工作。
本地词表怎么加
加整句模板 → 编辑 client.js 的 PHRASES 数组(顺序即优先级,先匹配先赢): js { re: /^Tool\s+(.+?)\s+requests privileged execution\.?$/i,
build: (m) => '工具 ' + toolZh(m[1]) + ' 请求越权执行' },
build 收到正则的 match 数组,返回中文字符串。加完需要重装 bundle + 刷新页面。
加工具名 → 在 TOOL_LABELS 里补一行 bash: 'Shell 命令'。未收录的工具名原样保留,不会消失。
加界面文案 → 同时改 client.js 顶部的 zh / en 词典。
词表没命中时不会丢信息:面板原样显示英文原因,并附一行「尚未收录本地词表」提示;同时宿主侧会尝试用 model-router 翻。
已知边界
- 不翻译审计记录:日志里记录的仍是原始 reason,中文只作用于界面。
- 不改审批语义:「允许一次 / 拒绝」仍然只由用户点击或 Enter / Esc 决定,插件既不自动放行也不自动拒绝。
- 命令明细依赖 useChat:命令明细来自槽位 kit 的 useChat。若当前 DSH 版本没在 conversation.composer 注入它,明细区不显示,面板其余部分正常。
- 崩溃隔离:面板外层有 React 错误边界,渲染异常时降级为极简中文面板,不会白屏。
- reason 是冻结对象时宿主侧不改写,此时只有客户端词表这一层可用。
自检 bash
node selftest.mjs
应输出 BUNDLE SELFTEST PASSED (75 checks)。
自检不联网、不启动 DSH、不读取任何凭证文件,全程用假 ctx / 假 React / 临时 fixture 库跑通注册与渲染,并静态断言仓库里没有明文 API key。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
KNGLOKIKO/dsh-plugin-approval-zh
把权限确认窗口的英文授权原因翻成中文
相关插件 · 安全 / 权限
智能体逆向工程morluto/rea
用智能体逆向工程任何东西,从应用行为到原生二进制。
★ 415,267已汉化DSH
73.3
智能体集群框架ruvnet/ruflo
面向 Claude Code 与 Codex 的智能体元基座meta-harness。
★ 80,414已汉化MCP
71.9
WorkBuddy 模型接入corrinehu/dsh-workbuddy-connect
2026 年 10 月 20 日起,WorkBuddy…
★ 1,604已汉化DSH
71.7
破甲一键通z91772524-ai/pojia-next
十五个 AI…
★ 967已汉化DSH
71.6
AI 代理虚拟终端strukto-ai/mirage
Mirage 是给 AI 智能体用的虚拟终端:一层 shell,统管数据、命令行和运行时。Unix…
★ 3,756已汉化DSH
70.8
Agent 操作层agentic-os-org/ANOLISA
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture)|智能体操作系统,带运行时、安全、可观测性,以及 Tokenless 响应压缩,降低 token 用量与成本。
★ 649已汉化DSH
70.7