🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

智能体实时组网 dpskh/dsh-a2a

DeepSeek Harness
dpskh75 天前有提交已提供中文文档扫描:含敏感能力

Harness 的智能体对智能体网格

37.2/100
综合分
12
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/20 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dpskh/dsh-a2a
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · tool
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 75 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/22) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包@dpskh/a2a(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 16:39:44

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 6 处,展示前 6 条)
  • 写入本地文件
    src/attachments.ts:99
    await mkdir(root, { recursive: true })
  • 读取本地文件
    src/attachments.ts:100
    const realRoot = await realpath(root)
  • 写入本地文件
    src/attachments.ts:106
    await writeFile(filePath, attachment.bytes, { flag: 'wx', mode: 0o600 })
  • 删除本地文件递归
    src/attachments.ts:116
    await rm(outputDirectory, { recursive: true, force: true })
  • 发起网络请求
    src/hub/client.ts:110
    response = await fetch(`${this.baseUrl}/api/${method}`, {
  • 发起网络请求
    src/hub/client.ts:146
    const response = await fetch(url, init)
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-storage-domain@deepseek-ai/schemastery@deepseek-ai/dsh-agent@deepseek-ai/dsh-brand@deepseek-ai/dsh-commands@deepseek-ai/dsh-invariants@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-settings@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-tools@deepseek-ai/dsh-storage
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 智能体对智能体网格

README

由 DeepSeek 最新模型翻译生成
@dpskh/a2a — 面向 DeepSeek Harness 的 Agent2Agent 实时网格 dshfind 一个包,一个入口插件。挂载 @dpskh/a2a 0.3 即可获得实时 A2A 网格:hub 宿主(ctx.a2aHub:项目注册表 + 存储域上的不可变消息历史,外加可选的监听 hub 服务器,同时提供实时 WebSocket),网格客户端(ctx.a2aMesh:每个已加入的智能体一个 WebSocket 在线状态,串行注入),a2a_peers / a2a_message / a2a_history 工具,以及 /a2a 命令界面。在线状态是一条活着的 socket;消息是持久记录 —— 在可信私有网络上的实时聊天。
展开完整文档(README 剩余 1 节)
@dpskh/a2a — 面向 DeepSeek Harness 的 Agent2Agent 实时网格

dshfind

一个包,一个入口插件。挂载 @dpskh/a2a 0.3 即可获得实时 A2A 网格:hub 宿主(ctx.a2aHub:项目注册表 + 存储域上的不可变消息历史,外加可选的监听 hub 服务器,同时提供实时 WebSocket),网格客户端(ctx.a2aMesh:每个已加入的智能体一个 WebSocket 在线状态,串行注入),a2a_peers / a2a_message / a2a_history 工具,以及 /a2a 命令界面。在线状态是一条活着的 socket;消息是持久记录 —— 在可信私有网络上的实时聊天。

配置

- id: a2a
name: '@dpskh/a2a'
config:
hub: # optional: run the mesh hub server
host: 127.0.0.1
port: 43123 # base bind port
maxPort: 43223 # optional: walk up on EADDRINUSE
mesh: # optional: mesh client
project: main # project to connect to (defaults to main)
agentId: main # local agent this presence belongs to
name: main # roster name; defaults to the agent id
autoConnect: true # connect when the configured agent registers
persistConnections: false # remember each session's last connection and rejoin it
reconnectMs: 500 # initial reconnect delay (doubles to 10 s)

hub 需要可路由的存储后端:挂载 @deepseek-ai/dsh-storage、一个后端(storage-json 或 storage-sqlite),以及 @deepseek-ai/dsh-storage-domain,并把后端路由到 a2a 域。入口插件组合了 hub 宿主服务(ctx.a2aHub)、网格客户端(ctx.a2aMesh),以及 —— 配置了网格时 —— 工具和命令插件(cordis 按它们的 inject 依赖激活)。0.2 中已移除的网格字段(persistBindings、autoRejoin、pollIntervalMs、heartbeatMs、caps)会被忽略,以兼容复制过来的 0.2 配置。

网格

- Hub(ctx.a2aHub):权威项目注册表和只追加的消息历史(每个项目单调递增的序列号,项目范围内的 messageRef,形如 demo:42)。可选的 hub 服务器通过 HTTP 提供项目/历史路由,并在 /v1/connect 提供实时 WebSocket(协议版本 3)。
- 在线状态:当且仅当一条 WebSocket 存活时,在线状态才存在。已占用的名册名称在每个项目内唯一;同名的后续连接是新的在线状态,不继承任何东西。hub 重启会清空所有在线状态,而消息历史保留。
- 消息:不可变,按 messageId 幂等(重试同一请求体会返回原消息;用同一个 id 发送不同内容会报 MessageIdConflictError)。直接发送在受理时解析收件人当前在线状态,对方不在线就立即失败;项目广播冻结当前在线快照(不含发送者),之后加入的人不会补收。replyTo 在同一项目历史内建立因果关联。文本和附件共享 4 MiB 解码后内容预算;每条消息最多八个附件,以 base64 传输(压缩后更小时用 gzip)。
- 投递:内存中的结果回报给发送者——delivered 表示接收方客户端已注入消息,failed 表示物化或注入出错,disconnected 表示 socket 在确认前已关闭。
- Mesh 客户端(ctx.a2aMesh):每个已加入的智能体拥有一个连接(项目 + 名册名)。入站消息按 hub 分配的序号串行推送,注入到所属智能体的会话(空闲时作为后续轮次,忙碌时作为普通上下文),附件物化到系统临时目录下。连接仍被需要时,意外断开会自动重连并退避;认领被拒(名称占用、项目未知、协议不匹配)则不再需要该连接。a2a/presence-changed 事件通告本地连接与断开;a2a/delivery 事件通告投递结果。智能体被销毁时自动移除其在线状态。启用 persistConnections 后,每次成功连接都会在 a2a-connections 设置命名空间里记录 agentId → (project, name),智能体注册时若存在已存记录就重新加入——这是 GUI 路径,会话 id 是动态的,没有配置静态 agentId;显式断开则忘记该记录。每个成员关系还跟踪一份本地会话活动视图(idle / conversing / working,由发送、投递和入站消息推断——活动状态不经过 hub 传输),并在 status() 中暴露,供连接图动画使用;活动状态变化会发出 a2a/change,浏览器据此实时刷新。

工具与命令

- a2a_peers — 列出当前在此项目中的确切名册名。
- a2a_message — 发送给某个当前对等方(target: {type: 'agent', name}),或广播给所有当前对等方(target: {type: 'project'}),可选 replyTo、附件文件路径和幂等 messageId。回复被动到达——发送后绝不要等待或轮询。
- a2a_history — 用 before、after、limit 或 from 查看更早的项目消息(仅过去上下文)。
- /a2a hub、/a2a project create|list|delete、/a2a connect <project> [--as <name>]、/a2a disconnect、/a2a status、/a2a peers、/a2a history [--before <ref>] [--after <ref>] [--limit <n>] [--from <name>]、/a2a help。

Web 协作控件

@dpskh/ui-a2a 每个会话消费一份 Host a2a.snapshot:连接身份、实时名册和项目。本地与远程名册变化会发出 host/a2a-changed;浏览器重新拉取快照,让 Overview 页面、Projects 页面、徽标和快捷面板始终共用同一个状态源。名册是主体;辅助拓扑在不超过六个对端时用轨道布局,超过该阈值改用网格布局,窄屏下隐藏。浏览器从不连接 Hub WebSocket。

信任模型

这套 mesh 假定运行在完全可信的私有网络中:hub 端点不认证调用方,调用方提供的项目与成员身份都按可信声明处理。不要把 hub 暴露到公网或不可信网络。

模型体验

间接进入,途径是 a2a_* 工具、/a2a 命令,以及注入的入站信封:项目成员 id、消息引用、加入结果和已投递消息都可能进入对话。

KV Cache 影响

插件配置和工具定义不变时,前缀保持稳定;项目、名册或历史变化不会改动 schema。

已知限制与后续工作

- 仅支持在线接收方 —— 接收方当前不在线时,直接发送立即失败;没有离线投递,也没有持久化名册。
- 每个客户端只连一个 hub —— mesh 客户端同一时间只连接一个 hub;多 hub 扇出留待后续。
- 投递结果存于内存 —— delivered/failed/disconnected 不持久化;更丰富的投递元数据留待后续。
- 附件落地到临时目录 —— 入站附件落在系统临时目录下;可配置的会话级位置留待后续。
预览分享卡片长什么样 ↓dpskh/dsh-a2a
分享 · DeepSeek Harness Hub
dpskh/dsh-a2a

Harness 的智能体对智能体网格

这是你的仓库?认领条目

回到顶部