dsh-ask-peer:为 DeepSeek Harness 提供去中心化 agent 互问插件

前言

DeepSeek Harness(DSH)通过插件扩展智能体能力。dsh-ask-peer 是一个面向 DeepSeek Harness 的插件,让一个 agent 在局域网内直接询问另一个 agent,并得到基于对方工作区和会话上下文的回答。

下面介绍它的定位、核心能力、安装方式和典型用法。

这是什么

dsh-ask-peerzzhzz 维护,许可证为 MIT,GitHub 地址为 https://github.com/zzhzz/dsh-ask-peer

它的一句话定位是:Decentralized peer-to-peer “ask a colleague’s agent” plugin for DeepSeek Harness。

该插件的核心设计是 peer-to-peer:

  • 没有 hub、broker 或 shared database。
  • agents 直接在 LAN 上通信。
  • 每一侧保存自己的一份关系记录。

核心功能

询问与交叉验证

模型可以使用以下工具:

ask_peer
ask_peers
peers_list
recommend_peer
ask_peer_async
ask_result

其中:

  • ask_peer:询问一个 colleague。
  • ask_peers:并行询问 2–3 个 agent,并交叉验证答案。
  • peers_list:展示 live roster 与 tags,帮助模型选择 peer。
  • ask_peer_async / ask_result:使用 backlogged asks,不中断 answerer 的当前工作。

发现新 agent

recommend_peer 用于发现新的 agent:

  1. 当前 agent 询问一个 colleague。
  2. 如果该 colleague 认识匹配的 agent,会返回另一个 agent 的 signed card。
  3. signed card 以 notification 或 chat bubble 的形式呈现,包含 Add/Decline。
  4. 接受后,该 agent 会合并到 friend list。

如果当前 colleague 不认识匹配的 agent,她会继续向自己的朋友询问。这个过程受以下限制:

  • hop limit,默认为 1
  • small fan-out。

气泡中会显示推荐路径,例如:

via carol → erin

会话级回答

插件使用 session-level answers:

  • 由一个 fresh、read-only agent 回答。
  • 回答内容来自目标 session context 的 copy。
  • 不触碰 live sessions。

审批与策略

在 Web UI 中,可以使用 approval bubbles 处理请求:

  • answer:同意回答。
  • decline:拒绝回答。
  • auto:信任某个 friend,直接执行。

每个 friend 可以配置以下策略之一:

ask
auto
deny

其中:

  • ask:在 UI 中审批。
  • auto:trusted friends 直接执行。
  • deny:拒绝。

签名好友卡片

添加 friend 时使用 signed friend card:

  • 粘贴一个 signed blob 即可添加。
  • 不需要手工复制 host、port、key。

自然触发

当用户请求匹配某个 friend 的广告能力时,agent 可以自行调用:

ask_peer
recommend_peer

不需要用户手动指定工具。

安装与启用

先确认运行环境满足要求:

node: ^22.19.0 || >=24.0.0
pnpm: >=10

安装插件到指定 profile:

dsh plugin --profile web add dsh-ask-peer

如果从本地 checkout 或 tarball 添加,对应路径为:

./dsh-ask-peer
./dsh-ask-peer-0.1.0.tgz

然后添加 bootstrap row:

- id: ask-peer
  config:
    callerName: 'ada'
    keyDir: '/home/ada/.dsh-ask-peer/keys'
    listen: true

这里:

  • callerName 是 agent 名称。
  • keyDir 是密钥目录。
  • listen 表示启用监听。

启动 profile:

dsh --profile web

在 Web UI 中打开:

Settings → Ask Peer

复制自己的 sign 或 friend card,发给 colleague。再粘贴 colleague 的 card,添加 friend。

典型用法

可以直接对 agent 说:

Carol, recommend another agent who can help me stand up a docker-compose dev environment.

README 示例中的流程如下:

  1. Bob 询问自己的 agent:希望找到一个能帮忙搭 docker-compose dev environment 的 agent。
  2. Carol 先查看认识的 agent;如果没人 advertise docker expertise,她会向朋友 Erin 继续询问。
  3. Erin 查看自己的关系,找到 Ada。
  4. Ada 正在 docker-compose session 中,并 advertise:
docker
env-setup
  1. Ada 的 signed friend card 沿链路返回,在 Bob 的 chat 中显示:
ada recommended via carol → erin
  1. Bob 点击 Add friend 后,他的 agent 就可以直接询问 Ada 的 agent。

完整配置参考与协议见仓库中的:

src/config.ts
docs/ARCHITECTURE.md

适用场景与注意

适合在本地网络内需要 agent 互问、跨工作区获取上下文答案、或希望以插件方式扩展 DSH 的开发者使用。

使用前注意:

  • 插件以当前 dsh 进程权限运行,安装前应检查源码和许可证。
  • 许可证为 MIT
  • auto 策略会让 trusted friend 直接执行,应只对可信 peer 使用。
  • recommend_peer 的发现过程受 hop limit 和 fan-out 限制,但仍建议控制 peer 数量与策略。

获取地址

GitHub 仓库:

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

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

小夜