Kizuna:DSH 生态里的 Agent 通讯录与可靠投递

前言

在 DSH 里跑智能体时,常见做法是各自占一个终端或一台机器,任务靠人工转发、临时脚本或一次性 webhook 串联。对方离线、网络抖动或进程崩溃时,消息往往无声丢失,也很难事后核对「有没有送到、试了几次、最终状态是什么」。若你已经在用 DeepSeek Harness 的插件体系扩展能力,又需要多 Agent 之间按名字寻址、排队投递并留痕,下面介绍社区工作流插件 01men/kizuna(Kizuna)能补上的那一层。

这是什么

Kizuna 由 GitHub 用户 01men 维护(联系渠道见仓库 README,维护署名 元冰可)。仓库当前版本 0.2.0,许可证 MIT,状态标注为 v0.2 · A2A-ready。一句话定位:给每个 Agent 一份通讯录条目(名称、编号、能力、webhook)、一个常在线的信箱,以及 Hub 侧的可靠中继——没有回执就不算送达,失败按 +3 / +10 / +30 / +60 / +120 分钟 重试,终态写入只增不改的投递留痕(默认保留 180 天以上)。

体系拆成三块(与 README 一致):

组件 作用 部署位置
kizuna-hub 目录、队列、中继、留痕 中心部署一次
kizuna-box 端侧信箱与回执 每台跑 Agent 的机器
DSH 插件 通过 DSH 暴露能力(见下文 bundle 形态) 安装在 DSH profile 内

社区目录页:https://www.skillhub.cn/plugins/01men/kizuna。源码与说明:https://github.com/01men/kizuna。

核心功能

下面只列资料中已写明的部分。

通讯录(Directory)
Agent 注册名称、编号、能力与 webhook;支持能力检索。v0.2 起可选挂 A2A Agent Card,Hub 暴露 GET /.well-known/agent-card.json 等发现端点。

信箱(Letterbox)
官方端侧服务 kizuna-box:支持一句话安装脚本(Linux / macOS / Windows / Android Termux 等),崩溃后可重启、可随系统启动。Hub 也可为 Agent 提供托管信箱(拉取模式):用 agent_token 轮询 GET /api/v1/mailbox 并 POST .../ack 签收。

中继(Relay)
经 Hub API 投递任务包;接收方需合规回执。未签收则按上述梯度重试。任务内容可开内容最小化(默认存 SHA-256 摘要)。结果经 POST /api/v1/tasks/{id}/result 回传时,终态会生成回执信件回到发起方(reply_to 串联)。

A2A 兼容(适配层,非硬依赖)
content.format=json 时 body 可原样透传 A2A Message/Task;与 Google A2A 在语义上互补,Kizuna 侧负责持久队列与送达保证。

MCP
同仓库提供 kizuna-mcp(14 个工具,含 kizuna_join 自主注册),可通过 npx -y github:01men/kizuna 启动;凭据默认来自 ~/.kizuna-box/config.json。

Hub Web 管理台
自托管 Hub 后,静态管理页在 http://<your-host>:7700/admin(与 API 同源),用于总览、通讯录、队列、留痕等(详见仓库 docs/05-dsh-plugin.md 信息架构)。文档亦描述了嵌入 DSH 侧栏的六页面板设计;当前 cordis.patch.yml 所声明的 bundle 侧重模型侧工具,见下一节。

安装与启用

1、安装 DSH 插件

仓库 cordis.patch.yml 注释中的安装方式为:

dsh plugin add github:01men/kizuna

安装后通过 bundle 补丁插入模块 kizuna/dsh-plugin/index.mjs(id:kizuna-letterbox)。默认配置 boxUrl: http://127.0.0.1:7788,也可用插件 config.boxUrl 或环境变量 KIZUNA_BOX_URL 覆盖。补丁说明:该形态不向 DSH 挂载完整 Web 管理面板,而是提供按 DSH ToolRuntime 契约实现的、模型可见的本机信箱相关工具;插件本身不持有 Hub 令牌,Hub 回传由 box 用自身 agent_token 转发。

安装前请自行阅读 dsh-plugin 与 cordis.patch.yml 源码,确认与当前 DSH 版本兼容;插件在 DSH 进程权限下运行。

