dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
v2.0 将插件从“导出工具”升级为双端迁移桥:既可以把 Codex 对话导入 DSH,也可以从 DSH 把单个对话或整个项目的对话批量导入 Codex。每次操作都是明确的一次性迁移,不在后台修改源对话。
dsh-codex-migrate@2.0.4 延续了 v2.0.3 已实现的兼容修复,并针对公开 npm 的 @deepseek-ai/dsh@0.1.5-rc.2 验证(截至 2026-09-23 为 latest)。这些修复解决了 DSH 新版会话持久化与 Web 客户端模块变化带来的兼容问题:
SessionHandle API 写入有效的 Session V3 事件,并正确执行 flush/close;旧版持久化服务仍有兼容回退。codex:// 时,通过操作系统打开已导入的任务,同时保留浏览器跳转作为回退。本版本不声明支持 DSH 的 npm next 或 alpha 渠道。版本记录见变更日志。
continue-in-dsh Skill 后,在 Codex 里说“在 DSH 继续”即可导入当前任务并打开 DSH。(no project) / codex-unprojected 工作区。remember_memory、search_memory、forget_memory,支持全局、项目和单对话范围的本地持久记忆。在 DSH 的助手回复下方,Codex 图标与复制、点赞等原生操作位于同一行:
v2.0 不提供共享对话、后台双向同步、冲突合并或 Codex 内联监视面板。目标是让每次迁移可检查、可重复、不会在两端静默改写同一段历史。
完整功能由两个本地组件组成:
| 组件 | 安装位置 | 作用 |
|---|---|---|
dsh-codex-migrate | DSH | 读取、转换和创建 DSH/Codex 会话;提供仅监听本机的一次性交接服务 |
dsh-codex-bridge MCP + Skill | Codex | 提供“在 DSH 继续”、MCP 记忆工具和触发规则 |
只安装 DSH 插件仍可使用设置页导入以及 DSH → Codex 按钮;若要从 Codex 发起迁移或使用 MCP 记忆,必须继续完成 Codex 侧安装。
node 可在终端运行;建议 Node.js 18 或更高版本。web profile;如你的 profile 名称不同,请替换 web。首次安装:
dsh plugin --profile web add dsh-codex-migrate
从旧版升级:
dsh plugin --profile web update dsh-codex-migrate
完成后重启 DSH,打开 设置 → Codex 迁移。确认能看到 已导入的对话、按照项目批量迁移 和 记忆导入。
Codex MCP 与 Skill 位于同一个仓库中,因此需要保留本地仓库目录:
git clone https://github.com/polarskicpl/dsh-codex-migrate.git
cd dsh-codex-migrate
如果你已经克隆了仓库,执行 git pull 更新即可。
Windows PowerShell:
$bridge = (Resolve-Path ".\codex\dsh-codex-bridge\mcp\server.mjs").Path
codex mcp add dshCodexBridge -- node $bridge --stdio
macOS / Linux:
bridge="$(pwd)/codex/dsh-codex-bridge/mcp/server.mjs"
codex mcp add dshCodexBridge -- node "$bridge" --stdio
如果此前已用其他路径注册过同名 MCP,先执行:
codex mcp remove dshCodexBridge
然后重新运行上面的 add 命令。可用以下命令确认注册结果:
codex mcp list
Codex 官方也允许直接编辑 ~/.codex/config.toml;CLI 注册方式更不容易出现路径和 TOML 转义问题。参见 Codex MCP 文档。
continue-in-dsh SkillWindows PowerShell:
$skills = Join-Path $HOME ".agents\skills"
New-Item -ItemType Directory -Force -Path $skills | Out-Null
Copy-Item -Recurse -Force ".\codex\dsh-codex-bridge\skills\continue-in-dsh" $skills
macOS / Linux:
mkdir -p ~/.agents/skills
cp -R ./codex/dsh-codex-bridge/skills/continue-in-dsh ~/.agents/skills/
Codex 会从 ~/.agents/skills 读取用户级 Skill。若更新后没有立即出现,重启 Codex。参见 Codex Skill 文档。
/mcp 中确认 dshCodexBridge 已连接。/skills 中确认可以看到 continue-in-dsh。在 DSH 继续。已同步对话到 DSH。MCP 应暴露四个工具:
| 工具 | 作用 |
|---|---|
continue_in_dsh | 一次性导入当前 Codex 任务并打开 DSH |
remember_memory | 保存本地持久记忆 |
search_memory | 检索指定范围内的记忆 |
forget_memory | 按 ID 删除记忆 |
请通过 DSH MCP 记住:我的测试代号是海蓝-728。请搜索 DSH MCP 记忆,告诉我测试代号。海蓝-728 后,输入:请从 DSH MCP 记忆中删除海蓝-728。记忆默认保存在 ~/.codex/dsh-codex-bridge/memory.jsonl,不会上传到远端,也不会恢复已经废弃的共享会话功能。
| 内容 | Codex → DSH | DSH → Codex |
|---|---|---|
| 用户与助手消息 | ✓ | ✓ |
| 工具调用与工具结果 | ✓ | ✓ |
| 最新一次重新生成的回复 | ✓ | ✓ |
| 单个对话 | ✓ | ✓ |
| 无项目对话 | ✓ | — |
| 按项目批量导入 | ✓ | ✓ |
AGENTS.md 与项目文本 | 可选 | — |
| Codex / MCP / Memory Skill 记忆 | 可选 | — |
DSH → Codex 使用 Codex 支持的外部 Agent 会话导入路径。批量迁移会为每个任务使用同一个原始工作区路径,但 Codex 侧栏如何归类由 Codex 自身决定。
首次刷新需要扫描现有 Codex 会话。之后的刷新会复用 size + mtime + hash 增量缓存,只解析新增或变化的 JSONL 文件,并从缓存移除已经删除的文件,因此大型会话目录的重复刷新更快、更稳定。
缓存位于迁移输出目录下的 inventory/,删除缓存只会触发一次完整重建,不会删除原始对话。
| 键 | 默认 | 含义 |
|---|---|---|
codexDir | '' | Codex 数据目录;留空自动检测 ~/.codex |
outputDir | '' | 迁移产物目录;留空使用 <DSH_HOME>/codex-sync |
language | en | en、zh 或跟随界面的 auto |
sessionMode | new | all、new 或 selected |
projectMode | all | all 或 selected |
includeMemories | true | 导入 Codex Markdown 记忆 |
includeMcpMemories | true | 导入桥接 MCP 持久记忆(Beta) |
includeMemorySkill | true | 导入 Memory Skill 存储 |
importAsDshSessions | true | 创建可在 DSH 侧栏打开的原生会话 |
bridgeEnabled | true | 启用仅监听 127.0.0.1 的一次性交接服务 |
127.0.0.1。outputDir、DSH 会话存储以及本地 MCP 记忆文件。npm run build
npm test
npm run test:bridge
npm pack --dry-run
更新历史见 CHANGELOG.md。
MIT