项目简介

Quibbler 是一款智能代码审查工具,旨在作为您编程代理(如 Cursor, Claude Code)的“批评家”。它在后台运行,自动观察并纠正编程代理的行动。当代理重复犯错、忽视规范或不符合用户意图时,Quibbler 会自动介入提供反馈,甚至从您的使用习惯中学习并强制执行项目规则,从而减少您手动纠正代理的需要。

主要功能点

  • 代码变更审查: 在编程代理完成代码变更后,通过调用 Quibbler 的 'review_code' 工具进行审查。
  • 多维度质量检查: 检查代码是否符合用户意图、是否存在幻觉、是否遵守既有模式、是否有遗漏的验证步骤、以及是否存在不当的模拟(mocking)。
  • 项目规则学习与强制: 自动学习项目中的代码模式和规则,并将其保存到 '.quibbler/rules.md',在后续审查中强制执行。
  • 上下文感知: 跨会话维护审查上下文,逐步深入理解项目的独特模式和需求。
  • 两种工作模式:
    • MCP 模式: 通过 Model Context Protocol (MCP) 集成,适用于 Cursor 等所有兼容 MCP 的编程代理,提供同步的审查反馈。
    • Hook 模式: 专为 Claude Code 用户设计,通过其 Hook 系统被动观察代理操作,并注入异步反馈。

安装步骤

Quibbler 可以通过 'uv' 或 'pip' 进行安装。建议使用 'uv' 以获得更快的安装体验。

使用 'uv' 安装:

uv tool install quibbler

使用 'pip' 安装:

pip install quibbler

服务器配置 (MCP 模式)

Quibbler 作为 MCP 服务器运行时,您的 LLM 客户端需要知道如何启动并连接它。以下是配置 Quibbler MCP 服务器的关键信息:

对于 Cursor 客户端,请在其项目根目录下的 '.cursor/mcp.json' 文件中添加以下配置。对于其他兼容 MCP 的代理,请查阅其文档以获取 MCP 服务器的配置方法,并使用以下信息进行配置。

MCP 客户端配置示例:

{
  "mcpServers": {
    "quibbler": {
      "command": "quibbler mcp",
      "env": {
        "ANTHROPIC_API_KEY": "your-api-key-here"
      }
    }
  }
}

配置项说明:

  • 'mcpServers': 这是 MCP 客户端配置文件中用于定义所有 MCP 服务器的根键。
  • 'quibbler': 您为这个特定的 MCP 服务器实例定义的名称。您的编程代理在调用 Quibbler 的工具时,会使用这个名称来引用。
  • 'command': 启动 Quibbler MCP 服务器进程的命令行指令,即 'quibbler mcp'。当 MCP 客户端需要与 Quibbler 交互时,它将执行此命令来启动服务。
  • 'env': 一个可选的字典,用于为 Quibbler 服务器进程设置环境变量。
  • 'ANTHROPIC_API_KEY': 这是 Quibbler 内部使用的 Anthropic API 密钥。如果您没有登录 Claude Code 或 Claude Max 账户,或者希望使用特定的 API 密钥进行身份验证,请在此处提供您的 Anthropic API 密钥。如果已登录,该密钥是可选的。

基本使用方法 (MCP 模式)

在配置好 Quibbler MCP 服务器后,您需要在项目的 'AGENTS.md' 文件中明确指示您的编程代理调用 Quibbler 的 'review_code' 工具进行审查。

  1. 创建或更新 'AGENTS.md': 在项目根目录下创建或编辑 'AGENTS.md' 文件,添加如下指令,指导代理在完成代码变更后调用 'review_code' 工具:
    ## 代码审查流程
    
    在完成代码变更后,您 **必须** 调用 Quibbler MCP 服务器的 'review_code' 工具,并提供以下参数:
    
    - 'user_instructions': 用户给出的确切指令。
    - 'agent_plan': 您所做具体变更的总结(包括修改了哪些文件、添加/更改了什么以及关键的实现细节)。
    - 'project_path': 此项目的绝对路径。
    
    审查 Quibbler 的反馈并解决提出的任何问题或顾虑。
    
    ### 示例
    
    用户要求:"为 API 端点添加日志功能"
    
    代理实现后,调用:
    
    review_code(
        user_instructions="为 API 端点添加日志功能",
        agent_plan="""所做变更:
    
    1. 在 config/logging.py 中添加了日志配置
    2. 更新了 routes/api.py 以记录传入的请求和响应
    3. 添加了 request_id 中间件用于追踪
    4. 创建了 logs/ 目录并添加了 .gitignore""",
        project_path="/absolute/path/to/project"
    )
  2. 代理执行: 当您的编程代理按照 'AGENTS.md' 中的指示进行操作时,它将在完成代码变更后自动调用 'review_code' 工具。Quibbler 将进行审查并返回反馈,代理需要根据这些反馈进行调整。

信息

分类

开发者工具