前言¶
在 OpenAI Codex 里做项目,往往会积累三类资产:按工作区组织的对话历史、放在 ~/.codex/skills 下的自定义 Skills,以及写在 ~/.codex/config.toml 里的 MCP 工具链。切换到 DeepSeek Harness(DSH)时,常见问题是会话格式不兼容、Skills 和 MCP 要在两边各配一遍,迁移脚本多半只能单向拷贝,DSH 里续写的对话也很难再带回 Codex。
dsh-codex-sync(维护者 Walvez,GitHub 仓库 Walvez/dsh-codex-sync)定位不是一次性迁移工具,而是 Codex 与 DSH 之间的持续双向桥接。它在 DSH 插件市场分类为「工作流」,当前 npm 包版本为 1.5.7,MIT 许可证,要求 Node.js >= 20。
这是什么¶
一句话:dsh-codex-sync 在 Codex 与 DSH 之间提供项目级对话的双向导入导出、将 ~/.codex/skills 实时挂载到 DSH Skills 目录、自动镜像 mcp_servers 配置,并可在 Codex 侧安装反向 MCP 以检索和安装 DSH 插件。
核心功能¶
双向项目对话同步¶
从 Codex 导入 DSH
- 按工作区文件夹分组浏览 Codex 会话;
- 保留用户提示、助手输出、推理轨迹和工具调用记录;
- 导入后自动关联到匹配的 DSH 工作区,便于继续对话;
- 支持增量重导入:Codex 侧有新回合时标记为
updated,只追加新内容,不重复建会话。
从 DSH 导出到 Codex
- 将 DSH 原生对话或续写导回 Codex;
- 自动匹配 Codex 工作区目录,未知目录会锁定以避免孤立线程;
- 以
history_mode: legacy创建独立 Codex rollout 和 SQLite 索引,不覆盖原有 Codex 历史; - 重启 Codex 应用后即可查看和继续。
子 Agent 线程
- 默认隐藏内部子 Agent 线程,保持列表简洁;
- 可按需展开,将子 Agent 嵌套在父线程下单独导出。
实时 Skills 挂载¶
- 将
~/.codex/skills/*/SKILL.md直接注册到 DSH 原生 Skills 目录; - 支持嵌套目录和多文件 Skill 包;
- 磁盘上修改 Skill 文件后,下一轮对话即可生效,无需重启。
MCP 双向镜像¶
- Codex → DSH:监听
~/.codex/config.toml,动态镜像[mcp_servers.*]到 DSH,带冲突规避和 stderr 静默; - DSH → Codex:通过
npx dsh-codex-sync codex-install在 Codex 侧注册[mcp_servers.dsh-plugins],让 Codex Agent 能搜索、查看和安装 DSH 插件。
DSH 内原生 UI¶
- 工作区标题旁提供 Codex 快捷入口(侧栏展开/收起时自适应位置);
- 居中设置面板,含操作卡片、开关状态和中英文切换;
- 样式使用 DSH 设计令牌(
--dsw-alias-*)。
内置 Agent Skill¶
插件自带 codex-sync Skill,DSH Agent 可代为执行同步任务,例如:
- 试运行导入:
/import-codex --dry-run - 查看 MCP 镜像状态:
/mcp-status - 开启自动导入:
/auto-import on
安装与启用¶
推荐通过 DSH 插件市场安装:
dsh plugin --profile web add dsh-codex-sync
也可在 profile 的 cordis.patch.yml 中手动插入:
- insert:
- id: codex-sync
name: dsh-codex-sync
config:
maxSkills: 30
mcpMirrorDeny:
- node_repl
mcpMirrorSilent:
- exa
可选:在 Codex 侧配置反向 MCP 桥接。
# 在 ~/.codex/config.toml 注册 [mcp_servers.dsh-plugins]
npx dsh-codex-sync codex-install
# 运行健康检查
dsh-codex-sync doctor
典型用法¶
安装后,点击侧栏 Codex 图标 打开同步设置面板。常用操作与配置项如下:
| 分区 | 项 | 命令 / 配置键 | 说明 |
|---|---|---|---|
| Actions | 从 Codex 导入 | /import-all |
打开项目选择器,导入会话到 DSH |
| 导出到 Codex | /export-codex |
将 DSH 对话导出为 Codex 副本 | |
| 镜像状态 | /mcp-status |
查看 MCP 服务器健康与状态 | |
| 刷新状态 | /codex-settings |
从宿主重新同步开关状态 | |
| Features | 导入命令 | enableImport |
启用 /import-codex 斜杠命令族 |
| 自动导入 | autoImport |
启动时自动导入新 Codex 会话 | |
| 指令注入 | enableInstructions |
将 instructions.md / AGENTS.md 注入提示 |
|
| 配置摘要 | enableConfig |
将 config.toml 模型设置摘要注入提示 |
|
| Skills | enableSkills |
将 ~/.codex/skills 注册为 DSH Skills |
|
| MCP 镜像 | mcpMirror |
自动镜像 [mcp_servers.*],立即生效 |
下面是一个常见工作流:
- 安装插件并打开侧栏 Codex 设置,开启
enableSkills和mcpMirror; - 执行
/import-all,按项目选择要迁入 DSH 的 Codex 会话; - 在 DSH 中继续开发;需要回 Codex 时执行
/export-codex; - 若要在 Codex 里管理 DSH 插件,运行
npx dsh-codex-sync codex-install完成反向桥接。
适用场景与注意¶
适合谁
- 同时在 Codex 和 DSH 之间切换,需要保留对话上下文;
- 已在 Codex 配置好 Skills 和 MCP,不想在 DSH 里重复维护;
- 希望 DSH 续写的内容能安全导回 Codex,而不是覆盖原历史。
使用前注意
- 插件以当前 DSH 进程的权限运行,会读取
~/.codex/下的配置、Skills 和会话数据;安装前应阅读 GitHub 源码 并确认 MIT 许可证条款。 - 社区目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态遵循「一切皆插件」理念,本插件属于其中的工作流类扩展。
- 导出到 Codex 会创建新的 rollout 副本,不会修改原有 Codex 会话;导入支持增量更新,但首次使用前建议用
/import-codex --dry-run预览。
小结¶
dsh-codex-sync 把 Codex 与 DSH 之间的断层收成一条可持续维护的通路:对话可双向搬运,Skills 和 MCP 可随磁盘配置实时同步,Codex 侧还能通过反向 MCP 检索 DSH 插件。若你正在评估从 Codex 迁到 DSH,或需要在两个环境间来回切换,可以从插件市场安装后,先用设置面板里的导入试运行确认效果。