Codex 官方插件一键移植为 DSH 技能(codex_list/port/status/health,实测 186 插件/583 技能,移植 577 个 0 失败)。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-codex-port
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:STARDUSTLC666/dsh-codex-port
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
dsh-codex-port
0.2.4 更新(2026-09-27)
Codex 目录按显式 codexHome、CODEX_HOME、默认 ~/.codex 的顺序解析,修复自定义或隔离目录无法发现插件技能的问题。
验证宿主:官方源码构建的 Harness 0.2.0-rc.1(commit 407e65c8)+ Node 24.16.0(2026-09-28)。53 项插件测试在隔离环境全部通过;同一个宿主里 18 个插件共同加载,注册 4 个工具,工具 schema 与健康检查契约通过。本轮未启用真实端口与外部服务。
Codex 全家桶,一条命令进 DSH:实测 186 插件、583 技能、移植 577 个 0 失败。
把 Codex 官方插件全家桶一键搬进 DSH:扫描 ~/.codex 里的解包插件与插件缓存,把它们的技能批量移植为 DSH 技能(frontmatter 自动转换、codex 专属文件剔除、名称清洗、幂等跳过)。
本机实测:186 个 Codex 官方插件、583 个技能,一次移植 577 个成功、0 失败。
兼容性
安装
dsh plugin --profile web add dsh-codex-port
需要本机装有 Codex CLI(~/.codex 目录存在即可)。
卸载
dsh plugin --profile web remove dsh-codex-port
卸载后重启 Web 服务。如需彻底清理,可再手动删除自己 profile cordis.patch.yml 中覆盖的插件行。
配置
全部可选,默认即可用:
- id: codex-port
name: 'dsh-codex-port'
config:
# codexHome: C:\Users\you\.codex # Codex 家目录(默认 ~/.codex)
# targetDir: C:\Users\you\.dsh\skills # 目标技能目录(默认 <DSH_HOME>/skills)
# overwrite: true # 覆盖同名技能(默认跳过)
工具一览
| 工具 | 作用 | 关键参数 |
|---|---|---|
codex_list |
列出发现的 Codex 插件与技能 | plugin/skill 过滤,limit 1-200 |
codex_port |
批量移植为 DSH 技能 | plugins/skills 过滤,targetDir,overwrite |
codex_status |
对比源与目标:已移植/未移植统计 | 无 |
示例
codex_list {} # 看看 Codex 里有什么
codex_list { plugin: remotion } # 只看某个插件
codex_port {} # 全部移植(同名自动跳过)
codex_port { plugins: [remotion, hyperframes] }
codex_port { skills: [video-best], overwrite: true }
codex_status {} # 还有多少没移植
移植后 DSH 技能目录立即可用,agent 按技能描述自动触发。
跨平台使用
targetDir 不限于 DSH:指向任何支持 Agent Skills(SKILL.md)格式的 agent 技能目录,即可把 Codex 全家桶移植给它们:
| Agent | 建议 targetDir |
|---|---|
| DSH | ~/.dsh/skills(默认) |
| Claude Code | ~/.claude/skills/ |
| Cursor | .cursor/skills/ |
| Gemini CLI | ~/.gemini/skills/ |
codex_port { targetDir: ~/.claude/skills }
移植规则
- frontmatter 转换:Codex 的
name/description/metadata→ DSH 的name/description/compatibility/allowed-tools,多行描述完整保留 - 剔除 codex 专属文件:
agents/*.yaml等子代理描述不带走 - 名称清洗:非法字符替换为下划线,
..路径穿越直接拒绝 - 宿主可加载性校验:覆盖前要求转换后的技能名符合 DSH 的小写短横线命名规则、与目标目录同名,且描述为非空字符串;大写、下划线、点号或清洗后不同名的技能不会替换旧版。
- 幂等:同名技能默认跳过,
overwrite=true才覆盖 - 覆盖失败可恢复:先在目标根内的唯一
.dsh-port-<技能名>-*目录中复制、转换并回读校验;成功后才把旧技能移到事务目录的previous/,再切换新技能。复制或转换失败不会改动旧技能,切换失败会尝试恢复旧技能;恢复失败时保留两份资料,并在失败原因中给出恢复路径。不会删除已存在的其他写入。 - 备份与目录边界:成功覆盖也保留
previous/及recovery.json,会额外占用磁盘空间;确认不需要恢复后可自行归档。事务目录顶层不含SKILL.md,不会被当前 DSH 的单层技能发现重复注册。拒绝源/目标重叠、目标符号链接或目录联接、路径越界及 Windows 设备名称。多次目录重命名不构成 Windows 上全程原子的事务;进程或系统中断后可按recovery.json检查和恢复。 - 安全:纯文件系统操作,零运行时依赖(仅 yaml 解析)
开发
pnpm install
pnpm test # 构建 + 离线测试;fixture 只写入工作区 .harness-validation/codex-port-tests
License
MIT
链接
同类插件
Tencent/WeKnora#dsh-weknora★ 31002
把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己带引用的 RAG 或 ReAct agent 回答(含可续聊的 session id)。
superdesigndev/treg★ 3752
给 Agent 的工具目录:按「要做的事」检索约 2,600 个外部接口(SEO 与 SERP、外链、社交、人物与公司信息补全、广告库、抓取),查看参数与单次调用价格后直接调用,凭据由服务端注入。附带技能,MCP 行在未设置 TREG_TOKEN 前保持禁用。
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1127
把腾讯云 CloudBase 后端接入 DeepSeek Harness——在对话里搭好并部署全栈应用,查询结果渲染为表格卡片(分页、排序、导出 CSV),部署后可预览真实域名,并提供 CloudBase MCP 工具集(`mcp__cloudbase__*`),登录走 device-code 流程。
gitroomhq/postiz-agent#dsh-postiz★ 498
通过 MCP 将 DeepSeek Harness 连接到 Postiz:列出已连接的社交媒体渠道、获取各平台发帖规则,并向 X、LinkedIn、Instagram、Facebook、Threads、TikTok、YouTube、Reddit、Bluesky、Mastodon、Discord、Slack、Telegram 等平台排期、存草稿或发布帖子;附带 postiz 工作流技能。
EthanYoQ/Invoice-Downloader#dsh-invoice-downloader★ 465
面向 DeepSeek Harness 的本地 IMAP 发票下载、OCR 识别、归档与 Excel 报销汇总。
anysearch-team/anysearch-dsh★ 432
基于 AnySearch 的实时网页与垂直搜索插件,为 DeepSeek Harness 提供搜索工具。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。