codex-history-rail:給 DSH 對話加一條 Codex 風格回合時間軸

前言

DSH 的會話聊久了之後,左側只剩一個會話列表,回合本身沒有可定位的參照物。想回到第二十輪,只能靠滾動和猜。下面介紹的插件 jaycou/codex-history-rail 解決的就是這件事:在對話左側留白處放一條橫向時間軸,每個回合一個刻度,可以預覽、可以跳轉、可以收藏。它由 JAYCou 維護,面向客戶端,屬於 UI 類型的插件,不改變 Host 端的行爲。

這是什麼

一句話定位:給 DeepSeek Harness Web 界面對話區左側加一條 Codex 風格的回合時間軸。它不改寫對話內容,也不介入模型調用,只讀會話的回合信息並在界面上畫一條刻度線,屬於純展示型的客戶端插件。

解決的問題是長會話回溯。已經有的做法是滾動聊天記錄或翻歷史消息列表,兩者都需要視覺上的主動定位;這個插件把回合編號變成左邊的一條刻度,把「找第 N 輪」變成在時間軸上點一下。

核心功能

按 README 記載,能力包括以下幾點。

回合刻度。當前會話每一輪對應時間軸上一條短橫線,一眼能看到會話有多長、輪次分佈在哪裏。

懸停預覽。把鼠標停在某個刻度上,刻度變長並彈出一張卡片,顯示該輪的用戶輸入和助手回覆。

點擊跳轉。點刻度或卡片上的 Jump here 按鈕,對話區滾動到那一輪;如果那一輪還沒加載,插件會先去取,再滾動定位到對應的行。

收藏。卡片上有收藏按鈕,可以把某一輪標記下來。時間軸頂部的星標打開跨會話收藏面板,點裏面保存的條目會跳到對應輪次,必要時自動切換會話。收藏只存在瀏覽器的 localStorage 裏,不上傳到服務端。

自適應寬度。時間軸整體不超過視口的 80%,回合變多時刻度之間的間距縮小,不會超出這個上限,也不會自己滾動。

主題跟隨。它只使用宿主提供的 --dsw-alias-* 主題變量,不引入 DSH 客戶端包。視口寬度低於 1080px 時自動隱藏。

安裝與啓用

官方給的命令是就地從本包目錄安裝,需要先拿到源碼目錄:

# 在該包目錄下執行
dsh plugin add .

裝完要在 DSH profile 裏啓用 @jaycou/codex-history-rail。這個包聲明瞭 dsh.bundle.patch 和一個 Web client 半邊,是純 UI bundle,Host 半邊爲空。

版本與環境限制在 package.json 裏寫明瞭,啓用前可以對照:

{
  "name": "@jaycou/codex-history-rail",
  "version": "1.0.2",
  "license": "MIT",
  "engines": {
    "dsh": ">=0.2.1-rc.3 <0.3.0-0"
  }
}

也就是說,要求 dsh 版本在 0.2.1-rc.3 以上、低於 0.3.0-0。

典型用法

1、打開一個長會話。啓動 DSH 後進入任意會話,左側對話區邊緣會自動出現時間軸,每個刻度對一輪。

2、懸停查看某一輪。鼠標移到刻度上,看預覽卡片裏的輸入和回覆,確認是不是要找的那一輪。

3、點擊跳轉。點刻度或卡片的 Jump here,對話區滾到該輪。如果輪次還沒加載,插件先調 sessions.binding(sessionId).session.loadThrough(seq) 把歷史取回來,再把對應的 [data-chat-anchor-key] 行滾到可視區域。

4、收藏關鍵輪次。在卡片上點收藏,回頭從頂部星標打開收藏面板,跨會話訪問。

5、本地校驗。改過源碼後可以跑這兩條檢查語法:

node --check client.js
node --check index.js

client 部分是一個 window.__ModuleLoader__.load(...) 工廠,client.js 就是全部 UI,語言相關的元數據在 locale/ 目錄裏。

適用場景與注意

適合誰:主要面向會話很長、需要頻繁來回查輪次的 DSH 使用者,以及關心客戶端 UI 結構、想照着改自己插件的人。它只讀回合信息並做展示,不碰模型和工具調用。

注意事項有這幾條。

插件以當前 dsh 進程的權限運行。安裝前應當先查看源碼,確認代碼內容與預期一致,再決定是否啓用。許可證是 MIT,包裏也提供了倉庫地址,都可以直接覈對。

它要求特定範圍的 dsh 版本,升級 dsh 後如果不再滿足 >=0.2.1-rc.3 <0.3.0-0,插件可能不生效。

收藏數據存在瀏覽器 localStorage,不會上傳;換瀏覽器或清緩存會丟失,跨設備不同步,需要自己留意。

低分辨率屏幕上插件自動隱藏,窄視口下看不到時間軸屬於預期行爲。

這個插件來自社區目錄 SkillHub,目錄站是獨立站點,與 DeepSeek / 幻方沒有官方從屬關係,不要當作官方應用商店裏的正式組件。倉庫當前星標爲 0,屬於早期項目。

結尾

codex-history-rail 的價值在於把長會話的回溯成本降到一次點擊,本身很輕,客戶端單文件實現,不引入額外依賴。如果正好有定位輪次的需求,可以從上面的目錄安裝命令試起,再看源碼決定是否合入自己的配置。

目錄頁:https://www.skillhub.cn/plugins/JAYCou/codex-history-rail

GitHub:https://github.com/JAYCou/codex-history-rail

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

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

小夜