前言¶
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 归纳的动机与资料一致,可概括为四点:
- GUI 发不出、CLI 仍可能通:插件用 CLI 把原线程接出,消息写回既有对话。
- 少记命令与 JSONL:不必手敲
codex exec参数和 36 位线程 ID,在面板里点选即可。 - 跨环境:终端-only 场景也能得到接近 Codex GUI 的操作方式。
- 不占用 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 许可证与数据边界说明。
典型用法¶
- 点左侧边栏 Codex 图标打开面板。
- 左列选一线程或粘贴线程 ID;中列显示最近一轮。
- 底部输入框写消息,Enter 发送;长文本用 Shift+Enter 换行。
- 需要完整上下文时点「加载全部更早历史」;需要执行细节时展开「过程」卡片。
- 发送前可切换模型与推理档;发送中可用停止按钮打断。
可选: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 的环境。
- 社区目录页:skillhub.cn/plugins/Matthew-Laplace/dsh-conversation-archive
- 源码与文档:github.com/Matthew-Laplace/dsh-conversation-archive
DSH 生态强调「一切皆插件」;SkillHub 等目录为社区站点,与 DeepSeek / 幻方无官方从属关系。