dsh-conversation-archive:在 DSH 里把本机 Codex CLI 当成可视化对话窗口

前言

DeepSeek Harness(DSH)以插件方式扩展界面与能力;日常用 Codex 时,很多人仍依赖官方 GUI 浏览线程、看上下文、发消息。GUI 在额度用尽、界面卡住或发送被拦时经常发不出内容,而本机的 codex exec resume、codex queue 往往还能继续原线程。反过来,纯终端环境又没有可点的线程列表和 Markdown 对话区。下面介绍社区插件 dsh-conversation-archive:在 DSH 侧边栏挂一个三列面板,所有读写都走本机 Codex CLI 与 Codex 本地数据库,DSH 只做展示与编排,不调用 DSH 自带模型,因此不消耗 DSH 的模型 token。

这是什么

dsh-conversation-archive(GitHub:Matthew-Laplace/dsh-conversation-archive)由维护者 Matthew-Laplace 发布,归类为 DSH 客户端插件;package.json 版本为 0.4.0,许可证 MIT。

一句话定位:把本机 Codex CLI 接进 DSH,重建「浏览线程 → 读历史 → 选模型与推理档 → 发消息」的体验,但每一条请求都经 CLI 写回原对话,不新建会话、不换模型、不丢上下文。Codex 跑在 WSL、远程机、容器或其它操作系统时,只要 DSH 所在环境能在 PATH 里调用 codex,即可用同一套界面接着聊。

为什么值得装

README 归纳的动机与资料一致,可概括为四点:

  1. GUI 发不出、CLI 仍可能通:插件用 CLI 把原线程接出,消息写回既有对话。
  2. 少记命令与 JSONL:不必手敲 codex exec 参数和 36 位线程 ID,在面板里点选即可。
  3. 跨环境:终端-only 场景也能得到接近 Codex GUI 的操作方式。
  4. 不占用 DSH 模型额度:模型调用全部由 Codex CLI 完成。

核心功能

启用后,从侧边栏 Codex 图标打开面板,布局与能力以 README 为准。

三列界面

  • 左列:最近未归档线程列表,支持关键词过滤;可粘贴 codex://threads/<id> 或 36 位线程编号直达。按项目或工作目录分组;目录与项目无法可靠匹配时显示「项目未知」或未分组。
  • 中列:对话视图,默认只显示最近一轮(用户 + Codex);可一键「加载全部更早历史」。回复按 Markdown 渲染;每轮下方有可折叠「过程」卡片(命令、文件改动、子代理、MCP、联网搜索、计划等,默认收起)。
  • 右列:子代理列表、涉及文件(可复制路径)、命令数量等产物摘要。

输入与发送

底部 Composer 支持:从 Codex 模型目录选择模型(README 写明共 21 个)、推理强度(effort)、Sandbox;可用 DSH 语音服务转写输入;发送中按钮变为停止以打断。发送失败时展示 CLI 原始错误及可操作提示(额度重置时间、线程占用、模型不可用等),并提供「重试」。

发送路径(资料原文):

  • 线程空闲:codex exec resume <thread-id> --json
  • 线程被 GUI 或其它写入方占用:回退 codex queue --thread <thread-id>

读写基于本机 Codex 数据(~/.codex/state_5.sqlite、~/.codex/thread_history_1.sqlite);插件不修改 Codex 数据库,也不声称绕过 GUI 限制。

额度与其它

标题栏 ⚡ 可通过 Codex app-server 只读查询账户额度(需已登录 Codex)。可选将传输层改为常驻 codex app-server --stdio(见下文配置),以减少进程启动并支持 interrupt/额度预读;初始化失败会自动回退 exec resume。

首次打开面板时,包内 Python 适配器会把本机 Codex 线程只读导出到 ~/.dsh/conversation-archive/。

安装与启用

前提(README):

  • 已安装并登录 Codex CLI:codex 在 PATH 上,codex exec --help 可用。
  • DSH 0.2.x。

从 npm 安装到 DSH desktop profile:

dsh plugin --profile desktop add dsh-conversation-archive

也可在 DSH「插件」页搜索 dsh-conversation-archive 安装,然后重启或重载 DSH。

本地开发路径安装(将路径换成你的 clone 目录;任务要求不写 git clone 步骤,仅保留官方给出的 add 形式):

dsh plugin --profile desktop add /path/to/dsh-conversation-archive

插件以当前 DSH 进程权限运行;安装前建议浏览仓库源码并确认 MIT 许可证与数据边界说明。

典型用法

  1. 点左侧边栏 Codex 图标打开面板。
  2. 左列选一线程或粘贴线程 ID;中列显示最近一轮。
  3. 底部输入框写消息,Enter 发送;长文本用 Shift+Enter 换行。
  4. 需要完整上下文时点「加载全部更早历史」;需要执行细节时展开「过程」卡片。
  5. 发送前可切换模型与推理档;发送中可用停止按钮打断。

可选:app-server 后端

默认使用 codex exec resume。若要在 DSH profile 的 cordis.patch.yml 中为该插件启用 app-server,README 示例为:

- id: conversation-archive
  name: dsh-conversation-archive
  config:
    root: ~/.dsh/conversation-archive
    codex:
      transport: app-server
      appServerIdleMs: 600000

资料标明 app-server 为实验接口,对单写者线程与登录态有要求;失败会回退 exec resume。

常见问题与边界

README 列出的错误码与处理方向:

  • [CODEX_QUOTA]:Codex 侧额度限制,按提示等待重置或调整官方额度保护/ provider。
  • [CODEX_BUSY]:线程被 Codex App 或其它 CLI 占用,先关闭占用或稍后再发。
  • [CODEX_AUTH]:登录失效,执行 codex login。
  • ⚡ 额度报 authentication required:当前环境不提供额度接口,不影响发送。

数据边界:只读本机 Codex 数据,不上传内容;语音输入走 DSH 语音服务,首次需麦克风授权。

结尾

dsh-conversation-archive 适合已在用 Codex CLI、又希望在 DSH 里用图形化方式接续原线程的开发者;尤其适合 GUI 不可用但 CLI 仍通的场景,以及 WSL/远程/容器等不便开官方 GUI 的环境。

DSH 生态强调「一切皆插件」;SkillHub 等目录为社区站点,与 DeepSeek / 幻方无官方从属关系。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye