mcpField
B
buddie

buddie

本地服务
github.comAI 与智能体0今天更新

关于 buddie

buddie 会将 AI Agent 报告中的可验证说法与来源页面、代码仓库、GitHub 和命令记录核对,并提供按授权范围收集的设备诊断。适合需要证据核验的 Agent 用户;无法核验的说法会标记为未核验。

主要功能

  1. 01核对引用与原文
  2. 02检查仓库和 GitHub 说法
  3. 03对照命令记录验证测试结果
  4. 04按授权范围收集设备诊断
  5. 05生成核验回执

适用场景

  1. 01核对报告引文与引用页面
  2. 02验证 PR 或 CI 状态
  3. 03将测试结果与会话记录对照
  4. 04向 Agent 提供实测系统与运行时信息

MCP 相关

通过 stdio MCP 服务向客户端提供核验和环境诊断工具。其他集成也可通过 MCP 调用这些检查。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"tsyyan-buddie": {
"command": "uvx",
"args": [
"buddie"
],
"env": {
"BUDDIE_GITHUB_TOKEN": "<BUDDIE_GITHUB_TOKEN>",
"VERBATIM_STORE": "<VERBATIM_STORE>"
}
}
}
}
启动命令uvx buddie
需要配置的环境变量
BUDDIE_GITHUB_TOKEN密钥Optional GitHub token for pr: and ci: anchors (higher rate limit, private repos)
VERBATIM_STOREFolder for page snapshots (default ./.verbatim)

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

安装包
pypibuddie2.0.2

工具

4

收录的工具列表 · 更新于 1 天前

参数类型必填说明
pathstring否要检查的 Markdown 文件,而非文本
textstring否报告内容(Markdown);或提供路径
fetchboolean否获取尚未存储的引用 URL 快照
reposarray否用于检查锚点的仓库检出目录(默认:服务器 cwd 所在目录或其下的 git 仓库;在 Codex 中没有默认值,因此请传入工作区路径)
storestring否快照存储区(默认:$VERBATIM_STORE 或 ./.verbatim)
accessstring否无法读取页面时使用的 verbatim --access,例如 'default'
githubboolean否向 GitHub 查询 pr:/ci: 锚点
numbersenum否引文中在其来源里不存在的句子编号:gap、fail 或 offgap | fail | off
transcriptstring否用于 run: 锚点的 Claude Code 会话 jsonl

详细介绍

buddie。
验证声明,了解上下文。

为 AI Agent 提供证据和环境感知能力。

CI Python License Buddie on Glama Buddie on MCPRush Listed on mcpservers.org

buddie 狗狗站在放大镜下的一叠源文档和一台显示芯片的笔记本电脑之间:一边是证据,另一边是机器。

为什么选择 Buddie?

Agent 完成任务后,会告诉你 CI 已通过、某个来源支持它的摘要,或者你的笔记本电脑配备了 CUDA 和 Python 3.12。它说得信心十足,而且往往确实正确。但当它出错时,错误就藏在一句笃定的话里。

Buddie 将可核查的内容与单纯的声明区分开来。它会依据证据本身核查有证据支持的声明,为 Agent 提供对你机器的真实观察结果,而不是猜测;对于无法核查的内容,则标记为未经核查。在已发表的深度研究报告中,929 条可核查引文有 212 条被篡改,或并未出现在其引用的页面上;Buddie 标记出了其中 207 条(研究)。

Buddie 的功能

验证。 Buddie 会依据证据核查有证据支持的声明:将引文与其链接页面进行比对,将文件或提交与代码库进行比对,将已合并的 PR 或绿色 CI 运行与 GitHub 进行比对,将测试结果与会话中记录的命令进行比对。核查过程不涉及任何语言模型,因此 Agent 无法通过争辩改变核查结论。

发现不匹配。 在 Claude Code 和 Codex 中,Buddie 的钩子会在 Agent 的回答送达你之前进行核查。当某项声明不成立时,回答会连同原因一起发回 Agent,让它修正声明,或明确说明哪些内容尚未验证。其他客户端则通过 MCP 或命令行调用相同的核查,并自行决定如何处理结果。

观察。 在建议命令之前,Agent 可以向 Buddie 查询任务所需的机器信息:操作系统、CPU、内存、GPU、Python、运行时和工具。Buddie 只读取你已授权的类别,不会修改任何内容,并会记录每个值的观察方式。

实际演示

验证 Agent 的说法

Agent 报告称它修复了一个日期解析器,并且测试套件全部通过。它用一个小锚点标记这项说法,⚓ run:pytest -q => 41 passed,Buddie 可以对此进行检查。会话记录记录了测试命令实际输出的内容:

验证:来自捆绑的 examples/work fixture 的真实运行。Agent 的说法:测试套件全部通过,run:pytest -q => 41 passed。证据检查,会话记录:1 failed, 40 passed in 3.1s。验证结果:FAIL,effects 0/1 hold, 1 broken, exit 1。

从克隆的仓库中亲自运行;报告和会话记录位于 examples/work:

cd buddie/examples/work
buddie verify report.md --transcript session.jsonl --no-github
BLOCK anchor line 3 ⚓ run:pytest -q => 41 passed: output has no '41 passed'; it ends: ….......................................... 1 failed, 40 passed in 3.1s
note  pr:/ci:/run: anchors show what happened (PR state, checks on a commit, a command and its output), not that the code is correct
buddie FAIL: effects 0/1 hold, 1 broken

