← 返回列表
未验证
在 DeepSeek Harness 与 Codex、Claude Code、Pi、Reasonix、OpenCode…
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/14 · 已提供中文文档
在 DeepSeek Harness 与 Codex、Claude Code、Pi、Reasonix、OpenCode 之间双向迁移对话记录,支持 CLI 与 Web UI
综合分
27.8
GitHub 分
27.8
用户评分
—
★ Stars
2
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add omdsh-dev/dsh-shuttle该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:仅索引本站尚未对其实装验证,仅收录元数据
- 是什么
- dsh 原生插件 · ui
- 装得上吗
- 本站尚未做安装检查
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 更新放缓:最近一次提交在 42 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
数据截至 2026/9/20(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-llm@deepseek-ai/dsh-commands@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-session@deepseek-ai/dsh-session-persistence@deepseek-ai/dsh-session-persistence-jsonl@deepseek-ai/dsh-typert-protocol用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成DSH Shuttle
DSH Shuttle 是一个 DeepSeek Harness 插件和离线命令行工具,用于在 DSH 与
Codex、Claude Code、Pi、Reasonix、OpenCode 之间双向迁移编程对话记录。
插件先把各厂商记录转换成统一中间格式,再写成 DSH 事件或目标工具可读取的
原生格式。目标支持时,会保留文本、推理、工具调用/结果、时间戳、工作目录、
模型和供应商信息。
安全约定
- 默认只预演;只有显式传入 --apply 才写入。
- 已存在的 DSH 会话 ID 或目标文件只会跳过,绝不覆盖。
- 外部文件有大小和数量上限,不递归跟随符号链接。
- 写入 DSH 始终调用 ctx.sessionPersistence,兼容 JSONL 和 SQLite。
- OpenCode 只使用 opencode export/import 的官方 JSON,不修改数据库。
DSH 界面命令
设置页
打开 设置 → 对话迁移,可以在两个互不影响的单元中完成双向迁移:
1. 在“导入到 DSH”中选择来源平台,按需填写来源路径和数量。
2. 在“从 DSH 导出”中选择目标平台、DSH 任务、目标路径和范围。
3. 分别预览;设置页预览通过独立接口执行,不会创建 DSH 对话或写入目标文件。
4. 检查对应单元的报告、勾选确认,再执行导入或导出。
界面支持 Codex、Claude Code、Pi、Reasonix 和 OpenCode。执行按钮只有在当前表单
完成一次成功预览后才会出现;修改该单元的任何迁移参数都会让旧预览失效。
斜杠命令
交互式 DSH 组合加载插件后,可直接在对话输入框输入 /shuttle 查看帮助。结果只在
界面显示,不会作为消息发送给模型。
/shuttle import codex
/shuttle import codex --source "~/.codex/sessions" --apply
/shuttle export pi --destination "~/.pi/agent/sessions"
/shuttle export opencode --session --destination /tmp/opencode --apply
没有 --apply 时只预演。导出默认选择当前界面会话,也可以重复使用 --session
或通过 --all 选择全部会话。
命令行
先执行 pnpm build。预演导入:
node lib/cli.js import --from codex
node lib/cli.js import --from claude-code --source ~/.claude/projects
node lib/cli.js import --from pi --source ~/.pi/agent/sessions
node lib/cli.js import --from reasonix --source ~/.reasonix
检查 JSON 报告后,加 --apply 执行。默认 DSH 路径是
$DSH_HOME/sessions 或 ~/.dsh/sessions,可用 --dsh-root 覆盖。
从 DSH 导出:
node lib/cli.js export --to codex --session --destination ~/.codex/sessions --apply
node lib/cli.js export --to pi --destination ~/.pi/agent/sessions --apply
node lib/cli.js export --to reasonix --destination ~/.reasonix --apply
重复传 --session 可以选择多个会话;省略时最多导出 maxSessions 个。
OpenCode
opencode export > /tmp/opencode-session.json
node lib/cli.js import --from opencode --source /tmp/opencode-session.json --apply
node lib/cli.js export --to opencode --session \
--destination /tmp/dsh-opencode --apply
opencode import /tmp/dsh-opencode/.opencode.json
Reasonix 写入的是权威会话 JSONL;如果目录未出现新会话,执行
reasonix sessions reindex 重建索引。
插件 API
const preview = await ctx.shuttle.importConversations({
from: 'codex',
source: '/path/to/.codex/sessions',
})
await ctx.shuttle.importConversations({
from: 'codex',
source: '/path/to/.codex/sessions',
apply: true,
})
await ctx.shuttle.exportConversations({
to: 'claude-code',
sessionIds: ['session-id'],
destination: '/path/to/.claude/projects',
apply: true,
})
配置项:maxFileBytes 默认 64 MiB;maxSessions 默认 500。
已知限制
- Codex 和 Claude Code 没有承诺稳定的公开磁盘格式;升级后应先预演。
- 无法安全复制原始字节的图片/二进制附件会转换成文本占位符。
- 厂商私有重放状态、缓存、纯 UI 事件、逐 token 片段和数据库索引不会迁移。
- 当前导出的 Codex/Claude JSONL 匹配已观察到的格式,未来可能需要更新适配器。
- 插件不会删除任何源记录。