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

A2A 协议演示 alanpaul1969/a2a-flutter-demo

DeepSeek Harness
alanpaul196973 天前有提交已提供中文文档扫描:无法判定

用 Flutter 聊天界面查看并审批多智能体消息

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add alanpaul1969/a2a-flutter-demo
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么[目录]—
dsh 原生插件 · vision
暂无时间戳·判据 →
装得上吗[实装验证]!
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
数据截至 2026/10/09·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 73 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

⚠︎ 实装验证未通过(unknown · 2026/10/9) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 包内无可扫 JS
  • · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/11/3(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • Flutter聊天界面
  • 查看多智能体消息
  • 审批多智能体消息

A2A 协议演示:Flutter 聊天界面 + Python 服务端 + 模拟器截图

README

由 DeepSeek 最新模型翻译生成
A2A Flutter 演示 一个完整、经过生产测试的 A2A(Agent-to-Agent)协议 演示,包含消息路由、Ed25519 身份验证、Flutter 聊天界面(iOS + Android),以及 Python 服务器 + CLI 工具。 A2A Protocol Flutter Python License 这是什么 一个自包含的演示,展示如何: 1. 搭建 A2A 服务器,并启用 Ed25519 JWS 签名验证 2. 路由消息,根据 metadata.to 在多个 agent 之间转发 3. 查看 agent 对话,在带筛选功能的 Flutter 聊天界面中 4. 发送命令,从 Flutter 应用发送到指定 agent 5. 批准 / 拒绝 / 执行,直接在应用中操作任意消息 6. 多语言界面 — 英文、繁体中文、简体中文 功能特性(v2.0) - 聊天式消息查看器,每个 agent 有专属颜色(Joanne = 紫色,ZCode = 金色,miniCrab = 橙色,Alan = 蓝色) - 筛选标签 — 查看来自特定 agent 的消息 - 收件人选择器 — 将命令发送给 all / joanne / zcode / minicrab - 消息详情 — 点击任意气泡查看完整文本 + 批准 / 拒绝 / 执行 / 回复按钮
展开完整文档(README 剩余 1 节)
A2A Flutter 演示

一个完整、经过生产测试的 A2A(Agent-to-Agent)协议 演示,包含消息路由、Ed25519 身份验证、Flutter 聊天界面(iOS + Android),以及 Python 服务器 + CLI 工具。

A2A Protocol
Flutter
Python
License

这是什么

一个自包含的演示,展示如何:

1. 搭建 A2A 服务器,并启用 Ed25519 JWS 签名验证
2. 路由消息,根据 metadata.to 在多个 agent 之间转发
3. 查看 agent 对话,在带筛选功能的 Flutter 聊天界面中
4. 发送命令,从 Flutter 应用发送到指定 agent
5. 批准 / 拒绝 / 执行,直接在应用中操作任意消息
6. 多语言界面 — 英文、繁体中文、简体中文

功能特性(v2.0)

- 聊天式消息查看器,每个 agent 有专属颜色(Joanne = 紫色,ZCode = 金色,miniCrab = 橙色,Alan = 蓝色)
- 筛选标签 — 查看来自特定 agent 的消息
- 收件人选择器 — 将命令发送给 all / joanne / zcode / minicrab
- 消息详情 — 点击任意气泡查看完整文本 + 批准 / 拒绝 / 执行 / 回复按钮
- P0 优先级高亮 — 紧急消息显示红色边框
- 每 10 秒自动刷新
- 局域网 + Tailscale 连接模式,设置可持久保存
- 3 种语言 — 在设置中即时切换

截图

A2A Chat

快速开始

1. 启动 A2A 服务器

pip install cryptography
python3 server/a2a_server_v2.py --port 8003 --relay-dir ./relay

2. 运行 Flutter 应用

flutter pub get
flutter run

首次启动 → 设置界面 → 选择语言 + 连接模式 + 服务器 URL → 保存并连接。

3. 使用应用

1. 消息会自动以聊天气泡形式加载
2. 使用顶部的标签按 agent 筛选
3. 点击气泡 → 查看完整消息 → 批准 / 拒绝 / 执行 / 回复
4. 通过底部栏发送命令 — 先选择收件人,然后输入

服务器 API

| 端点 | 方法 | 描述 |
| /health | GET | 服务器健康状态 + 任务数量 |
| /.well-known/jwks.json | GET | 服务器的 Ed25519 公钥 |
| /messages | GET | 所有 3-agent-comm 消息(供 Flutter 应用使用) |
| /send | POST | 发送消息(供 Flutter 应用使用,无需 JWS) |
| /tasks | GET | 内存中的任务列表 |
| /rpc | POST | JSON-RPC 2.0(带 JWS 认证的 SendMessage) |
| /inbox/ | GET | 发送给某个 agent 的消息 |

Agent 提醒通道

Agent 需要一种方式来互相提醒(“嘿,检查一下 A2A 频道”)。当前通道:

| 通道 | 方向 | 方式 | 状态 |
| Telegram | Alan → agents | Alan 在 TG 机器人聊天中輸入 | ✅ 可用 |
| Lark | Alan → agents | Alan 在 Lark 机器人聊天中輸入 | ✅ 可用 |
| A2A + TG | Agent → ZCode | 寫入 3-agent-comm → cron TG 提醒 Alan → Alan 開啟 ZCode 工作階段 | ✅ 可用 |
| miniCrab computer-use | Agent → ZCode | miniCrab 驅動網頁版 TG 發送提醒 | ✅ 備援(較慢,5-15 秒) |
| Discord | Agent ↔ Agent | 機器人對機器人私訊 | 🔜 待 ZCode 支援 Discord |

為什麼沒有 Lark 機器人對機器人? Lark 的 IM API 不支援機器人對機器人直接傳訊(230013 — 機器人無法被加入另一個機器人的可用範圍)。群組中的機器人對機器人也被封鎖(機器人無法接收其他機器人的訊息)。Lark 機器人頻道僅限 Alan 使用(與 Telegram 相同)。Agent 對 ZCode 的提醒目前透過 A2A 頻道 + TG 提醒 Alan。一旦 ZCode 支援,Discord 或許能實現真正的機器人對機器人私訊。

從原始碼建置

git clone https://github.com/alanpaul1969/a2a-flutter-demo.git
cd a2a-flutter-demo
flutter pub get

Android
flutter build apk --debug

iOS(需要 macOS + Xcode + CocoaPods) flutter build ios --debug --no-codesign

專案結構

lib/
├── l10n/
│ └── strings.dart # i18n 字串(zh-TW / zh-CN / en) ├── screens/ │ ├── chat_screen.dart # 聊天 UI + 傳送列 + 訊息詳情 + 操作 │ └── settings_screen.dart # 語言 + 連線設定 ├── services/ │ └── a2a_client.dart # A2A HTTP 用戶端(REST + RPC) └── main.dart # 應用程式進入點 + 首次啟動閘門

關鍵經驗

請參閱 docs/lessons-learned.md 了解 10 個真實世界的部署經驗。

授權條款

MIT — 請參閱 LICENSE

A2A(Agent-to-Agent)協議 的完整實戰 Demo,包含訊息路由、Ed25519 簽章驗證、Flutter 聊天室 UI(iOS + Android),以及 Python 伺服器和 CLI 工具。

這是什麼

一個自包含的 Demo,展示如何:

1. 架設 A2A 伺服器,具備 Ed25519 JWS 簽章驗證
2. 路由訊息 — 根據 metadata.to 在多個 Agent 之間傳遞
3. 用 Flutter App 觀看 Agent 間的對話(聊天室風格)
4. 從 App 發送指令 給特定 Agent
5. 同意 / 否決 / 去做 — 直接在 App 上審核每則訊息
6. 多國語言 — 繁體中文、簡體中文、英文

功能特色(v2.0)

- 聊天室訊息檢視 — 每個 Agent 有專屬顏色(Joanne 紫色、ZCode 金色、miniCrab 橘色、Alan 藍色)
- 篩選標籤 — 可只看某個 Agent 的訊息
- 收件者選擇器 — 發送指令時選擇 all / joanne / zcode / minicrab
- 訊息詳情 — 點氣泡看全文,有「同意 / 否決 / 去做 / 回覆」按鈕
- P0 優先級標示 — 緊急訊息紅色邊框
- 自動更新 — 每 10 秒重新整理
- LAN + Tailscale 雙連線模式,設定永久儲存
- 3 種語言 — 在設定中即時切換

快速開始

1. 啟動 A2A 伺服器

pip install cryptography
python3 server/a2a_server_v2.py --port 8003 --relay-dir ./relay

2. 執行 Flutter App

flutter pub get
flutter run

第一次開啟 → 設定畫面 → 選擇語言 + 連線模式 + 伺服器網址 → 儲存並連線。

3. 使用方式

1. 訊息自動載入為聊天氣泡
2. 篩選 — 用頂部的標籤只看某個 Agent
3. 點氣泡 → 看完整訊息 → 同意 / 否決 / 去做 / 回覆
4. 發送指令 — 先選收件者,再輸入訊息

從原始碼建置

git clone https://github.com/alanpaul1969/a2a-flutter-demo.git
cd a2a-flutter-demo
flutter pub get
flutter build apk --debug # Android
flutter build ios --debug # iOS(需要 macOS + Xcode)

Agent Nudge 通道

Agent 之间需要互相 nudge(“嘿,看一下 A2A channel”)。目前通道:

| 通道 | 方向 | 怎么 nudge | 状态 |
| Telegram | Alan → agents | Alan 在 TG bot 聊天室打字 | ✅ 运作中 |
| Lark | Alan → agents | Alan 在 Lark bot 聊天室打字 | ✅ 运作中 |
| A2A + TG | Agent → ZCode | 写到 3-agent-comm → cron TG nudge Alan → Alan 开 ZCode session | ✅ 运作中 |
| miniCrab computer-use | Agent → ZCode | miniCrab 用 web TG 发 nudge | ✅ 备用(慢, 5-15s)|
| Discord | Agent ↔ Agent | Bot-to-bot DM | 🔜 等 ZCode 支持 Discord |

为什么 Lark 不能 bot-to-bot? Lark IM API 不支持 bot 直接私聊另一个 bot(230013 — bot 不能加进另一个 bot 的可用范围)。群组里 bot 也收不到其他 bot 的消息。Lark bot 通道只能 Alan 用(跟 TG 一样)。Agent nudge ZCode 目前走 A2A channel + TG nudge Alan。等 ZCode 支持 Discord 后,Discord bot-to-bot DM 可能解锁真正的 agent 对话。

授权

MIT — 详见 LICENSE

A2A (Agent-to-Agent) 协议 的完整实战 Demo,包含消息路由、Ed25519 签名验证、Flutter 聊天室 UI(iOS + Android),以及 Python 服务器和 CLI 工具。

这是什么

一个自包含的 Demo,展示如何:

1. 搭建 A2A 服务器,具备 Ed25519 JWS 签名验证
2. 路由消息 — 根据 metadata.to 在多个 Agent 之间传递
3. 用 Flutter App 查看 Agent 间的对话(聊天室风格)
4. 从 App 发送指令 给特定 Agent
5. 同意 / 否决 / 去做 — 直接在 App 上审核每条消息
6. 多国语言 — 繁体中文、简体中文、英文

功能特色(v2.0)

- 聊天室消息查看 — 每个 Agent 有专属颜色(Joanne 紫色、ZCode 金色、miniCrab 橙色、Alan 蓝色)
- 筛选标签 — 可只看某个 Agent 的消息
- 收件人选择器 — 发送指令时选择 all / joanne / zcode / minicrab
- 消息详情 — 点气泡看全文,有「同意 / 否决 / 去做 / 回复」按钮
- P0 优先级标识 — 紧急消息红色边框
- 自动刷新 — 每 10 秒更新
- LAN + Tailscale 双连接模式,设置永久保存
- 3 种语言 — 在设置中即时切换

快速开始

1. 启动 A2A 服务器

pip install cryptography
python3 server/a2a_server_v2.py --port 8003 --relay-dir ./relay

2. 运行 Flutter App

flutter pub get
flutter run

首次打开 → 设置画面 → 选择语言 + 连接模式 + 服务器地址 → 保存并连接。

3. 使用方式

1. 消息自动加载为聊天气泡
2. 筛选 — 用顶部的标签只看某个 Agent
3. 点气泡 → 看完整消息 → 同意 / 否决 / 去做 / 回复
4. 发送指令 — 先选收件人,再输入消息

从源码构建

git clone https://github.com/alanpaul1969/a2a-flutter-demo.git
cd a2a-flutter-demo
flutter pub get
flutter build apk --debug # Android
flutter build ios --debug # iOS(需要 macOS + Xcode)

授权

MIT — 详见 LICENSE
预览分享卡片长什么样 ↓alanpaul1969/a2a-flutter-demo
分享 · DeepSeek Harness Hub
alanpaul1969/a2a-flutter-demo

用 Flutter 聊天界面查看并审批多智能体消息

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部