logo
0
0
WeChat Login

A2A Forge

A2A 协议调试工作台 — 桌面版 + Web 版

License: MIT Tauri React cnb.cool

English | 中文


A2A Forge Light Mode

三栏布局:Agent 侧边栏 · Skill 浏览器 · 测试面板(实时结果)


什么是 A2A Forge?

A2A Forge 是一个面向开发者的 A2A (Agent-to-Agent) 协议调试工具。可以理解为 A2A 版的 Postman — 通过 URL 添加任意 Agent,浏览其 Skills,直接发送测试请求,无需写代码。

支持两种运行模式:

模式说明适用场景
桌面版 (Tauri)Rust 后端 + SQLite 存储 + OS 密钥链日常开发调试
Web 版 (浏览器)localStorage 存储 + CORS 代理云端开发、演示分享

功能特性

  • Agent 发现 — 自动获取 /.well-known/agent.json Agent Card
  • Skill 测试 — 支持文本、JSON、文件上传等多种输入方式
  • 实时流式 — SSE 流式响应,异步任务自动轮询
  • 认证管理 — 每个 Agent 独立的默认 Headers,桌面版支持 OS 密钥链存储
  • 智能预览 — 自动检测并内联渲染图片、视频、音频、SVG
  • Curl 导出 — 一键复制等效 curl 命令
  • 执行历史 — 可搜索的历史记录 + 保存测试用例
  • 工作空间 — 多工作空间隔离管理 Agent
  • 测试套件 — 自动化测试序列 + 7 种断言类型 + HTML/JSON 报告
  • 代理抓包 — 本地 A2A 注册代理,请求拦截/录制/回放
  • 请求链 — 将一个 Skill 的输出通过 JSONPath 传递给下一个
  • 主题切换 — 跟随系统的深色/浅色模式
  • 键盘优先Ctrl+N 添加 Agent · Ctrl+Enter 运行 · Ctrl+Shift+C 复制 curl
  • CORS 代理 — Web 模式内置代理,第三方 Agent 无需配置 CORS 即可使用

快速开始

方式一:云端开发(推荐体验)

无需安装任何依赖,直接在浏览器中使用:

  1. 打开 cnb.cool/orange-opensource/a2a-forge
  2. 点击右上角「云原生开发」按钮,选择 WebIDE / VS Code / Cursor
  3. 等待环境初始化完成(自动安装依赖)
  4. 在终端中运行:
npm run mock-agent & # 启动 Mock Agent(端口 9700) npm run dev:web # 启动 Web 版(端口 5173)
  1. 打开预览链接,添加 Mock Agent 地址即可开始测试

方式二:Web 版(本地)

git clone https://cnb.cool/orange-opensource/a2a-forge.git cd a2a-forge npm install # 终端 1:启动 Mock Agent npm run mock-agent # 终端 2:启动 Web 版 npm run dev:web

浏览器打开 http://localhost:5173,添加 http://localhost:9700 作为 Agent。

方式三:桌面版(完整功能)

需要 Rust + Node.js v18+ + Tauri 依赖

git clone https://cnb.cool/orange-opensource/a2a-forge.git cd a2a-forge npm install npm run tauri dev # 开发模式 npm run tauri build # 构建 .dmg / .msi

Mock Agent

内置一个零依赖的 Node.js Mock A2A Agent,用于测试和演示:

Skill类型说明
Echo同步原样返回输入文本
Reverse同步返回倒序文本
Image Generate异步 (3s)模拟文生图,返回 SVG 架构图

Mock Agent 同时提供 CORS 代理服务(/proxy?url=<target>),Web 模式下第三方 Agent 的请求会自动通过代理转发。

npm run mock-agent # 默认端口 9700 PORT=8080 npm run mock-agent # 自定义端口

使用指南

1. 添加 Agent

点击 + Add agent card 或按 Ctrl/Cmd+N,输入 Agent 的 URL。A2A Forge 会自动获取 Agent Card 并展示所有可用 Skills。

2. 配置认证

点击 Agent 名称旁的齿轮图标,设置默认 Headers(如 X-API-KeyAuthorization)。桌面版使用 OS 密钥链安全存储,Web 版使用 localStorage。

3. 测试 Skill

选择 Skill → 输入内容 → 点击 Run(或 Ctrl/Cmd+Enter)。响应查看器支持智能媒体检测 — 图片内联显示、视频可播放、JSON 语法高亮。

4. 迭代调试

每次执行自动保存到历史记录。常用请求可保存为命名测试用例,一键重跑。支持复制 curl 命令分享给团队。

技术架构

┌─────────────────────────────────────────────────────────┐ │ Frontend (React + Zustand) │ │ AppShell · TestPanel · ResponseViewer · Stores │ │ bindings.ts (tauri-specta auto-generated) │ ├──────────────────────┬──────────────────────────────────┤ │ Web Mode │ Tauri Mode │ │ web-polyfill.ts │ Rust Backend │ │ web-backend.ts │ commands/ (77 cmds) │ │ localStorage │ SQLite WAL (17 tables) │ │ fetch + CORS proxy │ a2a/client.rs (HTTP + polling) │ └──────────────────────┴──────────────────────────────────┘ │ A2A Protocol (JSON-RPC 2.0) │ ┌────────────┼────────────┐ │ │ │ Mock Agent AIGC Service Any A2A Agent
技术
运行时Tauri 2.x (Rust) / 纯浏览器
前端React 18 + TypeScript
样式CSS Variables + Tailwind CSS 4
状态管理Zustand 5
数据库SQLite (桌面) / localStorage (Web)
类型桥接tauri-specta
编辑器Monaco Editor
云开发cnb.cool

开发命令

npm run tauri dev # Tauri 桌面开发模式 npm run dev:web # Web 版开发模式(端口 5173) npm run mock-agent # 启动 Mock A2A Agent(端口 9700) npm run build:web # 构建 Web 版 npm run tauri build # 构建桌面版 npx tsc --noEmit # TypeScript 类型检查 npx vitest run # 运行测试 cd src-tauri && cargo check # Rust 编译检查

cnb.cool 云原生开发

项目包含 .cnb.yml 配置文件,支持:

  • 云原生开发 — 一键创建 WebIDE / VS Code / Cursor 云开发环境
  • CI 流水线 — push 到 main 自动运行 typecheck → test → build
  • PR 检查 — Pull Request 自动运行 typecheck → test

版本路线

版本状态主要功能
v0.1Agent 管理、Skill 测试、流式响应、历史记录、工作空间
v0.2测试套件、7 种断言、CI 集成、HTML/JSON 报告
v0.3本地注册代理、请求拦截、流量录制回放
v0.4Agent 目录、测试套件导入导出、健康检查、收藏夹
v0.5工作空间导入导出、环境变量、请求链、响应对比
v0.6Web 模式、Mock Agent、CORS 代理、cnb.cool 云开发

贡献

欢迎提交 Issue 和 Pull Request。

许可证

MIT — Copyright 2026 Orange Dong

About

No description, topics, or website provided.
Language
TypeScript64.3%
Rust27.1%
HTML5.4%
JavaScript1.8%
Others1.4%