dsh-plugin-mesh
装一个插件,把跑不完的活交给另一台电脑;跑完,结果回到你面前。
两台(或几台)装了 DSH 的电脑各自装上它,打开 Mesh 就能互相看见 —— 不用配对码、不用填 IP、不用装 Tailscale 客户端。点一台机器,写下要它做什么,派过去;它会在那边开一个会话去做。你不用盯着。
🎬 60 秒看它怎么工作:https://peng456.github.io/dsh-plugin-mesh/demo.html
(示意动画,不连接任何机器;真实的"派发 → 在跑 → 结果回来"就是那个样子。)
没有第二台电脑? 装好后打开 Mesh 侧栏 → 点「看演示」,在一台机器上就能看完整个闭环。
它解决的是什么
不是"组网",是这三个具体时刻:
| 你的处境 | 它做的事 |
|---|
| 这个活太重,笔记本风扇要起飞了 | 丢给台式机 / 那台吃灰的旧电脑跑 |
| 长任务跑到一半,你要合盖走人 | 活在那台机器上继续跑,结果回到任务记录里 |
| 人在外面,只想让家里的电脑干件事 | 从手机上的 DSH 派过去,回家看结果 |
以前:两台机器各干各的,你在中间来回搬上下文、复述需求、复制结果。
现在:一句话派过去,对端的 agent 自己开跑;结果由它派回来,落在「任务」里。
这不是"远程执行",是 agent 之间互相派活
A 的 agent 把任务交给 B 的 agent;B 自己决定怎么做、用什么命令、做完把结果派回来。
你不需要在两台机器之间搬上下文 —— 你只需要说清楚"要什么结果"。
链式也可以:A 派给 B 编译,B 做完再交给 C 部署验证,最后结果回到 A。
(对端的 agent 可以用 mesh_run 继续往下一台派。)
几个真实用法
| 场景 | 你在某一台机器上说 | 对端 agent 做的事 | 你收到的 |
|---|
| PC 编译 | 「拉最新代码,编译 Windows 版,产物和报错都发我」 | 拉代码、跑构建、收集产物与错误 | 产物路径、退出码、报错摘要 |
| Android 部署验证 | 「把刚编的包装到 Android 上,启动一下,截图和日志发我」 | 安装、启动、截图、抓日志 | 截图、关键日志、启动是否成功 |
| 插件适配 | 「在 Windows 那台点『检查更新』装到最新版,重启,确认 health 里的版本是新的」 | 升级、重启、请求 /mesh/v1/health | 版本号、是否真的生效 |
| 长任务 | 「跑完整测试,失败的用例发我」 | 跑测试、整理失败 | 摘要 + 退出码 + 失败用例 |
| 旧电脑借算力 | 「把这段视频转成 1080p,放回 ~/Movies」 | 转码、校验 | 完成/失败 + 文件路径 |
例子里的每一句都能直接派。派发方式:Mesh 面板的「派发任务」,或会话里以 @机器名 开头。
5 分钟上手
第 1 步 · 每台机器装一次
dsh plugin add dsh-plugin-mesh
desktop profile 要在 DSH Desktop 自带的终端里跑(普通终端会被 dsh 拒绝);
- 其它 profile 用普通终端即可;
- 装完必须重启一次 DSH —— 插件在启动时加载。
第 2 步 · 起个名字
打开侧栏的「Mesh」,第一次会让你给这台机器起名(默认填主机名)。别的机器就靠这个名字找你。
第 3 步 · 看到对方
两台在同一局域网、都重启过,几秒内就会互相出现。看不到就点「局域网探测」,它直接扫本网段,不依赖组播。
第 4 步 · 派一个活
在设备页选一台机器 →「派发任务」→ 写清楚要它做什么。或者直接在会话输入框里以 @机器名 开头说话。
第 5 步 · 看结果
派出去只是「送达」。对端跑完会把结果派回来,出现在「任务」里。
第一次往一台陌生设备派活时,对方会先弹一次「允许」—— 点过之后不再问(这是默认行为,见下面「安全」)。
安全:默认不再敞着门
- 陌生设备第一次派活,本机要先点一次「允许」。允许过的设备记在本地,不会重复问。
- 在不可信网络(公司、合租、咖啡厅)里,打开「配对码」:两端用同一个码,别人即使连得上也派不进来。
- 对端派来的任务默认用
workspace-write 权限,不给 danger-full-access。
- 所有数据都在本机:没有账号、没有云端、不上报任何统计。
常见问题
看不到另一台机器?
① 两台在同一局域网?② 对端也装了、也重启了?③ 防火墙放行 TCP 45917 和 UDP 45892?
还不出现就点「局域网探测」—— 只要端口通,扫描就能发现,不依赖组播。
结果在哪?
在「任务」里。派发的返回只代表对端收下了,不代表跑完了;跑完的结果由对端派回来。
Android 上的 DSH 老掉线?
是系统省电在杀后台,不是插件的问题。把 DSH 加进电池优化白名单。
跨互联网能用吗?
能。在「连接 → 互联网组网」里填一次 Tailscale 授权码,插件会自动下载并运行一个用户态节点,不需要装 Go、不需要装 Tailscale 客户端。功能与局域网同级。
平台
macOS(Intel / Apple Silicon)· Windows · Linux · Android(Termux)· WSL。
固定端口 45917;同一台机器跑多个实例时会自动退回随机端口(组播仍可发现)。
深入阅读
参与开发
合并进 main 会自动测试、发 npm 包和 GitHub Release,你不需要碰版本号。
本地先跑:
npm install
npm run check
npm test
有问题或想提需求:https://github.com/peng456/dsh-plugin-mesh/issues · 邮箱 geekstartup@163.com
MIT · 与 DeepSeek 官方无隶属关系