DeepSeek Harness 插件

dsh-open-a2a-net

Open A2A network plugin for DeepSeek Harness: signed agent cards, decentralized peer/zone discovery, direct routing model tools, and joinable session nodes with a sidebar control(英文原文)

跳到安装方式

来源信息

GitHub 仓库
NelsonLongxiang/dsh-open-a2a-net
最近更新
2026年8月20日
分类
自动化与任务
GitHub stars
2
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/NelsonLongxiang/dsh-open-a2a-net
插件名:dsh-open-a2a-net
作者:NelsonLongxiang

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README_zh.md来源说明 · 只读预览
README 语言

@nelsonlongxiang/dsh-open-a2a-net

English | 中文

![npm](https://www.npmjs.com/package/@nelsonlongxiang/dsh-open-a2a-net)

面向 DeepSeek Harness(DSH)的开放 A2A 网络插件:把一个 DSH 部署变成去中心化 agent 网络中的一个节点——没有中心服务器,没有注册中心。

每个节点在 /.well-known/agent-card.json 发布带签名、会过期的 agent 卡片,通过种子 URL 与相互引荐发现 peers(每张卡片列出它认识的节点),通过区域委托解析名字(GNUnet GNS 风格:卡片可把一个名字委托给另一个 zone),并直连路由到 peer 的团队、在可达半数候选间故障切换。每个主会话还可以作为会话节点暴露,供其他宿主从 Web 侧栏发现并加入。

侧栏网络面板上下文消息展示
![侧栏网络面板](images/image-01.png)![上下文消息展示](images/image-02.png)

安装

dsh plugin --profile web add @nelsonlongxiang/dsh-open-a2a-net

重启 dsh web,打开侧栏网络面板(底部入口)。

(支持包名、本地路径或 Git URL;包内 prepare 会在安装时执行 pnpm build。注意:脱离 DSH profile 的独立 Git 安装目前无法构建——官方 @deepseek-ai/* npm 快照落后于本插件编译所对照的 harness 源码,请从 registry 安装,或在由 harness 提供当前 @deepseek-ai peers 的 profile 内安装。)插件组合在标准 webserver 行旁边:在共享监听器上注册卡片、状态与控制路由,在共享工具运行时上注册模型工具。

你能得到什么

  • 模型工具 —— a2a_teams 列出本节点可见的团队(自有、peers 的、已加入会话的);a2a_route 向一个团队发送消息,用 context_id 继续远端会话,peer 不可达时在候选间故障切换。
  • 侧栏控制 —— Web 侧栏底部的操作入口,把本宿主的会话列为可加入的网络节点:标题、近期活动摘录、每行所属团队,就地加入/退出,冷行(已持久化加入意图但会话未加载)可唤醒——打开会话即重挂节点。会话团队名为 <team>/<id8>;Web 会话取 id 前 8 位,导入会话(import-<uuid>)保留 import- 前缀加 uuid 前 8 位十六进制,避免导入 id 塌缩成少数几个团队。
  • 归档即离网 —— 归档会话(workspace 注册表状态)会剪除其加入意图并卸载其节点:唤醒前的启动结算、每次状态读取(会话中归档在一个面板轮询周期内消失)、以及永不唤醒已归档目标的路由时守卫。
  • 诚实的等待 —— 目标始终不应答的同步路由,在 180s 回复等待期限后以已投递形态与回执契约释放调用方(目标按自己的节奏作答);async: true 完全跳过等待。网络面板对超过 120s 的在途行降亮度标记为过期等待而非暗示活跃进度,标题带包版本徽标。
  • 通告 —— announce: true 发布本节点卡片(团队、能力、引荐、已加入会话团队),peers 无需任何目录即可发现它。

配置

行配置叠加在 profile 的 patch 层;每个键都有 schema 默认值。

默认值用途
announcefalse发布本节点 agent 卡片供 peer 发现。
peers[]种子 base URL;被引荐的 peers 从其卡片学习。
delegates[]区域委托:{ name, url, publicKey } 发布在卡片上。
team'dsh'本节点暴露给直连路由的团队名。
session''调用方标签;'' 为每个 home 派生稳定的 dsh-host-<8hex>
agentName'DeepSeek Harness A2A node'卡片上的人类可读名称。
apiKey''peer 请求携带的 X-API-Key;非空时同时门禁控制路由。
sessionNodestrue把主会话暴露为可加入的网络节点。
wakeJoinedOnBootfalse挂载时物化所有冷加入会话的 agent(需要 api gateway;无它时路由唤醒与侧栏唤醒按钮仍可用)。
cardTtlMs / flushTimeoutMs / routeTimeoutMs见 schema卡片生命周期与路由时序预算。

示例——一个带种子的通告节点:

- id: a2a
  name: '@nelsonlongxiang/dsh-open-a2a-net'
  config:
    announce: true
    peers: ['http://127.0.0.1:41243']

信任模型

卡片经 Ed25519 签名且会过期;卡片上的 peers 引荐与 sessionTeams 列表未签名、每次现读。/__dsh_a2a/join/__dsh_a2a/leave 控制路由在配置了 apiKey 时要求之(常数时间比较);密钥为空时仅信任同源浏览器与 loopback 调用方。把监听器暴露到 loopback 之外前请先设置 apiKey

协作 SOP(网络实践,v0.1)

由网络研究节点从 0.1.x–0.5.x 交付周期蒸馏;维护者采纳。

  • 角色 —— 一个会话一个职能,不越工作区边界:研究节点(协议/设计评审、裁决标准、带 must-fix/recommend 标签的源码行引用)、维护者节点(版本裁决、发布、采纳回执)、测试节点(所有活体验证的唯一执行点;生产宿主绝不用于临时测试)、安装/运维节点(生产 profile 部署、单一 owner、等待维护窗口)。
  • 派发纪律 —— 测试任务发测试节点,带版本 + 提交 + 可判定标准 + 回执目标;评审任务发研究节点,带源码指针而非转述。
  • 回执契约 —— 超过分钟级的任务用 async: true(wait:false)路由;回执读作 [A2A receipt] task <task_id> <outcome summary>;task id 由调用方出生、请求携带、peer 回显、steering 头传输——四方一致才关联回执。
  • 升级链 —— 测试节点绿 → 维护者回执 → 运维节点申请窗口 → 生产升级 → 维护者浏览器面终检 → 全网通告。
  • 复用红线 —— 共享纯逻辑提取库;共享运行时能力提取 Service;插件之间禁止值 import;生产宿主不承担验证职责(禁止开发者自测)。

验证

pnpm install   # auto-install-peers 从 npm 拉取 DSH peer 线
pnpm verify    # typecheck、构建、源码测试与构建产物布局守卫
pnpm build     # host lib(含 lib/a2a-client.js)、client 类型与浏览器 bundle(lib/client.js)

许可证

MIT