dsh-fleet:DSH 多机算力组网插件

前言

DSH 的插件化方向是「一切皆插件」。在智能体开发、长任务调试或多项目并行时,单机算力或本地环境可能不够用。scriptsnet/dsh-fleet 是一个 DSH 插件,目标是把朋友间、局域网里、云上 ECS 的闲置算力接入同一个团队,由一台机器把任务派发给其他在线机器,worker 自动执行并回流结果。

这个插件由 scriptsnet 维护,许可证为 MIT

这是什么

scriptsnet/dsh-fleet 解决的是多机协同调用问题:每台机器生成自己的机器身份,加入一个或多个团队;团队成员可以互相查看在线状态;master 侧可以用 fleet_dispatch 把任务发给指定成员;worker 侧执行任务,并把会话挂到工作区,便于回溯。

它支持 WindowsLinuxmacOS,运行时只依赖 Node 内置模块。插件启动后会注册 12 个模型工具,并在侧边栏提供「算力舰队」面板。

核心能力

机器身份与机器名片

安装后,每台机器会生成 machineId 和永久 SK

机器名片是一行可复制字符串,用于把这台机器加入团队,减少手工配置。

多团队

每台机器可以同时属于多个团队。不同团队之间的成员名录相互独立。

信任握手

插件使用 challenge-response + HMAC-SHA256 做信任握手,用于证明持有 SKSK 永不明文过网。

心跳监控

成员通过长连接上报心跳,并上报 RTT、内存等资源信息。断线后会自动重连,在线状态可以实时查看。

任务派发

fleet_dispatch 用于把任务发给在线成员。worker 自动执行任务,并回流结果。

任务执行时使用临时 taskToken,通过 HMAC 验签防伪造。worker 拥有最终否决权。

会话保留

worker 执行任务后,任务会话会自动挂载到工作区,便于在本地查看和回溯。

安装与启用

如果本机已经安装 harness,可以使用 DSH 插件命令安装:

dsh plugin --profile web add https://github.com/scriptsnet/dsh-fleet

安装完成后,重启 harness 后生效。

插件启动后会监听默认端口:

47900

同时会注册 /fleet/api/* 路由,供侧边栏面板使用。该路由仅回环可访问。

插件还会注册 12 个模型工具,用于名片、团队、成员、联通测试和任务派发等操作。

如果目标机没有 harness,项目提供 Windows / Linux 离线安装器,用于离线安装 harness 和插件。

环境变量

以下环境变量会影响插件运行目录和任务后会话处理方式:

DSH_FLEET_HOME:默认 $DSH_HOME/fleet 或 ~/.dsh/fleet
DSH_FLEET_DISPOSE_AFTER_TASK:默认 0

DSH_FLEET_HOME 用于身份和名录目录。本地多机模拟时,可以为每台机器分别指定。

DSH_FLEET_DISPOSE_AFTER_TASK 默认保留任务会话,便于在 GUI 中查看。

典型用法

先完成安装并重启 harness

1、查看本机机器名片:

查看我的机器名片 → fleet_card

2、把这台机器加入指定团队:

把这张名片加入 XX 团队 → fleet_add

3、查看团队和成员在线情况:

有哪些团队?成员在线吗? → fleet_teams

4、向指定团队或成员派发任务:

用 fleet_dispatch 把任务发给「XX舰队」的成员

派发时可以指定 provider/modelkeyHint

keyHint: inherit / self

任务完成后,worker 会把结果回流到调用侧,worker 侧的任务会话也会挂载到工作区。

适用场景与注意

适合以下场景:

  • 已经在使用 harness,希望把多台 WindowsLinuxmacOS 机器组成 DSH 算力团队。
  • 有朋友闲置 PC、局域网服务器、云上 ECS,希望复用这些机器的算力。
  • 需要跨机器派发任务、查看在线状态、保留 worker 会话。

需要注意:

  • 插件以当前 dsh 进程权限运行。安装前应检查源码、依赖面和 MIT 许可证是否符合你的使用要求。
  • SK 是机器身份凭证,不要泄露给不信任的人或环境。
  • /fleet/api/* 仅回环可访问,不要把它暴露到公网。
  • 任务执行依赖临时 taskToken 和 worker 否决权,但这不改变本地权限边界。
  • 当前路线图待实现项包括:任务日志流式回流 / 产物回传、UDP 打洞、邀请码入队,以及发布 npmdsh-plugin topic)后走标准 dsh plugin add 安装。npm 包是否已发布,不能从当前已核实资料中确认。

资源链接

GitHub 仓库:

https://github.com/scriptsnet/dsh-fleet
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye