前言¶
在 Codex CLI 或 Codex Desktop 里积累了一上午的对话,切到 DeepSeek Harness(DSH)时,这些上下文不会自动带过来。dsh-codex-history 把本地 Codex 的会话记录变成 DSH 的一等公民,让 DSH 与 Codex 无缝衔接。
是什么¶
这是一个 DSH 插件(维护者:chameleonn4),分类为「记忆」。它只读 ~/.codex/sessions 里的 Codex 会话记录(rollout-*.jsonl),将其索引为 DSH 可用资源,支持会话检索、工作要点摘要、一键导入对话,以及跨机共享目录与实时增量同步。插件零运行时依赖,只用 Node 内置模块。
核心能力¶
- 自动读取:后台轮询
~/.codex/sessions目录,默认 5 秒检查一次新会话并更新索引。 - 模型工具
codex_history:模型可以列出会话、检索消息、读取完整转录、按目录查找最近会话、生成工作要点摘要。 - 用户工具:Web 面板「Codex 历史」入口、
/codex斜杠命令(列出、搜索、导入、查看工作要点);共享目录开启后可用/dsh检索其他机器的 DSH 会话。 - 一键交接:把某个 Codex 会话整段导入当前 DSH 对话,或把内容填入输入框。
- 自动带入:新建 DSH 会话时,若当前工作目录在 Codex 中有记录,自动带入最近一次会话作为上下文。
- 实时回灌:导入过的会话在 Codex 侧出现新消息时,增量同步回同一 DSH 对话(不自动触发回答)。
- 工作要点:
worklog动作把长会话压缩成结构化摘要(用户意图、助手动作、命令、文件变更、失败点)。 - 跨机共享:可选共享目录,通过 Syncthing / OneDrive / 网盘同步同一份目录,让两台机器互相看到对方的 Codex 与 DSH 会话。
环境要求¶
- DSH ≥ 0.2.0(插件在 0.2.1-rc.2 上开发并验证;
package.json声明engines.dsh: ">=0.2.0")。 - Node.js ≥ 20(随 DSH 桌面版一起分发,无需单独安装)。
- 操作系统:Windows / macOS / Linux(路径全部走
pathAPI)。 - Codex:需要 Codex CLI / Codex Desktop 写过会话,即
~/.codex/sessions下有rollout-*.jsonl。
安装¶
方式一:AI 部署(推荐)¶
打开 DSH,直接跟 agent 说:
帮我安装 dsh-codex-history 插件,地址是 github:chameleonn4/dsh-codex-history
agent 会完成 git ls-remote 检查、pnpm add 安装到当前 profile,并自动写入 cordis.patch.yml 插入行。安装后重启 DSH,输入框下方会出现「Codex 历史」。
方式二:插件市场(dsh-market)¶
- 打开 dsh-market 插件市场。
- 搜索
dsh-codex-history。 - 点击安装,按提示重启 DSH。
方式三:插件管理器¶
- 打开 DSH → 插件页面 → 添加插件。
- 填入安装地址,三种写法任选其一:
github:chameleonn4/dsh-codex-history
https://github.com/chameleonn4/dsh-codex-history.git
chameleonn4/dsh-codex-history
- 确认安装,插件管理器会执行
git ls-remote+pnpm add并写入cordis.patch.yml。 - 重启 DSH,输入框下方会出现「Codex 历史」。
配置¶
插件配置写入 profile 的 patch 层:~/.dsh/profiles/<profile>/cordis.patch.yml。用 id: codex-history 指向插件,config 字段整体替换(非深度合并)。
示例:
# ~/.dsh/profiles/desktop/cordis.patch.yml
- id: codex-history
config:
sessionsDir: 'C:\Users\you\.codex\sessions'
indexPath: 'C:\Users\you\.codex\session_index.jsonl'
pollIntervalMs: 5000
maxListResults: 50
maxTranscriptChars: 20000
maxImportChars: 12000
autoImport:
enabled: true
matchCwd: true
maxChars: 6000
maxMessages: 40
liveSync:
enabled: true
maxChars: 6000
share:
enabled: false
dir: 'C:\Users\you\CodexShare'
machineId: 'desktop'
label: '台式机'
mirrorCodex: true
mirrorDsh: true
intervalMs: 30000
discoverIntervalMs: 15000
常用配置项:
sessionsDir:Codex 会话目录(默认~/.codex/sessions)。indexPath:会话标题索引路径(默认~/.codex/session_index.jsonl)。pollIntervalMs:目录轮询间隔(默认 5000 毫秒)。maxListResults:列表接口最多返回条数(默认 50)。maxTranscriptChars:单次读取转录长度上限(默认 20000)。maxImportChars:导入当前对话的上下文字符上限(默认 12000)。autoImport.enabled:新建会话时是否自动带入同目录的 Codex 上下文(默认 true)。autoImport.matchCwd:自动带入时是否按工作目录匹配(默认 true)。autoImport.maxChars:自动带入的字符上限(默认 6000)。autoImport.maxMessages:自动带入的最大消息条数(默认 40)。liveSync.enabled:是否把 Codex 侧的新消息增量同步回已导入的对话(默认 true)。liveSync.maxChars:单次增量同步的字符上限(默认 6000)。share.enabled:是否启用跨机共享目录(默认 false)。share.dir:共享目录路径(默认~/CodexShare)。share.machineId:本机标识(默认主机名)。share.label:展示用的机器名(默认同machineId)。share.mirrorCodex:是否把本机 Codex 记录写进共享目录(默认 true)。share.mirrorDsh:是否把本机 DSH 会话日志写进共享目录(默认 true)。share.intervalMs:镜像写入间隔(默认 30000 毫秒)。share.discoverIntervalMs:发现其他机器目录的间隔(默认 15000 毫秒)。
改完保存后重启 DSH 或重新启用插件即可生效。
典型用法¶
模型工具:codex_history¶
list(limit,since,until):列出最近的 Codex 会话。read(session_id):读取某个会话的完整转录。search(query,limit):全文检索所有消息。latest(cwd,since,until):找到某个工作目录最近的那次会话。worklog(session_id或cwd+since/until):生成工作要点摘要。
时间参数 since / until 支持 YYYY-MM-DD 或 ISO 8601;只写日期时按整天(UTC)处理。会话按「区间重叠」筛选。
斜杠命令¶
/codex//codex list:列出最近的 Codex 会话。/codex search <关键词>:全文检索。/codex worklog [起始] [结束]:时间窗口内的工作要点。/codex <会话 id> [消息条数]:把该会话导入当前对话。/dsh:列出其他机器共享过来的 DSH 会话。/dsh search <关键词>:检索那些会话。
Web 面板¶
输入框下方的「Codex 历史」按钮可搜索、按日期过滤、导入对话、填入输入框、查看工作要点。开启共享目录后,其他机器的会话也会出现在列表里,并标注来源机器。
适用场景与注意¶
适合需要在 DSH 中利用 Codex 历史上下文、跨设备共享会话记录的开发者与研究员。插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证。只读 ~/.codex,不会改写 Codex 的任何文件。
小结¶
dsh-codex-history 让 DeepSeek Harness 与本地 Codex 的会话记录无缝衔接,把 Codex 的对话变成 DSH 的可检索、可导入、可共享资源。完成上述安装与配置后,可以在 DSH 中自然地引用 Codex 历史上下文,实现更连贯的智能体工作流。
- 目录页:https://www.skillhub.cn/plugins/chameleonn4/dsh-codex-history
- GitHub:https://github.com/chameleonn4/dsh-codex-history