前言¶
在 DeepSeek Harness(DSH)裏,一次會話可能包含多輪消息、工具調用和上下文統計。需要讓同網絡裏的另一臺設備查看這段會話時,直接開放主服務端口並不合適。DSH 的插件形態提供了一個更具體的做法:不把主 harness 暴露出去,而是爲當前會話生成一個只讀、可撤銷、可過期的局域網分享鏈接。
下面介紹 zljr/dsh-share。它是一個面向 web profile 的 DSH 插件,由 zljr 維護,MIT 許可證。
這是什麼¶
dsh-share 的核心作用,是把當前會話凍結爲一份只讀快照,並生成同一局域網設備可打開的鏈接。
它會在會話頭部增加 Share 按鈕。點擊後,插件把當前會話整理爲自包含、只讀的 HTML 頁面,並給出 token URL。分享頁面由單獨的只讀 HTTP 服務器提供,主 harness 保持 loopback-only,即 127.0.0.1。
核心功能¶
分享入口¶
- 在會話頭部增加
Share按鈕。 - 一鍵把當前會話凍結爲自包含、只讀的 HTML 快照。
- 生成同一局域網設備可用的 token URL。
只讀服務¶
- 由單獨的只讀 HTTP 服務器提供快照頁面。
- 僅暴露
GET /s/<token>。 - 分享服務器默認綁定
0.0.0.0:3081。 - 分享頁面無 JavaScript、無外部資源。
快照內容¶
- Markdown 渲染,轉義原始 HTML 並阻止
javascript:URL。 - 長消息摺疊預覽,連續工具調用合併爲一組。
- 顯示會話統計和上下文佔用構成條。
- 明暗主題跟隨
prefers-color-scheme。 - 智能選擇 LAN IP 並過濾虛擬適配器。
鏈接管理¶
- 使用
128-bit隨機 token。 - 支持撤銷分享。
- 支持可選過期:
1h / 24h / 7d。 - 分享狀態持久化到
~/.dsh/dsh-share.json。
插件接口¶
插件暴露 /dsh-share RPC,操作包括:
create
revoke
list
安裝與啓用¶
npm 安裝¶
先執行下面命令,把插件加入 web profile:
dsh plugin --profile web add @zljr/dsh-share
然後啓動 web profile:
dsh --profile web
從源碼安裝¶
本地開發時,先安裝依賴並構建產物:
pnpm install
pnpm build
再用絕對路徑把本地目錄安裝到 web profile:
dsh plugin --profile web add /absolute/path/to/dsh-share
最後啓動 web profile:
dsh --profile web
典型用法¶
1、打開任意會話,點擊會話頭部的 Share。
2、首次使用時,分享服務器懶加載啓動。
3、通過瀏覽器打開形如 http://192.168.1.20:3081/s/<token> 的鏈接。
4、在分享界面可設置 1h / 24h / 7d 過期、複製鏈接或撤銷。
經過上面的步驟,同一局域網中的設備可以查看已經凍結的會話快照。該快照在創建後不會重新讀取會話存儲。
配置¶
可以用環境變量或 cordis.patch.yml 配置分享服務器。示例值如下:
DSH_SHARE_HOST=0.0.0.0
DSH_SHARE_PORT=3081
在 Windows 上,首次 0.0.0.0 監聽可能觸發防火牆提示,需要允許。
適用場景與注意¶
這個插件適合 DSH web profile 用戶:需要把當前會話以只讀方式分享給同一局域網內的設備,同時不開放主 harness 的命令執行入口。
使用前先確認以下幾點:
1、插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
2、分享鏈接包含 token,泄露後可能被訪問;需要停止時撤銷或設置過期。
3、分享頁是凍結快照,不是即時會話視圖。
4、只讀分享服務默認綁定 0.0.0.0:3081,只在可信網絡內使用。
結尾¶
dsh-share 把“查看一段會話”和“操作 DSH 主服務”分開:分享方得到的是隻讀、可撤銷、可過期的局域網快照,而不是一個開放的主服務入口。
DSH 社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。
目錄頁:https://www.skillhub.cn/plugins/zljr/dsh-share
GitHub:https://github.com/zljr/dsh-share