前言¶
DeepSeek Harness(命令名 dsh)是 DeepSeek AI 開源的智能體運行時,目前仍是開發者預覽。它的核心理念是「一切皆插件」:模型、工具、技能、會話、沙箱和界面都可以用插件替換或組合。社區裏還有一份獨立的插件目錄站點 deepseek-harness-plugin.com,它和 DeepSeek / 幻方沒有官方從屬關係,收錄的是帶 dsh-plugin 話題的社區倉庫。
用網頁界面跑長任務時,一輪對話很容易堆出幾十上百條提問。模型會思考、調工具、貼代碼塊,會話視圖被這些內容撐得很長。想回到「第十幾輪那個問題」時,往往只能靠滾輪往上翻。SnowCrescenter-tech 維護的 dsh-milestone 在會話右側加一條圓點時間線:每一條提問對應一個圓點,懸停看元信息,點擊跳到那條消息。
本文按插件目錄頁、GitHub 倉庫 README / package.json / cordis.patch.yml、npm 包頁,以及 DeepSeek Harness 官方倉庫交叉覈對後整理。
這是什麼¶
dsh-milestone 是一款面向 DeepSeek Harness Web 界面的會話里程碑導航條,由 SnowCrescenter-tech 維護,倉庫地址是 SnowCrescenter-tech/dsh-milestone。社區目錄把它歸在「會話與消息」分類,許可證爲 MIT,主要語言是 TypeScript。倉庫和 npm 上的當前版本都是 0.6.0(2026-08-14 發佈)。package.json 裏 dsh.client.platform 寫的是 web,也就是說它掛在網頁界面上,不是終端 TUI 插件。
截至 2026-08-17,GitHub 顯示 17 顆星;目錄頁當時仍標註 14 顆,星標以倉庫頁面爲準。GitHub 倉庫創建於 2026-08-13,最近一次推送在 2026-08-14。
它解決的問題很具體:長對話裏提問被代碼塊和工具調用淹沒,缺少一張「提問地圖」。插件不改 harness 源碼,用官方 slot 掛到 shell.overlay 上,讀會話快照後畫出圓點列表。Node 半邊是空的 apply(),真正幹活的是瀏覽器半邊。
核心功能¶
README 把能力寫得很細,下面按使用路徑歸成幾組,都來自倉庫說明,不是額外推斷。
圓點時間線。 會話右側出現一條等距圓點軌:最新提問顏色最深、最早最淺,看起來像 Git 提交圖。點擊圓點會平滑滾動到對應消息;滾動會話時,離視口最近的那條提問會亮白環,用來標「讀到哪了」。圓點按輪次分組,長輪次可以折成一條。歷史沒加載完時,頂部會出現「···」,點一下繼續加載更早的消息,並提示當前已顯示多少條。圓點超出可視區時,鼠標停在里程碑條上滾輪即可滑動。
懸停元信息。 鼠標停在圓點上,會看到序號、輪次、消息預覽(前 80 字)、相對時間、用時、結束原因、首字延遲(TTFT)、tokens/秒,以及這一輪用的模型和輸入/輸出 token 數。README 寫明這些字段來自 harness 原生 session 快照(turnTimings / timeline.turns / turn-tail),插件自己不另接計費或遙測服務。圓點還會按輪次健康狀態畫徽章:出錯紅環、達到上限黃環、重試橙環、運行中/等待輸入藍/黃脈衝。
搜索、書籤和提問列表。 搜索框按完整消息內容過濾圓點(不是 80 字摘要),即時顯示命中數 N/M,回車跳到下一個匹配,Esc 清空。頂部可以展開「全部提問」面板,一次看到序號、輪次和預覽。懸停時還能點星收藏,刷新後仍在;頂部「★」只看收藏。另有跨會話搜索,走 harness 原生索引 session.search,點擊結果會打開對應會話。
複製、fork 和深鏈接。 懸停可以複製該條提問全文,或「從此處 fork」開一個分支會話。跳轉時 URL 會帶上 #msg= 錨點,刷新或把鏈接發給自己,可以回到同一條消息。界面文案跟隨 harness 語言在中英文之間切換。聚焦模式會淡化 AI 的 thinking 區塊,懸停或展開時再恢復。
鍵盤操作。 里程碑條是一個焦點組件:↑↓ 移動、回車跳轉、Home/End 到首尾。README 也寫了目前還沒有全局快捷鍵直接聚焦這條軌,需要用 Tab 切過去。
安裝與啓用¶
社區目錄頁給出的安裝命令是:
dsh plugin add github:SnowCrescenter-tech/dsh-milestone
目錄頁同時提醒:插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。安裝前請檢查源代碼倉庫和許可證;如需可復現安裝,請固定 commit 哈希。當前 main 上 0.6.0 對應的提交是 c238f8c5d4afe153ede8559e5f7e3d1a652b6327,可以寫成:
dsh plugin add github:SnowCrescenter-tech/dsh-milestone#c238f8c5d4afe153ede8559e5f7e3d1a652b6327
倉庫 README 另外推薦從 npm 裝進指定 profile(包名就是 dsh-milestone,與 GitHub 倉庫同名):
# 從 npm 安裝(README 推薦)
dsh plugin --profile demo add dsh-milestone
# 或從 GitHub 源碼安裝
dsh plugin --profile demo add "github:SnowCrescenter-tech/dsh-milestone#main"
# 啓動 Web UI
npx @deepseek-ai/dsh web # → http://127.0.0.1:3080
README 要求 Node.js >= 24,並註明這是 harness 官方要求。裝完後打開一個至少兩條提問的多輪對話,會話視圖右側纔會出現里程碑條;只有一條提問時,按倉庫說明不會畫出這條軌。
典型用法¶
裝好並打開 Web UI 之後,按 README 的操作路徑走即可:
- 進入一個多輪會話(至少 2 條用戶提問)。
- 看右側圓點軌:從上到下對應提問的先後;滾動正文時,白環會跟着當前視口走。
- 懸停某個圓點,覈對預覽、輪次、耗時、模型和 token;需要反覆回訪就點星收藏。
- 點擊圓點,頁面會滾到那條消息。若要分享或稍後回來,看地址欄是否帶上了
#msg=。 - 用搜索框按關鍵詞過濾;命中後回車依次跳轉。當前窗口裏沒有的更早歷史,先點頂部「···」加載再搜。
- 需要一次看完全部提問時,打開頂部列表面板;需要只看對話正文時,打開聚焦模式淡化 thinking 區塊。
- 想從某一輪另開分支,用懸停菜單裏的 fork;fork 之後要到會話列表裏手動打開子會話。
懸停卡片的信息結構,倉庫 README 畫成了下面這樣(字段是否出現取決於該輪快照是否完整):
第 3 / 5 條 · 第 2 輪 ☆ 複製 ✂
幫我優化這段代碼的性能
5 分鐘前 · 用時 1m30s · 首字 1.2s · 12.4 tok/s
v4 · continue · 1280 / 2560 tok
適用場景與注意事項¶
適合已經在 DeepSeek Harness 網頁界面裏跑長對話的人:編碼智能體連着改了幾十輪、調研任務裏夾着大量工具輸出、事後要對照「當時問了什麼 / 用了哪個模型 / 花了多少 token」。它不提供回退工作區、不改模型行爲,只做導航和只讀元信息展示。
使用前有幾條邊界需要知道,均來自倉庫「已知限制」:
- 站內搜索只覆蓋當前已加載的消息窗口(初始 50 條)。更早的歷史要先點「···」加載進來,才能被搜到。
- TTFT、tokens/秒依賴 turn 位置數據;窗口外或未完成的 turn 會自動隱藏這兩項。
- 運行中 / 等待輸入的脈衝徽章只點亮最新一條可見提問;如果那一輪的提問已經滾出加載窗口,就不會有脈衝。
- 書籤按會話隔離,不跨會話共享;存儲走 harness 的
store.persist(每會話 localStorage)。 - 模型名和 token 用量依賴該輪 assistant 節點元數據,缺失時這一行不顯示。
- fork 從選中消息所在輪次開始分支,不會自動打開子會話。
- 深鏈接的目標如果早於已加載窗口,插件會先嚐試加載更早歷史再定位;受加載上限約束,極端深的歷史可能定位失敗。
- 跨會話搜索依賴
session.search,結果是片段(≤240 字符)、最多 20 條。 - 聚焦模式只作用於當前會話視圖的思考區塊,不影響其他插件或工具卡片。
安全方面,目錄頁寫得很明確:插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。安裝前應打開 GitHub 倉庫 看源碼和 MIT 許可證。需要可復現環境時,不要長期跟蹤浮動的 main,改用上面的 commit 哈希。
小結¶
dsh-milestone 把長會話裏的每一次提問收成右側一條圓點軌:懸停看時間、輪次、耗時和用量,點擊跳轉,搜索、書籤和 #msg= 深鏈接用來反覆回訪。它掛在官方 shell.overlay 上,不改 harness 源碼,但只服務 Web 界面,並且搜索、徽章、用量等能力都受已加載消息窗口約束。
目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-milestone/
GitHub:https://github.com/SnowCrescenter-tech/dsh-milestone