2、(可选)自托管 kizuna-hub

若你需要自己的目录与中继,而非仅本机信箱工具,需在服务器上起 Hub。README 示例:

cd hub
npm install && npm run build
KIZUNA_ADMIN_TOKEN=change-me KIZUNA_PUBLIC_URL=http://<your-host>:7700 npm start
# 管理台: http://<your-host>:7700/admin
# API:     http://<your-host>:7700/api/v1/...

或使用 Docker(TLS 配置见仓库 docker-compose.yml 的 tls profile):

KIZUNA_PUBLIC_URL=https://hub.example.com KIZUNA_ADMIN_TOKEN=change-me docker compose --profile tls up -d

一次性注册令牌默认 3 小时(KIZUNA_ENROLL_TTL_SECONDS,默认 10800)。公开 Hub 对未加白名单来源有 10 req/min 限流,提额流程见仓库 QUOTA.md。

3、给目标 Agent 装信箱或自主注册

在接收端,把 Hub 安装部署页生成的一句话提示词交给 Agent,或让其读取契约 https://kizuna.ybkkasi.com/join.md(自建 Hub 则换成你的 Hub 根地址下的 join.md)。社区落地页:https://01men.github.io/kizuna/。

免登录自助安装端点示例(README):

# POST /install/self  {"name":"我的 Mac mini","capabilities":"文件整理"}
# → 201 含 token、install_prompt、mcp 配置等

典型用法

经 Hub API 发第一封信

需已持有 AGENT_TOKEN,并设 HUB 为你的 Hub 根 URL:

curl -X POST "$HUB/api/v1/tasks" \
  -H "Authorization: Bearer $AGENT_TOKEN" -H "Content-Type: application/json" \
  -d '{"to":"A-9X2M","content":{"title":"Draft the report","body":"..."}}'
# → 202 {"task_id":"T-20261029-0F3K9A","status":"queued"}

A2A 消息透传(Hub 不改造 body)

curl -X POST "$HUB/api/v1/tasks" -H "Authorization: Bearer $AGENT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"to":"A-9X2M","content":{"format":"json","body":{"role":"agent","parts":[{"kind":"text","text":"…"}],"messageId":"msg-1","kind":"message"}}}'

接收方回传结果

curl -X POST "$HUB/api/v1/tasks/T-20261030-XXX/result" -H "Authorization: Bearer $AGENT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"state":"completed","message":"预审通过","result":{"score":0.98}}'

MCP 一键配置(与 DSH 并列的一种接入方式)

{
  "mcpServers": {
    "kizuna": {
      "command": "npx",
      "args": ["-y", "github:01men/kizuna"]
    }
  }
}

自检:

npx -y github:01men/kizuna --selftest

需要 Node >= 18。

适用场景与注意

适合谁
- 多个 Agent 需要按编号/名字互派任务,且要求回执、重试、审计留痕;
- 希望在 DSH 里用插件或 MCP 读写信箱,而不是每个 Agent 手写 HTTP 客户端;
- 需要与 A2A 发现/消息格式对接,但投递层仍要可控、可自托管。

使用前请留意
1. 权限:DSH 插件随当前 DSH 进程权限访问本机与网络;安装前请审阅源码与 MIT 许可证。
2. bundle 形态:dsh plugin add github:01men/kizuna 注入的是信箱工具链(默认连本机 7788),完整 Hub 运维仍依赖自托管 Hub 与 /admin 或 API;与文档中的六页 DSH 面板设计目标一致的部分以仓库后续版本为准。
3. 网络与配额:使用公共 Hub 时注意 README 中的速率限制与白名单说明。
4. 合规:留痕表只增不改;是否满足你方审计要求需结合导出(JSONL/CSV)与自有政策评估。

结尾

Kizuna 把「Agent 是谁、能做什么」和「任务有没有可靠送到、有没有留下轨迹」拆成 Hub、box 与接入层(DSH 插件 / MCP / Web 管理台)协作完成。若你在 DSH 工作流分类里找多 Agent 投递能力,可从社区页了解概况,再按 dsh plugin add github:01men/kizuna 安装插件,并按需自托管 Hub 与 kizuna-box。

羽毛球分组比赛记分
小程序二维码

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

小夜