前言¶
在本地用 DeepSeek Harness 跑 agent 時,常見問題是如何讓同網段同事各自的 Harness 互相協作,而不是反覆截圖、複製粘貼上下文。遠程桌面或共享文檔能傳話,但難以讓對方的 agent 在自己的工程環境裏只讀查代碼、搜資料並給出答案。
下面介紹社區插件 dsh-lan-room(維護者 zzw980709):在同一局域網內,一臺機器開房、其他人用一次性邀請碼加入,雙方的 agent 可以互相提問、在本地會話裏回答,且遠端不能寫文件或執行命令。
這是什麼¶
dsh-lan-room 是 DeepSeek Harness 的工作流類插件,在 SkillHub 目錄中的定位爲局域網聯機房間。它解決的是「多機同網、各跑各的 Harness,但 agent 能定向問答」的需求。
- 主機(Host):開房的機器,插件在局域網監聽房間服務,默認地址爲
0.0.0.0:8787。 - 訪客(Guest):持邀請碼加入,主動連接主機,本機不監聽房間端口。
- 交互邊界:遠端只能提問;本地 agent 使用受限制的只讀工具作答,不允許遠端寫文件或跑命令。
當前包版本爲 0.1.0,許可證 MIT,要求 DeepSeek Harness 0.2.2-rc.1 或更新(engines.dsh 會在不兼容時攔截安裝)。GitHub 倉庫:https://github.com/zzw980709/dsh-lan-room ;社區目錄頁:https://www.skillhub.cn/plugins/zzw980709/dsh-lan-room 。
核心功能¶
房間與成員¶
主機通過面板或 agent 工具創建房間,可指定端口(默認 8787,衝突時自動順延)。加入後雙方成員列表與消息流同步。房間僅在 Harness 進程運行期間存在,退出應用即解散,無離線消息。
邀請碼¶
每張邀請碼 8 位、一次性使用,24 小時過期,可單獨撤銷;主機可再生成 1–5 張新碼。加入請求在網絡中不傳輸邀請碼明文,僅攜帶 inviteId 與證明。
Agent 問答¶
提問方可在面板選擇目標成員與「提問」模式,或對 agent 說「問一下某某:……」,由模型調用 lan_ask。被問方在本機專用會話(標題形如 聯機 · <對方名字>)裏跑一輪 agent,將答案回傳;本地用戶可見全過程。默認等待 300 秒,最長 600 秒;超時返回 timeout,但對方仍可能稍後補發「遲到的回答」。
安全與工具集¶
握手後幀級使用 per-member 的 AES-256-GCM 加密。房間 agent 僅可使用 read、read_image、glob、grep、lsp、web_search、web_fetch;遠端文本視爲不可信輸入,系統提示中硬禁 .env、密鑰、SSH 私鑰等。插件不承諾抗同網段主動 MITM,也不保證跨網段或公網可用。
安裝與啓用¶
安裝前請確認 Harness 版本滿足 >=0.2.2-rc.1。插件在 DSH 進程權限下運行,安裝前宜瀏覽源碼與許可證。
官方 README 提供三種安裝方式(desktop profile):
# 1. 從 npm(推薦,發佈後可用)
dsh plugin --profile desktop add dsh-lan-room
# 2. 直接從 GitHub 安裝(無需 npm 發佈)
dsh plugin --profile desktop add git+https://github.com/zzw980709/dsh-lan-room.git
# 3. 本地目錄(開發調試)
dsh plugin --profile desktop add /path/to/dsh-lan-room
也可在 Harness「插件」頁面安裝本地 bundle(選擇插件目錄)。裝完後需要重啓 Harness:Host 半實現會被進程內模塊緩存,重啓後纔會生效;之後僅改面板可刷新頁面。發佈與市場相關說明見倉庫內 docs/PUBLISHING.md。
典型用法¶
開房¶
- 側邊欄底部「聯機」→「創建房間」,填寫房間名與端口(默認 8787)。
- 進入房間後點「邀請成員」,獲得 8 位一次性邀請碼與房間地址(例如
192.168.1.23:8787)。 - 將邀請碼發給同事;每張碼僅用一次。
也可直接對 agent 說:「幫我開一個局域網房間」。
加入¶
- 「聯機」→「加入房間」,填寫邀請碼、房間地址、本機顯示名。
- 加入成功後,主機成員列表會出現本機,雙方消息流同步。
提問¶
- 面板:輸入框選擇目標成員(如「發給 zzw-air」)→ 模式「提問」→ 回車;處理中顯示狀態,完成後展示答案、耗時與步數。
- agent:例如「問一下 zzw-air:這個報錯怎麼修?」,由模型調用
lan_ask。
Agent 工具一覽¶
| 工具 | 作用 |
|---|---|
lan_room_create |
開房,返回房間號、地址、首張邀請碼 |
lan_room_invite |
再生成邀請碼(1–5 張) |
lan_room_join |
用邀請碼加入房間 |
lan_room_status |
房間、成員、在線狀態、邀請碼、最近消息與提問 |
lan_ask |
向某個成員提問並等待回答(默認 300s,最長 600s) |
lan_send |
發一條普通消息 |
lan_room_leave |
離開房間 / 關閉自己主持的房間 |
面板控制面走 Harness loopback 的 /lan-room/*,不佔房間端口。協議上 Host 使用 node:http 監聽,提供 POST /join、GET /events(SSE)、POST /rpc;Guest 用 fetch 與 SSE 解析,並支持指數退避重連。
適用場景與注意¶
適合:同一辦公網或家庭局域網內,多名開發者各自在本機 Harness 上跑 agent,需要讓對方 agent 在自己的倉庫環境裏只讀排查問題、查文檔,又不想開放 shell 或寫權限。
務必注意:
- 首次監聽時 macOS/Windows 可能彈出「允許傳入連接」,拒絕會導致局域網不可達。
- 同網段 AP 隔離或公司網絡策略可能導致互不可達,面板會提示換網或手填地址。
- 面板 v1 不渲染二維碼,需複製邀請碼與地址;房間會話會出現在側邊欄(
聯機 · xxx),便於審計。 - 審計記錄目錄爲
~/.dsh/lan-room/(README 標註部分能力在後續版本完善)。
DeepSeek Harness 生態遵循「一切皆插件」;SkillHub 等爲社區目錄,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
dsh-lan-room 把「開房—邀請—定向提問—本地只讀作答」收斂進 Harness 插件與工作流工具,適合同網多機協作調試 agent,而不犧牲本機寫權限與命令執行邊界。
- 目錄頁:https://www.skillhub.cn/plugins/zzw980709/dsh-lan-room
- 源碼與文檔:https://github.com/zzw980709/dsh-lan-room