内容
# 意志围栏
意志围栏是用于自主AI代理的支付防火墙。在代理支付不熟悉的x402资源之前,它可以转发刚刚观察到的精确`PAYMENT-REQUIRED`挑战。意志围栏验证基础USDC报价是否符合代理的上限和收款人允许列表,通过SHA-256绑定挑战,并返回签名评估。同时,它还支持声明的商家/目的、成本、数据保留和审批策略预检。
- `safe_to_proceed`
- `needs_review`
- `denied`
生产环境:<https://agentpass-protocol.rmalka06.chatgpt.site>
x402扫描:<https://www.x402scan.com/server/c495c104-dba4-4764-86b1-96b8b0cda48b>
[](https://glama.ai/mcp/servers/razel369/intentfence)
## 协议接口
| 接口 | 端点 |
| --- | --- |
| 免费REST预览 | `POST /api/preflight` |
| 付费x402决策 | `POST /api/preflight/verified` |
| 付费调用者观察的x402报价评估 | `POST /api/x402-assessments` |
| 收据验证 | `POST /api/receipts/verify` |
| 公共ES256密钥 | `GET /.well-known/jwks.json` |
| MCP可流式HTTP | `/api/mcp` (`intentfence_verified_preflight` 是x402付费) |
| A2A代理卡 | `GET /.well-known/agent-card.json` |
| x402服务清单 | `GET /.well-known/x402` |
| 公共聚合指标 | `GET /api/metrics` |
| OpenAPI | `GET /openapi.json` |
每个付费端点在Base上通过x402花费0.005 USDC。成功的调用返回促进者的`PAYMENT-RESPONSE`结算头和IntentFence ES256紧凑型JWS收据。
报价评估是推荐的检查,检查不熟悉的x402商家返回其未付挑战后,代理签署该商家的付款之前。代理提供`subject`、`target_url`、可选`method`(`GET`、`HEAD`或`POST`)、base64 `payment_required`头(最大16 KiB)和具有`max_price_usdc`和可选`allowed_payees`列表的策略。意志围栏验证x402 v2、精确方案、Base主网、规范Base USDC、价格、收款人和精确资源绑定。它需要规范的USDC EIP-712域,并发送Permit2、未知传输元数据和活动扩展进行审查。`safe_to_proceed`结果需要显式匹配的`allowed_payees`条目;省略列表产生`needs_review`。意志围栏从不获取或支付目标。每个广告的付款选项必须满足每个自动检查;混合安全和不安全选项集被拒绝。
对于需要受控生产工作流的团队,创始客户表单是为一个有后果的代理操作进行手动集成的申请。在与客户同意生产策略和成功标准之前,不会收取订阅费。
## 立即安装
托管的MCP端点无需API密钥即可使用:
```text
https://agentpass-protocol.rmalka06.chatgpt.site/api/mcp
```
Gemini CLI可以直接安装仓库,无需等待npm包或画廊爬取:
```bash
gemini extensions install https://github.com/razel369/intentfence
```
扩展程序启动了一个无依赖的本地MCP桥,并公开了免费预览以及x402付费的验证预检和报价评估工具。
## 调用者观察的x402报价评估
第一次调用返回IntentFence费用的标准`PAYMENT-REQUIRED`挑战:
```bash
curl -i -X POST https://agentpass-protocol.rmalka06.chatgpt.site/api/x402-assessments \
-H "Content-Type: application/json" \
-d '{"subject":"agent:buyer-07","target_url":"https://merchant.example/api/paid-resource","method":"GET","payment_required":"BASE64_PAYMENT_REQUIRED_HEADER","policy":{"max_price_usdc":"0.10","allowed_payees":["0x1111111111111111111111111111111111111111"]}}'
```
重试相同的请求,并附上有效的x402 v2 `PAYMENT-SIGNATURE`。成功的响应包含验证的调用者观察到的挑战字段、通过/审查/拒绝检查、与完整目标URL和精确付款要求的SHA-256绑定,以及ES256签名的评估收据。评估使用担保`caller-observed-x402-quote-assessment`和验证层级`x402-quote-assessment+x402-settled`;x402结算涵盖0.005 USDC IntentFence评估费用,不包括目标付款。
## 重要信任边界
声明输入收据仅证明IntentFence评估了调用者提供的策略数据。报价评估收据绑定了确切的调用者观察到的`PAYMENT-REQUIRED`挑战;它们不能证明IntentFence联系了商家,或证明商家身份、交付或下游执行。收据签名密钥与USDC收款人钱包分开。IntentFence永远不需要支付者的种子短语或钱包私钥。
## 本地开发
```bash
npm install
npm run dev
```
对于启动本地`stdio`服务器的MCP客户端,请使用`npm run mcp:stdio`。Glama和其他基于容器的主机可以构建根`Dockerfile`;它启动相同的IntentFence策略引擎,并通过标准输入/输出响应MCP初始化、`tools/list`和`tools/call`请求。
```bash
docker build -t intentfence-mcp .
docker run --rm -i intentfence-mcp
```
生产签名密钥存储在Sites中作为秘密`INTENTFENCE_SIGNING_PRIVATE_JWK`。使用以下命令生成单独的开发密钥:
```bash
node scripts/generate-signing-key.mjs /secure/path/intentfence-private-jwk.json
```
永远不要提交生成的私有JWK。仅在`/.well-known/jwks.json`中发布其公共坐标。
## 验证
```bash
npm run test
npm run lint
npx tsc --noEmit
npm run sdk:check
npm run smoke:mcp:docker
npm run smoke:mcp:stdio
npm run smoke:protocol -- http://localhost:3000
```
仅对于应该执行签名收据验证的本地烟雾测试,设置`INTENTFENCE_TEST_PRIVATE_JWK_PATH`。
## 分发
TypeScript和Python SDK位于`sdk/`中。根`server.json`已准备好用于官方MCP注册表,位于`io.github.razel369/intentfence`下;公共MCP端点使用可流式HTTP,无需API密钥。
`/.well-known/x402`服务清单和Bazaar元数据使两个付费端点可被x402索引和自主工具路由器爬取。生产资源持续检查,原始验证预检路由在x402scan上注册。
## 商业试点
进入生产的最快途径是一种受控操作:购买、转移、预订、部署、删除或另一个有后果的工具调用。在生产站点上提交试点表格,附上实际操作及其策略边界。
参见 [docs/PROTOCOL.md](docs/PROTOCOL.md) 和 [docs/SECURITY.md](docs/SECURITY.md),了解协议和安全模型。