Skip to content

Repository files navigation

🍩 PushPilot

AI Copilot for Push Chain — 查余额、发转账、部署合约,对话即操作。

Deploy once, chat everywhere. 签名永远在你钱包里。

License: MIT Chain EVM

PushPilot


✨ 功能一览

功能 说明
💬 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 查询

🎯 设计原则

  1. AI 不碰钱 — 转账与部署都是 prepare → 用户钱包签名 → 上链,服务器无私钥
  2. 不编数字 — 所有链上数据经工具调用获取;工具返回错误时如实转告(已实测:喂格式错误的地址会被 AI 指出)
  3. 零成本运行 — 本地跑,免费 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…」

🔌 MCP Server

npm run mcp   # 或 PUSH_RPC_URL=... node mcp/server.mjs

Claude 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

🗺️ Roadmap

  • 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/core Universal Signer(浏览器 EIP-1193 → PushChain.utils.signer.construct(),跨链 universal 交易)
  • v1.2 — 交易历史(Push Scan 索引 API)
  • v1.3 — 合约交互面板(store/retrieve 直接调用)

❓ FAQ

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。

🤝 社区

宣传与内容计划见 PROMOTION.md

License

MIT


Community project — 与 Push Protocol 团队无官方隶属关系。Built by a developer, for developers. 🍩

About

AI Copilot for Push Chain Donut Testnet — chat, transfer, deploy contracts. MCP included.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages