代理支付中心
AgentPay Hub是一个开源的MCP服务器,它使AI代理能够通过一个定义良好的接口创建发票、执行x402支付意图并协调Solana devnet支付。该项目的结构是一个包含后端服务器、TypeScript SDK、浏览器仪表板和共享类型定义的单代码仓库。
当前状态
- \[x\] 已起草架构规范(
docs/architecture.md). - \[x\] 已起草环境变量目录(
docs/environment.md). - \[x\] 存储库脚手架(
packages/用于服务器、sdk、仪表板、类型)。 - \[x\] 核心服务器基础(配置加载器、身份验证框架、速率限制、健康端点、持久性模式)。
- \[x\] 发票、付款、余额和webhook API脚手架,带有分类帐+等功性+调度管道。
- \[x\] Webhook调度器、Solana提交/确认生命周期和分类账预测(初始通过)。
- \[x\] 普罗米修斯
/metrics导出默认进程统计数据、域计数器和钱包签名遥测。 - \[x\] Webhook死信队列显示列表+重播端点。
- \[x\] 可选的钱包签名验证,带有随机数重放保护。
- \[\]SDK人体工程学、仪表板UI流程和Solana故障转移强化。
- \[\]测试、CI、文档套件和演示资产。
入门指南
地方发展
- 安装先决条件:Node.js 20、pnpm 8.15.4、Docker和Docker Compose。
- 引导工作区:
bash scripts/bootstrap-dev.sh脚本复制 .env.example 文件,通过Docker启动Postgres+Redis,应用Prisma迁移,并种子一个开发API密钥。生成的密钥(如果已创建)将回显到控制台。
- 在监视模式下启动软件包:
pnpm dev服务器绑定到 http://localhost:8080 默认情况下,仅模拟Solana行为。
- 仅启动仪表板(可选)以与发票、付款和webhooks交互:
pnpm --filter @agentpay/dashboard dev该应用程序运行于 http://localhost:5173 并使用本地存储的API密钥来调用服务器。
质量门
- 运行服务器测试套件:
pnpm --filter @agentpay/server test - 运行所有工作区测试/lints/类型检查:
pnpm test,pnpm lint,pnpm typecheck - CI(GitHub Actions)对每个推送和拉取请求执行相同的命令。
SDK使用(预览版)
import { AgentPayClient, verifyWebhookSignature } from '@agentpay/sdk';
const client = new AgentPayClient({
baseUrl: process.env.AGENTPAY_URL!,
apiKey: process.env.AGENTPAY_API_KEY!
});
const { invoice } = await client.createInvoice({
recipientWalletAddress: 'RecipientPubkey',
assetSymbol: 'USDC',
amount: '1.50',
memo: 'Sample invoice'
});
for await (const webhook of client.iterateWebhooks({ limit: 25 })) {
console.log('Registered webhook', webhook.id);
}
function handleWebhook(headers: Record, body: string) {
const valid = verifyWebhookSignature({
secret: process.env.AGENTPAY_WEBHOOK_SECRET!,
timestamp: headers['x-agentpay-timestamp'],
signature: headers['x-agentpay-signature'],
body
});
if (!valid) throw new Error('Invalid webhook signature');
}