mcpField
R
Reelier

Reelier

已认证精选本地服务
reelier.com开发工具310 周前更新

关于 Reelier

Reelier 将 Agent 工具调用流程记录为技能,可在不调用大模型的情况下确定性重放,并比较运行结果以发现偏移。它面向需要核查 Agent 操作及变更记录的开发者和团队。

主要功能

  1. 01记录并冻结可重复的工作流
  2. 02无大模型调用地确定性重放
  3. 03比较运行结果并识别偏移
  4. 04生成签名运行回执
  5. 05检查 Agent 编写的 PR 变更

适用场景

  1. 01为 Agent 工作流执行回归检查
  2. 02审查 Agent 编写的拉取请求
  3. 03根据记录运行检查依赖变更

MCP 相关

Reelier 可通过 `reelier mcp --wrap` 代理实时 MCP 工具,并冻结受支持的会话历史。它不提供 MCP 服务;记录和重放由其 CLI 处理。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"reelier": {
"command": "npx",
"args": [
"-y",
"reelier"
]
}
}
}
启动命令npx -y reelier

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmreelier0.24.0

工具

5

收录的工具列表 · 更新于 2 周前

参数类型必填说明
dirstring否扫描 Agent 会话 transcript 的目录(默认:~/.claude/projects)。

详细介绍

Reelier

Reelier

让你的 Agent 编写。留存凭证。

你的 Agent 工作了一整夜。这里清楚记录了具体改动。

Reelier 会记录成功的运行,将其固化为可重放的技能,并以确定性方式重放——每次运行都会生成一份凭证:证明 Agent 做了什么,以及因此发生了哪些变化。Agent 提出主张。Reelier 留存凭证。

npm version CI tests license Discord stars

网站 · 文档 · SPEC.md

Reelier:Dependabot 升级依赖后,Reelier 会以 0 个令牌重放记录的 Agent 运行并进行差异对比,在合并前于 PR 中发现偏差

▶ 收听讲解(27 秒)

Glama 上的 Reelier MCP 服务


为 Agent PR 留存凭证——安装即可使用

由 Agent 编写的 PR(Dependabot、Claude、Codex、Cursor 等)会在几秒内收到一条凭证评论:作者、变更文件、声明的范围与实际变更内容,以及标记出的敏感路径。无需工作流文件、命令行或配置。

→ 安装 Reelier 凭证 GitHub App — 公共仓库永久免费。

Reelier 凭证 — Agent PR 作者:dependabot[bot] · 变更文件:2(+119 −41) 声明范围:无(添加 .reelier/scope.yml 以启用意外写入检测) 涉及敏感路径:⚠ 1 — package-lock.json 证明范围和变更,不证明正确性

这是一份来自 Reelier 自有仓库的真实凭证——查看实际示例。在 .reelier/scope.yml 中为每个 Agent 声明范围(或在 PR 正文中使用 reelier-scope 块),凭证便会报告意外写入。凭证证明范围和变更,绝不证明正确性或安全性。


为什么

AI Agent 具有非确定性——相同的提示词,每次运行结果都不同——而无论是否真的完成了工作,它们都会声称自己做到了。Reelier 会记录成功的运行,以确定性方式重放,并生成可验证的签名凭证作为证明。只需通过一个工作流将它接入现有 CI——它会添加可验证的凭证,而不是取代你的技术栈。

在真实的同场基准测试中测得,任务和数据均相同(完整方法):

  • 1,000 / 1,000 次重放的字节完全一致
  • 每次重放都会生成签名凭证 — 证明运行了什么以及发生了哪些变化,而非仅仅提出主张
  • 重放时调用大模型 0 次 — 确定性重新执行,而非重新推理

在相同的基准测试中,确定性重放的成本也比重新运行 Agent 低约 50 倍,速度快约 59 倍。

安装

npm i -g reelier && reelier init
# No Node install needed — same commands via Docker:
docker run --rm ghcr.io/seldonframe/reelier --help

reelier init [--dry-run] 会执行一次带检查点的本地检查,覆盖 Reelier 的所有三条路径:路径 A 的观测覆盖范围、路径 B 的回放/冻结候选项,以及路径 C 中可绑定、可产生结果、仅限影子模式或不受支持的连接和候选项。它不会部署、设置门控、分发、上传、复制凭据或重写主机配置。--dry-run 不会写入任何内容;正常命令只会在 .reelier/init/ 下写入经过净化的产物。

作为 Agent 插件

告诉你的编码 Agent 何时该使用 Reelier。两条命令,适用于任一宿主:

claude plugin marketplace add seldonframe/reelier
claude plugin install reelier@seldonframe
codex plugin marketplace add seldonframe/reelier
codex plugin add reelier@seldonframe

这只会安装两个 Agent Skills,不会安装其他内容。reelier-replay 会教你的 Agent 如何冻结可重复执行的工具调用任务,并以 0 个 token 回放。reelier-write-safety 涵盖在授予 Agent 写入权限前如何设定边界:记录器能看到什么、策略会拒绝什么,以及回执能证明和不能证明什么。它不附带 MCP 服务,因此不会自行包装、观测或门控任何工具调用;这些由 reelier CLI 完成,Skills 则通过 npx 驱动它。它以 Agent Plugins v1.0.0 格式(plugin/agent-plugins/)和 Claude Code 格式(plugin/claude/)打包,由 scripts/build-plugin-packages.mjs 从同一份源代码生成。

