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 / 幻方無官方從屬關係。

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

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

小夜