关于 remit
Remit 是一种面向 AI 编写的 Agent 工作流的静态检查语言及运行时,可检查调用工具和模型的程序。它在运行前报告权限、调用上限、最坏支出和不安全数据流,并在运行时执行规则、记录可回放轨迹。
主要功能
- 01静态能力与策略检查
- 02按能力设定调用上限和支出估算
- 03检测敏感数据流并要求审批
- 04运行时执行规则并记录可回放轨迹
- 05通过 MCP 工具检查、格式化和测试
适用场景
- 01运行前审查 Agent 工作流
- 02检查编辑是否扩大程序权限
- 03通过精确调用审批运行工作流
MCP 相关
Remit 为 Agent 提供本地 stdio 和托管 HTTP MCP 服务。工具涵盖指南、检查、格式化、权限差异、示例及离线 fixture 运行。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://77-68-52-20.sslip.io/mcpclaude mcp add --transport http mrpacstar2-oss-remit https://77-68-52-20.sslip.io/mcp{"mcpServers":{"mrpacstar2-oss-remit":{"type":"http","url":"https://77-68-52-20.sslip.io/mcp"}}}在 Cursor 中打开{"servers":{"mrpacstar2-oss-remit":{"type":"http","url":"https://77-68-52-20.sslip.io/mcp"}}}在 VS Code 中打开{"mcpServers":{"mrpacstar2-oss-remit":{"type":"http","url":"https://77-68-52-20.sslip.io/mcp"}}}{"mcpServers":{"mrpacstar2-oss-remit":{"serverUrl":"https://77-68-52-20.sslip.io/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Remit
在 AI 编写的程序运行前,了解它能做什么。
Remit 是一种小型、经过静态检查的语言,用于 Agent 工作流,也就是调用工具和模型的程序。 它的设计目标是由 AI Agent 编写和编辑。程序运行前,检查器会报告:
- 它可以使用哪些能力,这些能力来自由宿主控制的列表;
- 每种能力最多可以调用多少次,以及其最坏情况下的开销;
- 不可信数据(文档、网页、模型输出)或私有数据是否会流入敏感参数,例如付款详情或电子邮件收件人。此类数据流会被直接拒绝,或交由人工批准,且批准绑定到确切的参数。
随后,运行时代理会执行相同的规则,并记录可重放的跟踪记录。
在浏览器中试用: https://77-68-52-20.sslip.io/try.html(选择一项 AI 可能会做的编辑,看看它会被允许还是阻止,以及原因)。供 AI Agent 使用: 连接 MCP 服务 https://77-68-52-20.sslip.io/mcp。
payments.schedule(vendor_id: vendor.id, iban: inv.iban_on_invoice, amount: inv.amount, ...)
error[E0301]: data tagged untrusted flows into 'payments.schedule' parameter 'iban', which denies it
note: 'inv.iban_on_invoice' is untrusted because it derives from inbox.read (line 20)
供 AI Agent 使用
-
MCP 服务,本地:
remit mcp(stdio)。 -
MCP 服务,托管:
remit mcp --http,可选配 API 密钥和用量计量。 -
工具:
工具 功能 remit_guide使用指南或完整规范 remit_check错误信息和权限清单 remit_format规范格式化 remit_authority_diff编辑是否扩大了权限? remit_examples完整的示例程序 remit_run_fixtures离线测试运行 -
快速指南: docs/AI_GUIDE.md。
-
完整规范: docs/LANGUAGE_SPEC.md。
-
llms.txt: site/llms.txt,以及 site/llms-full.txt。
Claude Code 配置示例:
{ "mcpServers": { "remit": { "command": "remit", "args": ["mcp"] } } }
快速开始
python3 -m venv .venv && .venv/bin/pip install -e ".[mcp]" pytest pydantic
.venv/bin/python -m pytest -q tests baselines
cd examples/invoices
../../.venv/bin/remit check invoices.rmt # manifest and policy check
../../.venv/bin/remit run invoices.rmt # offline fixtures; stops for approval
../../.venv/bin/remit approve <digest> && ../../.venv/bin/remit resume <run-id> # approve that exact call, continue
证据
docs/BENCHMARKS.md 将 Remit 与使用相同运行时的 Python 基线进行比较,因此运行时功能不会被算作语言的优势。样本规模较小,仅使用一个模型系列,且不包含人工测试。
- 安全性:
- 在 17 次不安全的程序变更中,有 14 次在运行前被拒绝。使用相同运行时的 Python 执行了其中 8 次。
- 要求 Haiku 4.5 Agent 进行不安全的更改时,它们在 Remit 中 0/6 次提交了可执行的不安全代码,在 Python 中则为 6/6 次。Sonnet 5.5 在两种语言中都拒绝了请求。
- 审查: 每项由 Agent 编写的功能变更(20 项中的 20 项)都通过机械方式证明没有扩大权限。
- 易用性:
- Agent 在修改程序(Remit 为 15/15,Python 为 14/15)和根据规范构建新工作流(两种语言均为 5/5)方面同样出色,因此模型从未接触过这种语言也不会带来劣势。
- 仅使用 MCP 服务的 Agent 构建正确程序的成功率为 5/5。
- 恢复能力: 崩溃后恢复的行为在两种语言中完全相同,符合预期,因为这是运行时属性。
状态
Remit 是一个早期的开源版本。语言、检查器、运行时、MCP 服务、演示和五个示例应用均可运行并通过测试。它还不是一个成熟的产品:没有内置沙箱(请在你自己的隔离环境中运行),目前也没有模块系统、并发功能或编辑器语言服务器。有关计划内容,请参阅 LANGUAGE_SPEC §13。
如何运行自己的网站副本和 MCP 服务,请参阅 deploy/README.md。
许可证:Apache-2.0。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。