把 skill、命令与子智能体的英文说明翻成中文
26.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add kaguyaluna2333/skill-zh-cn该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · skill
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 80 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 38 处,展示前 38 条)
- 发起网络请求adapters/dsh/lib/index.js:82
const outcome = await approval.request({ - 读取本地文件core/apply.js:48
if (!fs.existsSync(args.apply)) { console.error("[apply] 清单不存在,无操作"); return; } - 读取本地文件core/apply.js:50
try { list = JSON.parse(fs.readFileSync(args.apply, "utf8")); } - 读取本地文件core/lib/cache.js:17
if (cacheFile && fs.existsSync(cacheFile)) { - 读取本地文件core/lib/cache.js:18
const data = JSON.parse(fs.readFileSync(cacheFile, "utf8")); - 写入本地文件core/lib/cache.js:49
fs.mkdirSync(path.dirname(cacheFile), { recursive: true }); - 写入本地文件core/lib/cache.js:52
fs.writeFileSync(tmp, JSON.stringify(data, null, 2)); - 写入本地文件core/lib/cache.js:54
fs.renameSync(tmp, cacheFile); - 写入本地文件core/lib/cache.js:63
try { fs.renameSync(cacheFile, backup); } catch {} - 写入本地文件core/lib/cache.js:64
fs.renameSync(tmp, cacheFile); - 写入本地文件core/lib/cache.js:67
try { fs.renameSync(backup, cacheFile); rolledBack = true; } catch {} - 删除本地文件core/lib/cache.js:68
try { fs.unlinkSync(tmp); } catch {} - 删除本地文件core/lib/cache.js:72
if (!rolledBack) { try { fs.unlinkSync(backup); } catch {} } - 读取本地文件core/lib/collect.js:16
try { return fs.readdirSync(d, { withFileTypes: true }); } catch { return []; } - 读取本地文件core/lib/collect.js:18
function exists(p) { try { return fs.existsSync(p); } catch { return false; } } - 读取本地文件core/lib/collect.js:19
function dirIsDir(p) { try { return fs.statSync(p).isDirectory(); } catch { return false; } } - 读取本地文件core/lib/collect.js:20
function fileIsFile(p) { try { return fs.statSync(p).isFile(); } catch { return false; } } - 读取本地文件core/lib/collect.js:47
try { entries = fs.readdirSync(dir, { withFileTypes: true }); } catch { return; } - 读取本地文件core/lib/hosts.js:26
try { return !!(p && fs.existsSync(p) && fs.statSync(p).isDirectory()); } catch { return false; } - 写入本地文件core/lib/io.js:20
fs.writeFileSync(tmp, content, { mode: 0o600 }); - 写入本地文件core/lib/io.js:22
try { fs.chmodSync(tmp, fs.statSync(file).mode); } catch {} - 写入本地文件core/lib/io.js:24
fs.renameSync(tmp, file); - 写入本地文件core/lib/io.js:29
fs.copyFileSync(tmp, file); - 删除本地文件core/lib/io.js:30
try { fs.unlinkSync(tmp); } catch {} - 删除本地文件core/lib/io.js:33
try { fs.unlinkSync(tmp); } catch {} - 读取本地文件core/lib/io.js:40
try { return fs.readFileSync(p, "utf8"); } catch { return null; } - 写入本地文件core/scan.js:101
fs.mkdirSync(path.dirname(args.output), { recursive: true }); - 写入本地文件core/scan.js:102
fs.writeFileSync(args.output, JSON.stringify(result, null, 2)); - 写入本地文件core/scan.js:107
fs.mkdirSync(path.dirname(args.printCount), { recursive: true }); - 写入本地文件core/scan.js:108
fs.writeFileSync(args.printCount, String(result.toTranslate.length)); - 发起网络请求core/translate.js:129
return fetch(urlStr, { - 读取本地文件core/translate.js:156
const data = fs.readFileSync(0, "utf8"); - 执行外部命令固定命令core/translate.js:165
const child = spawn("claude", ["--bare", "-p", prompt, "--output-format", "text"], { - 读取本地文件core/translate.js:286
if (!fs.existsSync(args.queue)) { - 写入本地文件core/translate.js:287
fs.writeFileSync(args.output, "[]"); - 读取本地文件core/translate.js:291
const queue = JSON.parse(fs.readFileSync(args.queue, "utf8")); - 写入本地文件core/translate.js:296
fs.writeFileSync(args.output, "[]"); - 写入本地文件core/translate.js:355
fs.writeFileSync(args.output, JSON.stringify(applyList, null, 2));
扫描于 2026/11/3(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 汉化skill说明
- 汉化命令说明
- 汉化子智能体说明
跨宿主(Claude Code / zcode / opencode / codex)的 skill / 命令 / 子智能体说明汉化工具
README
由 DeepSeek 最新模型翻译生成skill-zh-cn
跨宿主的 skill / 命令 / 子智能体说明汉化工具装在谁身上,就让谁的 agent 翻 —— 不依赖外部 CLI,也无需 API key
CC 的 skill 格式(SKILL.md + frontmatter)正在跨工具趋同:codex 装了一堆和 CC 同名的 skill,opencode / codex / zcode 都有 skills/ 目录且 frontmatter 兼容;DSH 也使用 //SKILL.md 或平铺 .md。所以一个汉化内核就能服务这些工具。
它做什么
把这些位置的英文 description 翻译成简体中文:
- skill(SKILL.md)
- 命令(commands/.md)
- 子智能体(agents/.md,含插件自带的,如 ECC 的 67 个)
- 插件元数据(plugin.json / marketplace.json)
- DSH skill(//SKILL.md 与平铺 .md,由 adapters/dsh 提供)
DSH 适配目前只汉化 DSH 的 skill description:DSH 的命令是代码注册的,没有 commands/.md;其余宿主的命令 / 子智能体 / 插件元数据汉化不变。
展开完整文档(README 剩余 1 节)
skill-zh-cn
跨宿主的 skill / 命令 / 子智能体说明汉化工具装在谁身上,就让谁的 agent 翻 —— 不依赖外部 CLI,也无需 API key
CC 的 skill 格式(SKILL.md + frontmatter)正在跨工具趋同:codex 装了一堆和 CC 同名的 skill,opencode / codex / zcode 都有 skills/ 目录且 frontmatter 兼容;DSH 也使用 //SKILL.md 或平铺 .md。所以一个汉化内核就能服务这些工具。
它做什么
把这些位置的英文 description 翻译成简体中文:
- skill(SKILL.md)
- 命令(commands/.md)
- 子智能体(agents/.md,含插件自带的,如 ECC 的 67 个)
- 插件元数据(plugin.json / marketplace.json)
- DSH skill(//SKILL.md 与平铺 .md,由 adapters/dsh 提供)
DSH 适配目前只汉化 DSH 的 skill description:DSH 的命令是代码注册的,没有 commands/.md;其余宿主的命令 / 子智能体 / 插件元数据汉化不变。
原文备份到 description_en,加 x-zh-cn-translated 标记,可一键还原。已汉化的不重复翻译;原生中文(CJK 检测)自动跳过。
快速开始
CC / zcode —— plugin,由本宿主 agent 翻译
/plugin marketplace add kaguyaluna2333/skill-zh-cn
/plugin install skill-zh-cn@skill-zh-cn
重启会话后,SessionStart hook 自动扫描待译项;检测到英文 description 时,会提示运行 /skill-zh-cn。直接运行即可——由本宿主 agent 翻译,无需 API key、不启动外部 CLI:
/skill-zh-cn
DSH —— Cordis 插件,由当前会话 agent 翻译
DSH 适配位于 adapters/dsh/,以 Cordis 插件形式注册 skill_zh_cn_scan / skill_zh_cn_apply / skill_zh_cn_restore 三个工具,以及 /skill-zh-cn / /skill-zh-cn-restore 两个命令。把 adapters/dsh 作为插件包安装到 profile(或把 cordis.patch.yml 合并进 profile 的 patch),然后对 agent 说:
汉化一下我的 skills 说明
详见 adapters/dsh/README.md。
opencode / codex —— CLI,手动 / 定时
git clone https://github.com/kaguyaluna2333/skill-zh-cn
cd skill-zh-cn
./bin/skill-zh-cn --host codex --dry-run # 只看待译项,不写盘
clone 后用 core/agent-translate.sh 走与 plugin 相同的 agent 翻译路径;或用 API 批量(见下方 env 配置)。自动触发示例见 adapters/opencode/、adapters/codex/;DSH 插件见 adapters/dsh/。
支持的宿主
| 宿主 | userRoot | pluginRoot | v1 触发 |
| Claude Code | ~/.claude | ~/.claude | plugin + SessionStart hook |
| zcode | ~/.zcode | ~/.zcode/cli | plugin + SessionStart hook |
| opencode | $OPENCODE_CONFIG_DIR 或 ~/.config/opencode | 同左 | CLI |
| codex | ~/.codex | ~/.codex | CLI |
| DSH | /.dsh/skills、/.agents/skills、~/.dsh/skills、~/.agents/skills | 同左 | Cordis plugin(tools + commands) |
工作原理
三阶段流水线 scan → translate → apply:
- scan:递归找 SKILL.md / commands/.md / agents/.md / 插件元数据 JSON,解析 description,跳过已汉化(有标记)与原生中文(CJK 占比 > 0.3 或 CJK 字符数 ≥ 3),对比缓存只列新增 / 改动项。默认只扫 plugin cache(运行副本)+ user,不扫 plugins/marketplaces(那是插件 git 源码仓库,汉化会 dirty 且运行时不读);SKILL_I18N_INCLUDE_MARKETPLACES=1 可全扫。restore 总是全扫以彻底清理。
- translate:默认走 stdin provider——译文由本宿主 agent 翻译后 pipe 进来(“装在谁身上让谁的 agent 翻”,零外部依赖)。可选 claude CLI / OpenAI 兼容 / Anthropic 兼容(API 批量)。按英文原文 hash 缓存,插件 update 覆盖后下次启动自动重应用,不重复调 LLM。
- apply:行级 patch 写回——只改 description 行 + 追加 description_en 备份与 x-zh-cn-translated 标记,正文内容不变(CRLF 行尾的文件写回时归一化为 LF,这是 frontmatter 解析的副作用;JSON 同样行级 patch,保持数组等格式不变);写前 verifyRewriteSafe 自检。
可靠性:翻译失败绝不写回源文件;${...} 占位符校验(丢失则拒译);零外部依赖(纯 node + node:test);restore --all 一键还原。
env 配置
| 变量 | 默认 | 说明 |
| SKILL_I18N_PROVIDER | (空) | stdin(本宿主 agent,推荐)/ claude / openai / anthropic;不指定则报错引导 |
| SKILL_I18N_API_KEY | 空 | openai / anthropic 的 key(经 env 传递,不进进程列表)|
| SKILL_I18N_BASE_URL | provider 默认 | 兼容端点 |
| SKILL_I18N_MODEL | 空 | openai / anthropic 模型名 |
| SKILL_I18N_BATCH | 10 | API 批量翻译每批条数(推理型 API 建议 3)|
| SKILL_I18N_SUB | 1 | 小批次重试最终兜底(单条)|
| SKILL_I18N_REQUEST_TIMEOUT | 180000 | API 单次请求超时 ms |
| SKILL_I18N_TIMEOUT | 25 | hook 后台超时秒 |
| SKILL_I18N_USER_ROOT / SKILL_I18N_PLUGIN_ROOT | 自动探测 | 显式覆盖扫描根 |
| SKILL_I18N_INCLUDE_MARKETPLACES | 0 | 1 连 marketplaces 源码一起扫(默认只扫 cache + user)|
推理型 API(MiniMax M 系列、GLM、DeepSeek-R1):建议 SKILL_I18N_BATCH=3 + SKILL_I18N_REQUEST_TIMEOUT=60000(这类模型带 reasoning,大批量或短超时易失败)。不想配 API 就用 agent 翻译(/skill-zh-cn,provider=stdin),完全不受影响。
CLI 用法 text skill-zh-cn 自动探测宿主,扫描并汉化 skill-zh-cn --host skill-zh-cn --root 双根相同(CC 式单根) skill-zh-cn --user-root X --plugin-root Y skill-zh-cn --provider skill-zh-cn --dry-run | list 只列待译,不写盘 skill-zh-cn restore [--host X|--root Y|--all]
/skill-zh-cn(plugin 提供的 command)走 agent 翻译(stdin),是推荐路径。CLI skill-zh-cn 需显式 --provider(或 env),适合终端批量。
开发 bash
node --test tests/.test.js # 全量测试(零依赖)
bash core/translate-skills.sh --host zcode --dry-run # 手动 dry-run
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
kaguyaluna2333/skill-zh-cn
把 skill、命令与子智能体的英文说明翻成中文
相关插件 · 技能 / 提示词
人设统管ZiChuanLan/agent-purge
一份人设,统一管理多个 coding agent。
★ 1,141已汉化DSH
74.1
人物画像蒸馏titanwings/distilly
Distilly — 把他们的思考方式提炼成可复用的技能,供任何智能体或机器人使用。原名 Colleague Skill(原同事 Skill)。
★ 25,659已汉化DSH
71.3
推理工作空间套件Tiger3807861189/J-Space-Cognition-Suite
J-Space 是面向复杂推理、大型仓库工程、子代理协作与授权安全分析的推理时工作空间和控制套件。
★ 2,957已汉化DSH
70.5
两阶段工具锚定预设xiaobright/dsh-anchored-standard
实验性 DeepSeek Harness agent preset…
★ 3,742已汉化DSH
70.1
智能体工作流编排nrslib/takt
不再日夜盯着 AI 编码智能体。
★ 1,402已汉化DSH
70
Agent 运行时手册Electricitysheep/dsh-handbook
DeepSeek Harness dsh 从 0 到 1 深度手册:安装/插件开发/性能调优/实测案例/同模型多…
★ 827已汉化DSH
68.7
这是你的仓库?认领条目