前言¶
DeepSeek Harness(以下簡稱 dsh)把模型適配、工具、會話日誌和 Web 界面都做成插件,核心理念是「一切皆插件」。日常用 Web UI 跑智能體時,一輪對話往往很長:你改過需求、追問過報錯、中途又插過幾句補充。回頭想找某一條自己發過的消息,只能在對話區裏來回滾。
社區插件 dsh-navbar 做的事情很具體:在對話區右緣放一串等距節點,每條 user 消息對應一個圓點,懸停看預覽,點擊跳回去。本文根據插件目錄頁、GitHub 倉庫 README 和源碼交叉覈對後,說明它是什麼、怎麼裝、怎麼用。
需要先分清兩件事。DeepSeek Harness 本身是 DeepSeek 開源的智能體運行時;而 DeepSeek Harness 插件庫 是獨立的社區目錄,與 DeepSeek / 幻方沒有從屬關係,不是官方應用商店。目錄頁把 dsh-navbar 標成「官方 bundle 插件」,指的是它採用 dsh 的官方組合包(bundle)形態——dsh.bundle 加上瀏覽器端 client 通道,並不是 DeepSeek 官方出品。
這是什麼¶
dsh-navbar 是一款界面增強插件,由 vlln 維護,npm 包名爲 @vlln/dsh-navbar,當前倉庫版本號爲 0.3.0,許可證 MIT。GitHub 倉庫在 2026-08-17 顯示 31 顆星,主要語言是 TypeScript。社區目錄於 2026-08-15 收錄,分類爲「界面增強」。
它解決的問題可以一句話概括:在 Chat 視圖右緣用節點串索引當前頁面裏已經渲染出來的 user 消息,讓你少滾幾次對話區。
實現上它是純瀏覽器端插件。Node 半邊的 apply() 是空函數,只負責讓組合包能掛到 profile 上;真正的導航條、預覽卡和精選按鈕都寫在 client bundle 裏。package.json 裏聲明瞭 "platform": "web",並要求 Node.js >=22.19.0、dsh >=0.1.0-rc.5。倉庫 README 寫明:它按 dsh-external 倉庫 issue 144 的「對話節點導航條」規格實現,不註冊面向模型的工具,也不另開數據通道。
核心功能¶
對照目錄頁「更多介紹」、README 能力表和 src/client/index.ts,當前版本可以確認的能力如下。
1、右緣節點串。對話區右側出現一列縱向圓點,每條 user 消息一個節點。平時幾乎隱形,鼠標懸停到導航條附近纔會浮現。當前會話裏少於 2 條 user 消息,或者你不在對話頁時,導航條會自動隱藏。
2、跟隨閱讀位置。正在閱讀的那一條會變成約 22px 寬的品牌藍膠囊(源碼裏叫激活藥丸),滾動對話區時它會跟着移動。
3、懸停預覽。光標停在節點上,左側彈出預覽卡,文案按 6 行截斷,視覺對齊 Web UI 自帶的 HoverCard。整條導航條(含節點之間的空隙)都會響應懸停:預覽跟隨最近的那個節點切換,對應圓點拉長成灰色藥丸,用來指示「現在點下去會跳到哪一條」,中間沒有死區。
4、點擊跳轉。不必精確點中 7px 的小圓點,整條導航條都可點,按最近節點跳轉。跳轉後平滑滾到對應消息,並加上品牌藍高亮環。源碼裏還給藥丸加了擴大熱區,降低瞄準成本。
5、滾輪切換。光標停在導航條上時滾動滾輪:向上一條、向下來一條,並阻止對話區本身跟着滾。源碼裏對滾輪做了約 120ms 節流,避免一次滾輪脈衝連跳多條。
6、滑動窗口。節點超過 11 個時,導航條只顯示當前激活位置附近的一段(激活節點前後各約 5 個),兩端用細點提示還有更多,避免右緣被圓點堆滿。
7、消息精選 pin。把鼠標移到 assistant 消息的操作條上,在 copy 與 Good response 之間會出現 📌 按鈕。點一下,這一輪在導航條上會變成金色細長橢圓盤,恆可見;預覽卡帶 📌 徽標,點擊會直達被精選的那條回覆。再點一次取消精選。精選狀態按會話寫在瀏覽器 localStorage 裏,刷新頁面會保留。
數據從哪來,也決定了它的邊界。README 寫得很清楚:零數據通道依賴,只靠官方 user 行錨點屬性 data-time-hover-root(註釋裏寫的是 0806 起的 UserStyleBubble 行)驅動,無輪詢、無路由、無工具。因此導航條索引的是當前對話區已經渲染出來的 user 消息,並不會在後臺把未加載進 DOM 的更早歷史全部拉進來。
安裝與啓用¶
先確認本機已經能啓動 dsh 的 Web UI。官方倉庫給出的起步方式是:
npx @deepseek-ai/dsh web
默認界面在 http://127.0.0.1:3080。dsh-navbar 只聲明瞭 web 平臺,裝到 headless 這類不帶瀏覽器界面的 profile 上沒有意義。
社區目錄頁給出的安裝命令是:
dsh plugin add github:vlln/dsh-navbar
倉庫 README 的推薦寫法更明確,會裝進 web profile,並釘在 main 分支(構建產物已經入庫,git 源安裝不會再觸發本地構建):
dsh plugin --profile web add "github:vlln/dsh-navbar#main"
如果本地已經克隆了倉庫,也可以從目錄安裝:
git clone https://github.com/vlln/dsh-navbar.git
cd dsh-navbar
dsh plugin --profile web add .
目錄頁還提示:如需可復現安裝,請固定 commit 哈希。寫法是把 #main 換成具體提交,例如倉庫 main 在 2026-08-15 的提交:
dsh plugin add github:vlln/dsh-navbar#10e9d1546db28c499687d66a369e548cd3f52237
裝完需要重啓 web 纔會生效。之後可以在設置頁的「插件」面板裏停用或重新啓用。安裝即用,沒有額外命令,也不向模型註冊工具。
插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。裝之前請自己打開 GitHub 倉庫看源碼和 MIT 許可證,不要只憑目錄頁的一句話安裝。
使用方法¶
打開一個至少包含兩條 user 消息的 Chat 會話。對話區右緣會出現節點條。
1、把鼠標移到右緣節點串上,預覽卡會顯示對應 user 消息的開頭。
2、點擊節點(或節點附近的空白)跳到那一條;跳轉後會有藍色高亮環提示落點。
3、光標停在導航條上時,用滾輪在相鄰 user 消息之間切換。
4、需要標記某次回覆時,懸停該條 assistant 消息的操作條,點 📌。對應輪次的節點變成金色橢圓盤;再點一次取消。
5、系統開啓了「減少動態效果」(prefers-reduced-motion)時,插件會關掉過渡動畫。
如果導航條沒有出現,可以按下面幾項自查:當前是不是 Chat 視圖;這條會話裏是否已經有至少兩條 user 消息;安裝後有沒有完整重啓 dsh web(只刷新瀏覽器不夠);設置裏該插件是否被停用。
適用場景與注意事項¶
比較適合這些情況:Web UI 裏會話已經滾得很長,經常要跳回自己某句原話;或者希望把某次關鍵回覆釘在導航條上,過一會兒還能一眼找到。它不改變智能體循環,也不增加模型可調用的工具,只改你在瀏覽器裏怎麼讀對話。
使用前有幾條邊界需要知道。
第一,這是社區插件,不是 DeepSeek 官方應用。目錄是獨立站點;倉庫 LICENSE 寫明版權歸 Sam Gao(vlln),2026 年,MIT 許可。所謂「官方 bundle」只描述打包形態。
第二,它綁定的是 Web UI 當前的 DOM 契約。user 行靠 data-time-hover-root,精選按鈕掛在官方 conversation.chat.assistant-actions 插槽。dsh 網頁結構若再改一版,導航條可能對不齊或直接不顯示。源碼註釋裏也能看到它爲 0808、0810、0811 幾輪滾動判定做過適配,說明這類界面插件會跟着宿主版本走。
第三,未渲染進頁面的更早消息不會進入節點串。如果你需要「進入會話就覆蓋全部歷史、不必等翻頁」那種能力,這款插件的設計目標不在這裏。
第四,精選狀態存在本機瀏覽器的 localStorage,換瀏覽器、清站點數據或換設備都不會帶過去。
第五,安裝前檢查源碼與許可證。插件和當前 dsh 進程同權;目錄頁也寫了同一條警告。
小結¶
dsh-navbar 把長對話裏「找回某句 user 消息」收成右緣一串節點:懸停預覽、點擊跳轉、滾輪切換,還可以把關鍵回覆精選成金色節點。它體積小、不註冊工具、走官方 bundle 的 web client 通道,裝完重啓即可用。
目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-navbar/
GitHub:https://github.com/vlln/dsh-navbar