加密同意收据服务

开源加密同意收据服务,提供可编程的护栏和AI代理的供应商验证,确保代理的行为符合协议和政策。

  • by jstibal
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 jstibal/openterms-mcp

使用说明

开放条款

开源加密同意收据+可编程护栏+人工智能代理的提供者验证。

您的代理证明其同意的内容。您的策略控制其允许执行的操作。API提供商可以验证这两种操作。

许可证测试

现场演示·快速入门·自助主机·MCP服务器·贡献·开放式收据规范

它的作用 Openterms位于您的AI代理和它所采取的行动之间。三层:

  1. 收据-在您的代理调用API之前,它会收到Ed25519签名的收据。规范JSON(RFC 8785),SHA-256哈希,真正的密码学。任何人都可以使用公钥验证它——不需要API密钥,也不需要对服务器的信任。

  2. 策略引擎——每日支出上限、行动类型白名单、升级阈值。策略引擎在签署收据之前进行评估。被拒绝的行为永远不会得到收据。

  3. 提供商验证-API提供商在提供请求之前注册其条款URL并验证代理同意。一个公开的GET呼叫。交易双方都相信证据。

快速启动 距离您的第一张收据还有60秒:

克隆https://github.com/jstibal/openterms.git cd开放条款 pip安装烧瓶pyjwt加密pyyaml bash-quickstart.sh 或者使用Docker:

克隆https://github.com/jstibal/openterms.git cd开放条款 docker构建

在另一个终端中:

bash-quickstart.sh 收据发放是免费的——无需钱包,无需存款,无需付款。

服务托管 运行您自己的Openterms实例:

选项1:直接

pip安装烧瓶pyjwt加密pyyaml python run.py

服务器位于http://localhost:5000

选项2:Docker

docker构建

选项3:将MCP服务器指向您的实例

导出OPENTERMS_API_URL=http://localhost:5000 python openterms_mcpserver.py 一切都在本地运行。SQLite数据库,无外部依赖。

托管服务 不想自己主持?使用openterms.com上的托管实例——同样的开源代码,为您管理。

MCP服务器 AI代理的10个工具:

工具它做什么 issue_receival在执行任何操作之前已签名的收据,带有提供者验证标头 verify_receipt验证收据加密完整性(公共) verify_receipt_by_hash通过规范哈希查找和验证(公共) check_balance工作区平衡 get_pricing按收货定价 list_receipts最近收到的收据 get_policy活动护栏--启动时调用 simulate_policy预检查:是否允许此操作? policy_decisions每次允许/拒绝/升级的审计跟踪 provider_activity API的收据统计信息(提供者身份验证) MCP配置 { “mcpServers”:{ “开放条款”:{ “command”:“python3”, “args”:[“openterms_mcp_server.py”], “env”:{ “OPENTERMS_API_URL”:“https://openterms.com", “OPENTERMS_API_KEY”:“OPENTERMS_your_KEY_here” } } } }

提供商验证的工作原理 代理Openterms API提供程序 | | | |--签发收据------->|| |<-收据+标题---|| ||--webhook通知-->| | | | |--API调用+头---|---------------------->| ||<-验证/{哈希}---------| ||--收据数据---------->| |<---------响应-----|---------------------------|

代理人出具收据→ 获取X-Openterms-Receipt标头 代理在API调用中包含头 提供程序调用GET/v1/收据/验证/{hash}--公共,无身份验证 有效的→ 服务。无效→ 拒绝。

API终点

核心 方法路径认证说明 POST/v1/收据无记名签发签名收据 POST/v1/收据/验证无验证收据 GET/v1/收据/验证/{hash}无按哈希验证 GET/v1/收据承载列表收据 GET/.nearned/jwks.json无公共签名密钥 策略引擎 方法路径认证说明 GET/v1/policy承载活动策略 PUT/v1/policy管理员创建/更新策略 POST/v1/policy/similable承载测试假设动作 GET/v1/政策/决策承载决策审计跟踪 提供商验证 方法路径认证说明 POST/v1/presives无注册为提供者 POST/v1/提供者/验证提供者验证域 GET/v1/provider/stats提供者接收统计信息 GET/v1/提供者/收据提供者最近的收据

测试

测试

120项测试通过(80个核心+40个提供商验证)

建筑 公开条款/ ├── app.py#Flask API(1135行) ├── db.py#SQLite数据库(15个表) ├── openterms_mcp_server.py#mcp服务器+CLI(10个工具) ├── core/ │ ├── canonical.py#RFC 8785规范化 │ └── 签名.py#Ed25519签名+JWKS ├── 服务/ │ ├── receipt_service.py#接收管道 │ ├── ledger_service.py#余额跟踪 │ └── policy_engine.py#规则评估 ├── 测试/ │ ├── test_core.py#80测试 │ └── test_mvp3.py#40测试 ├── Dockerfile ├── docker-compose.yml ├── quickstart.sh └── .env.example

路线图

阶段状态它做什么 MVP1✅ 已发货已签名收据——记录发生了什么 MVP2✅ Shipped Policy引擎——执行允许的操作 MVP3✅ 发货提供商验证——双方都信任证据

ORS规范🔄 正在进行的开放式收据规范——便携式格式

集成🔄 LangChain、CrewAI单行回调正在进行中

MVP4计划收货链、代理商认证

贡献

请参阅CONTRIBUTING.md。我们特别欢迎框架集成、语言SDK和对开放式收据规范的反馈。

许可证 Apache 2.0——请参阅许可证。

版权所有2026 Staticlabs股份有限公司。