开放条款
开源加密同意收据+可编程护栏+人工智能代理的提供者验证。
您的代理证明其同意的内容。您的策略控制其允许执行的操作。API提供商可以验证这两种操作。
许可证测试
现场演示·快速入门·自助主机·MCP服务器·贡献·开放式收据规范
它的作用 Openterms位于您的AI代理和它所采取的行动之间。三层:
- 收据-在您的代理调用API之前,它会收到Ed25519签名的收据。规范JSON(RFC 8785),SHA-256哈希,真正的密码学。任何人都可以使用公钥验证它——不需要API密钥,也不需要对服务器的信任。
- 策略引擎——每日支出上限、行动类型白名单、升级阈值。策略引擎在签署收据之前进行评估。被拒绝的行为永远不会得到收据。
- 提供商验证-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提供程序 | | | |--签发收据------->|| |\| | | | |--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股份有限公司。