已在 codex-cli 0.147.0-alpha.1.2 上完成端到端验证:两种格式均可安装和启用,且 Skill 能触达模型。其他宿主尚未测试;各宿主的状态记录在 docs/specs/agent-plugins-coverage-v1.md §4 中,此处不作未验证的声明。

使用方法

reelier init --dry-run              # inspect Path A/B/C locally; write nothing
reelier init                        # persist resumable sanitized inspection artifacts
reelier run  <name>.skill.md        # replay deterministically — 0 tokens (read-only by default)
reelier diff <name>                 # SAME or DRIFTED, per step — exit 1 on drift
reelier push <name>.skill.md        # sync receipts to your ledger (opt-in)
reelier ci                          # write a workflow: drift-CI + PR receipts, one command
  1. 检查,然后记录或冻结。 reelier init 会展示观测覆盖范围和本地候选项,不会更改路由。reelier mcp --wrap "<mcp server>" 会代理实时工具;reelier scan/from-session 会冻结受支持的历史记录。
  2. 编译。 reelier compile 会将跟踪记录转换为 SKILL.md——不调用 LLM,仅包含最少断言,并将未解决的问题如实列为开放问题。
  3. 回放。 reelier run 会以 0 级回放——不使用 LLM、字节完全一致,默认只读(写入需要 --allow-writes)。
  4. 对比差异。 reelier diff 会逐步报告 SAME 或 DRIFTED,并以失败断言说明原因——发生漂移时退出码为 1。
  5. 登录。 reelier login 会通过浏览器中的设备代码将此机器连接到 Reelier Cloud;也可为 CI 和自托管设置 REELIER_CLOUD_URL/REELIER_CLOUD_KEY。
  6. 推送。 每次运行都会生成一份回执;reelier push 可选择将其同步到账本,以获取永久链接和可嵌入的已验证回放徽章。

已经有 Agent Skill?将它转换过来——保留你的 Skill,去掉模型:

reelier compile trace.jsonl --from-skill ./my-skill/SKILL.md

三项测试,一个 Skill

测试命令回答的问题
确定性reelier run <skill.md>它现在仍会执行原来的操作吗?
恢复能力reelier run <skill.md> --fail N如果它出错,Skill 会发现并修复吗?
漂移reelier run <skill.md> --wrap "<your mcp server>"这个 Skill 所依赖的环境是否已经发生变化?

此分类法源自 Mads Hansen 对发布公告的评审。 每项测试的完整语义,包括恢复注入和清单防护措施,请参阅:docs/REFERENCE.md。

拦截 Dependabot / Renovate 的依赖升级 PR

Dependabot 和 Renovate 会创建 PR 并运行你的测试套件,但它们都不知道你的 Agent 在运行时实际做什么,所以依赖升级悄然改变工具调用的形式(字段重命名、新默认值、不同的错误)也能在单元测试全绿的情况下顺利通过。这正是它们不会运行的检查。

将 .github/workflows/reelier-bump-check.yml 复制到你的仓库中,把 skill: 指向你自己录制的 .skill.md 文件,然后它就会:将检查限定为来自 dependabot[bot] / renovate[bot] 的 PR(或带有 dependencies 标签的 PR),安装升级后的依赖,以 --max-level 0(0 个令牌)针对该依赖实时重放你录制的技能,并在发生偏差的确切步骤处让检查失败。

此检查测试依赖和 MCP 工具调用行为——不会测试模型升级;--max-level 0 从不调用大模型。完整列表和设置说明:docs/marketplace-listing.md。

证明它

推送的回执包含一系列可独立验证的声明,而不是笼统地声称“已验证”。根据你启用的功能,它可以签名、加盖时间戳、由 CI 证明,并包含可交叉核验的提供商请求 ID。reelier verify 会离线重新计算每项声明;未启用的声明只会如实显示为缺项,绝不会让你难堪。

查看一个真实示例:reelier.com/r/HWBdmGob9KeHRqXi-OEaRD0z。

完整的 8 级阶梯,以及每一级能和不能证明的内容:docs/REFERENCE.md。

如果你的技能是员工

员工生命周期Reelier 对应项
将会话转为技能reelier from-session
绩效评估reelier run + reelier diff
团队维护定时重放 + 偏差提醒
记录已签名的回执

“已验证”描述的是记录,而不是 Agent——回执证明运行了什么以及发生了什么变化,并不证明 Agent 工作得很好。

劳动合同不会让员工变得优秀——它让员工做过的事清晰可见、边界明确。这里也是如此:回执证明范围和变更,但从不证明正确性。

适用人群

  • 独立开发者 / OSS 维护者 — 重新拥有真正的回归测试;偏差无法悄然通过。
  • 交付 Agent 变更的团队 — “运行正常”会成为可核验的 PR 产物,而不是一句断言。
  • 为客户运行 Agent 的代理机构 — 提供客户可验证的签名、带时间戳的交付证明。
  • 市场买家或卖家 — 有佐证的回执就是无法刷出来的评价。
  • 面向审计的运维团队 — 为每次写入提供签名且由 CI 证明的记录,并包含幂等键。

MIT,永久免费(≤0.16.0 的版本仍采用 AGPL-3.0)。你的数据——技能、轨迹、运行记录——由 SPEC.md 定义,因此离开时只需复制一个文件夹。

贡献: 欢迎提交 issue 和 PR——格式以 SPEC.md 为准;修复代码,不要改规范。提交 PR 前运行 npm test。

如果 Reelier 为你省下了一次重新运行,给它点个 Star ⭐——这样其他开发者也能找到它。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。