AI Copilot for Push Chain — 查余额、发转账、部署合约,对话即操作。
Deploy once, chat everywhere. 签名永远在你钱包里。
| 功能 | 说明 | |
|---|---|---|
| 💬 | AI 对话(流式) | SSE 打字机输出 + Markdown 渲染(表格/代码块/链接) |
| 🔍 | 链上查询 | 任意地址余额 / 交易数 / 区块高度 / 交易回执——数字 100% 来自 RPC 工具调用,提示词层禁止编造 |
| 📤 | AI 准备转账 | AI 只准备参数,你在 MetaMask 里亲自签名——AI 架构上碰不到私钥 |
| 🚀 | 一键合约部署 | 预编译 Storage 合约(solc 0.8),聊天里说一句即部署,回执自动解析合约地址 |
| 🧾 | 活动记录 | 本地持久化 + 实时回执校验 + Push Scan 直达链接 |
| 🏠 | 仪表盘 | 余额/nonce/区块实时卡片 + 新手 4 步引导 + 快捷操作 |
| 🔌 | MCP Server | 零依赖 stdio 实现,Claude Desktop / Cursor 直连 Push Chain 查询 |
- AI 不碰钱 — 转账与部署都是 prepare → 用户钱包签名 → 上链,服务器无私钥
- 不编数字 — 所有链上数据经工具调用获取;工具返回错误时如实转告(已实测:喂格式错误的地址会被 AI 指出)
- 零成本运行 — 本地跑,免费 AI Key(Qwen/GLM 兼容接口),测试网无 gas 成本
# 1. 安装依赖(Node 18+)
npm install
# 2. 配置免费 AI Key(二选一)
cp .env.example .env.local
# 智谱 GLM(glm-4-flash 免费): https://open.bigmodel.cn
# 阿里 Qwen(百炼免费额度): https://bailian.console.aliyun.com
# 3. 启动
npm run dev
# 打开 http://localhost:3000
# 4. 领测试币(每 6 小时 2 PC,GitHub 连接加量)
# https://faucet.push.org对话示例:
- 「我的余额是多少?顺便看看区块高度」
- 「准备一笔转账:给 0x… 转 0.01 PC」→ 钱包签名
- 「帮我部署一个 Storage 合约,初始值 42」→ 钱包签名 → 合约地址自动解析
- 「这笔交易上链了吗:0x…」
npm run mcp # 或 PUSH_RPC_URL=... node mcp/server.mjsClaude Desktop 配置示例(claude_desktop_config.json):
{
"mcpServers": {
"pushpilot": {
"command": "node",
"args": ["C:/path/to/push-ai-agent/mcp/server.mjs"]
}
}
}暴露工具:get_wallet_overview / get_transaction_status / get_latest_block
┌─────────────────────────────────────────────────────┐
│ Next.js 15 App Shell │
│ ├─ 仪表盘(实时链上卡片 / 新手引导 / 快捷操作) │
│ ├─ AI 对话(SSE 流式 + Markdown + 工具状态) │
│ └─ 活动记录(localStorage + 回执校验) │
├─────────────────────────────────────────────────────┤
│ /api/chat 系统提示词 + 工具调用循环(SSE 事件流) │
│ tools: get_wallet_overview / prepare_transfer │
│ get_transaction_status / prepare_contract_ │
│ deployment │
├─────────────────────────────────────────────────────┤
│ viem public client ──► evm.donut.rpc.push.org (42101)│
│ window.ethereum (EIP-1193) ──► MetaMask 签名/发送 │
│ solc 预编译 ──► Storage 合约字节码 │
└─────────────────────────────────────────────────────┘
独立进程: mcp/server.mjs(零依赖 MCP stdio)
push-ai-agent/
├── app/
│ ├── api/chat/route.ts # SSE 流式 AI 路由 + 工具循环
│ ├── page.tsx # App Shell(视图切换 + Toast)
│ ├── layout.tsx / globals.css
├── components/
│ ├── Sidebar.tsx # 导航 + 钱包卡
│ ├── Dashboard.tsx # 统计卡片 + 新手引导 + 快捷操作
│ ├── ChatView.tsx # 对话 + 转账卡 + 部署卡
│ └── ActivityView.tsx # 交易记录 + 状态刷新
├── lib/
│ ├── chain.ts # Donut 测试网配置
│ ├── ai.ts # OpenAI 兼容流式客户端
│ ├── tools.ts # AI 工具定义与执行
│ ├── wallet.ts # useWallet Hook(EIP-1193)
│ ├── activity.ts # 本地活动日志
│ └── contracts.ts # 合约产物加载
├── contracts/Storage.sol # 演示合约源码
├── scripts/compile-contracts.mjs
├── mcp/server.mjs # MCP Server(零依赖)
├── PROMOTION.md # 宣传手册(推文模板/节奏表)
└── docs/screenshot.png
- v0.1 — 钱包连接 + AI 查询 + 转账(用户签名)
- v0.2 — SSE 流式输出 + Markdown 渲染 + 防幻觉加固
- v0.3 — 活动记录(本地日志 + 回执校验)
- v0.5 — MCP Server(stdio,零依赖)
- v0.6 — 合约部署助手(预编译 Storage + AI 准备 + 钱包签名)
- v1.0 — 产品化:App Shell / 仪表盘 / 新手引导 / Toast
- v1.1 —
@pushchain/coreUniversal Signer(浏览器 EIP-1193 →PushChain.utils.signer.construct(),跨链 universal 交易) - v1.2 — 交易历史(Push Scan 索引 API)
- v1.3 — 合约交互面板(store/retrieve 直接调用)
Q:AI 会动我的资产吗?
A:架构上不可能。AI 只能返回「待确认参数」,eth_sendTransaction 必须由你的钱包弹出签名,服务器不接触私钥。
Q:数据会造假吗? A:余额/区块/交易状态全部来自官方 RPC 工具调用;提示词明令「凭记忆回答=编造」。已实测对照:AI 报 21,456,036,RPC 实际 21,456,039(查询时差 3 秒)。
Q:非程序员能用吗? A:装 Node → npm install → 填 Key → npm run dev。遇到问题提 Issue。
- Push Chain 官网:https://push.org · 文档:https://push.org/docs/chain/
- 测试网浏览器:https://donut.push.network · 水龙头:https://faucet.push.org
- 激励门户:https://portal.push.org/rewards
宣传与内容计划见 PROMOTION.md。
MIT
Community project — 与 Push Protocol 团队无官方隶属关系。Built by a developer, for developers. 🍩
