admin 发表于 2026-3-1 08:01:30

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]
查看完整版本: AgentGate:基于抵押的AI代理行动微服务