这些文件是教学用 fixture:Buddie 会读取记录的输出,而不是重新运行 pytest。--json receipt.json 还会生成一份回执,注明判定所依据的证据。引述、PR 和 CI 示例,以及各集成会检查什么:验证指南。

了解环境

有人要求 Agent 设置本地开发环境。它没有猜测操作系统、GPU 或 Python 版本,而是向 Buddie 查询三个类别,这些类别已获用户授权:

观察:来自一台 Windows 机器的真实运行。任务:配置本地开发环境。已授权类别:system.os、hardware.gpu、software.python。观察结果:OS Windows 11;GPU NVIDIA GeForce GTX 1650,4 GiB;Python 3.14.6,含 pip 和 venv。
buddie snapshot --category system.os --category hardware.gpu --category software.python \
  --task "configure local development environment" --json diagnostics.json
buddie snapshot: diagnostics of 3 categories (grants active, policy absent; these govern the categories only)
  system.os: collected
    name: Windows 11  [os_interface]
  hardware.gpu: collected
    adapters: [model NVIDIA GeForce GTX 1650, source nvidia_smi_gpus, vendor NVIDIA, vram_bytes 4294967296]  [fixed_program]
  software.python: collected
    buddie_runtime: implementation cpython, pip True, venv True, version 3.14.6  [buddie]

摘自 buddie 2.0.0 的一次运行:所示行未经编辑,机器上观察到的其他值则未列出。diagnostics.json 保存完整文档,包含每个值的获取方法和时间。

尚未授权的类别会被报告为拒绝访问,且不会运行相应的收集器。Buddie 无法读取的值会标记为不可用,并说明原因。诊断功能只读,不会安装任何内容;它能为 Agent 提供更准确的信息,但不能保证 Agent 下一条命令就是正确的。类别、授权和文档。

开始使用

Buddie 需要 Python 3.11 或更高版本,且没有依赖项。

Claude Code

推荐的入门方式。该插件提供答案检查、MCP 工具(包括环境诊断),以及针对会话记录的 run: 检查:

/plugin marketplace add tsyyan/buddie
/plugin install buddie@buddie

它会安装此仓库的默认分支。要允许诊断,请将选定的类别保存为 environment.toml,并放在 ~/.config/buddie/(Windows 上为 %APPDATA%\buddie\)中。以上述示例为例:

version = 1
allow = ["system.os", "hardware.gpu", "software.python"]
roots = []

等级、入门模式以及钩子会读取的内容:Claude Code 指南。

其他集成
  • Codex: 运行 codex plugin marketplace add tsyyan/buddie,然后运行 codex plugin add buddie@buddie,并在 /hooks 中启用其钩子。 检查会在 Stop 时运行;run: 声明仍未勾选。Codex 指南
  • 任意 MCP 客户端: uvx buddie serve 会启动 stdio 服务。没有门控机制:由 Agent 调用这些工具。 集成
  • 命令行和 CI: 运行 pip install buddie,然后运行 buddie verify REPORT.md --json receipt.json。遇到 FAIL 时会以 1 退出;遇到 GAPS 和 EMPTY 时以 0 退出,因此要求结果为 PASS 的 CI 步骤应读取回执中的 outcome。
  • Claude Desktop: 使用 Releases 中的 .mcpb 捆绑包,无需门控机制。 桌面指南

所有界面的详细说明:开始使用。

发布状态
版本
此处介绍的发布版本:PyPI、GitHub Releases、桌面捆绑包、MCP Registry2.0.2

从 2.0.1 升级无需进行任何操作:2.0.2 新增了本地反馈工具(feedback_start、 feedback_resolve、feedback_accept)、GitHub 引用检查和带版本号的公开发布说明。从 2.0.0 升级无需进行任何操作;2.0.1 修复了 MCP 服务在代码页不是 UTF-8 的 Windows 系统上读取输入的方式。从 1.1.1 升级时,1.x 配置无需进行任何改动。具体有哪些差异及其原因,请参阅 变更日志。

文档

主题阅读
在所有界面上安装开始使用
各项集成的功能集成
检查、结果和回执验证、回执
环境诊断环境
安全与隐私限制、安全、隐私
贡献CONTRIBUTING.md
其他所有内容文档索引

局限性

Buddie 不是事实检测器。它会根据自己能够读取的证据,检查其识别形式的声明,例如带链接的引述,以及关于文件、PR、CI 和命令的锚定声明。释义和未锚定的声明不会被检查。PASS 仅涵盖已检查的内容,GAPS 和 EMPTY 不代表通过。

答案检查仅适用于 Claude Code 和 Codex,它会返回答案,而不是锁定答案:Agent 会修正声明,或披露该声明尚未验证。以你的用户身份运行的 Agent 可以编辑本地证据、设置和诊断授权文件;只有管理员的受保护策略能够设定它无法提高的限制。

Buddie 在本地运行,不会调用模型,也不会收集遥测数据。它会获取报告引用的页面,并调用 GitHub 来核查 PR 和 CI 声明。所有局限性 · 安全边界 · 隐私


评论

支持 Markdown

第一次接触 MCP?

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

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