前言¶
如果本机已经装过 Codex CLI,~/.codex 里可能已经有一批插件缓存和技能。DSH 侧如果希望复用这些技能,手动复制会遇到 frontmatter 字段不一致、插件目录里混有 Codex 专属文件、同名技能覆盖等问题。
dsh-codex-port 是一个 DSH 插件,用于扫描本机 Codex 插件目录,把可用的技能批量移植为 DSH 技能,也支持输出到其他支持 Agent Skills(SKILL.md)格式的目录。
这是什么¶
dsh-codex-port 的仓库地址是 STARDUSTLC666/dsh-codex-port。它主要做三件事:列出本机 Codex 插件与技能、批量移植技能、对比移植状态。许可证为 MIT。
核心功能¶
下面按可落地的能力列出。
- 扫描
~/.codex中的解包插件与插件缓存。 - 把 Codex 官方插件的技能批量移植为 DSH 技能。
- 自动转换 frontmatter:
name/description/metadata转为name/description/compatibility/allowed-tools,多行描述完整保留。 - 剔除 Codex 专属文件,例如
agents/*.yaml等子代理描述不会带入目标目录。 - 名称清洗:非法字符替换为下划线,
..路径穿越直接拒绝。 - 幂等处理:同名技能默认跳过,设置
overwrite=true才覆盖。 - 安全边界:按已核实信息,它是纯文件系统操作,运行时依赖仅
yaml解析;package.json声明node >=22。
安装与启用¶
本机需要已安装 Codex CLI,至少 ~/.codex 目录存在。
添加插件:
dsh plugin --profile web add dsh-codex-port
配置项全部可选,默认即可用。可配置项包括:
codexHome
targetDir
overwrite
codexHome:Codex 家目录,默认为~/.codex。targetDir:目标技能目录。overwrite:是否覆盖同名技能,默认跳过。
卸载:
dsh plugin --profile web remove dsh-codex-port
卸载后重启 Web 服务。如需彻底清理,可再手动删除自己 profile 的 cordis.patch.yml 中覆盖的插件行。
工具与典型用法¶
插件提供三个工具:codex_list、codex_port、codex_status。
查看¶
codex_list {}
codex_list { plugin: remotion }
codex_list 用于列出发现的 Codex 插件与技能,支持 plugin/skill 过滤,limit 范围为 1-200。
移植¶
codex_port {}
codex_port { plugins: [remotion, hyperframes] }
codex_port { skills: [video-best], overwrite: true }
codex_port { targetDir: ~/.claude/skills }
codex_port 用于批量移植为 DSH 技能,支持 plugins/skills 过滤、targetDir、overwrite。targetDir 不限于 DSH,也可以指向 Claude Code、Cursor、Gemini CLI 等支持 Agent Skills(SKILL.md)格式的目录。
状态¶
codex_status {}
codex_status 用于对比源与目标,统计已移植与未移植情况。
适用场景与注意¶
适合这类情况:
- 本机已有 Codex CLI,并且
~/.codex中存在可扫描的插件或缓存。 - 希望把 Codex 技能带到 DSH 技能目录,或带到 Claude Code 等其他 Agent Skills 目录。
- 希望用
codex_status查看还差哪些未移植。
注意:
- 插件以当前运行 DSH 的进程权限访问本机文件系统,安装前建议检查源码与许可证(MIT)。
- 该插件在
@deepseek-ai/dsh@0.1.1-rc.2上验证过(2026-08-26)。 - 同名技能默认不覆盖;需要覆盖时显式传
overwrite=true。 - 目标目录如果指向其他 agent,请确认对方支持 Agent Skills / SKILL.md 格式,并自行确认目标目录权限。
相关链接¶
https://github.com/STARDUSTLC666/dsh-codex-port