前言¶
在本地用 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