AgentGate:基于抵押的AI代理行动微服务
AgentGate:基于抵押的AI代理行动微服务作者:James Bentley
来源:Github.com
引用:https://github.com/selfradiance/agentgate
AgentGate是一款小巧的后端微服务,旨在实现抵押金控制的行为:一个身份锁定一笔抵押金,对这笔抵押金执行一项行动,之后根据结果将行动处理为退款、销毁或削减锁定资本。
反馈征集
如果您 starred 这个仓库(或者您对此感兴趣),我非常希望您能花两分钟提供反馈:
您想象中 AgentGate / MarketGate 的用例是什么?您最担心的是什么安全风险或失败模式?哪一个最小功能或示例会使您尝试使用它?
请在此处发布:讨论 → “反馈线程”(或者如果您愿意,可以发起一个新的讨论)。
MarketGate 演示(AgentGate + 模拟交易所)
这个仓库包含一个本地的“市场风格”演示,展示了如何对签名和抵押的代理行动进行控制,然后执行对市场API的操作。
运行环境
AgentGate API:http://127.0.0.1:3000
模拟交易所(虚假市场):http://localhost:8787
运行方法
终端1(模拟交易所):
运行以下命令安装依赖项:`npm install`
运行开发服务器:
`npm run dev`
运行测试套件:
`npm run test`
服务器默认监听 http://127.0.0.1:3000,并使用本地SQLite存储,路径为 data/ibp.sqlite 。
示例集成
启动 AgentGate:
`npm run dev`
在另一个终端中运行玩具客户端:
`npm run example:toy-agent`
请求签名
`POST /v1/actions/execute` 和 `POST /v1/actions/:id/resolve` 需要:
- `x-agentgate-timestamp`
- `x-agentgate-signature`
身份公钥必须是 base64 编码的 Ed25519 公钥。签名是 base64 编码的 Ed25519,基于以下内容:
SHA256(timestamp + JSON.stringify(body))
时间戳超过60秒的请求将被拒绝。
`POST /v1/actions/execute` 对任何身份在60秒内的执行次数有限制,最多10次。
AgentGate 使用 SQLite 跟踪执行请求,使用按分钟分桶的请求记录。
对最近行动量的抵押金规则是递增的:
- 在过去10分钟内超过10次行动需要 amountCents >= 2000。
- 在过去10分钟内超过20次行动需要 amountCents >= 5000。
API 摘要
- `POST /v1/identities`
- `POST /v1/bonds/lock`
- `POST /v1/actions/execute`
- `POST /v1/actions/:id/resolve`
- `GET /v1/stats`
cURL 示例
创建一个身份:
bash
curl -s http://127.0.0.1:3000/v1/identities \
-H 'Content-Type: application/json' \
-d '{"publicKey":"BASE64_ED25519_PUBLIC_KEY
页:
[1]