使用说明
项目简介
Deebo 是一个完全兼容 Model Context Protocol (MCP) 的自主调试系统,旨在与编码 Agent 工作流集成。当编码 Agent (如 Claude Desktop, Cline, Cursor 等) 遇到无法自信修复的错误时,可以调用 Deebo 进行问题排查。Deebo 作为一个 MCP 服务器,对外暴露调试工具,通过并行运行多个假设场景,在隔离的 Git 分支中进行实验,并报告验证后的修复方案,无需人工干预。
主要功能点
- 自主错误调查: 接收错误信息,自动进行深入调查和分析。
- 假设驱动调试: 并行生成和测试多个调试假设,提高问题解决效率。
- Git 分支隔离: 每个调试场景在独立的 Git 分支中运行,确保代码库安全。
- 结构化报告: 提供清晰的调试报告和验证后的解决方案。
- 内存库学习 (可选): 可选启用内存库,让 Deebo 从过去的调试会话中学习,提升长期调试能力。
- MCP 工具集成: 通过 MCP 协议与 Git 和文件系统工具 (git-mcp, desktop-commander) 交互,实现代码操作和环境控制。
安装步骤
- 克隆仓库
git clone https://github.com/snagasuri/deebo-prototype.git cd deebo-prototype - 安装 Prerequisites
- 确保已安装 Git 和 Node.js (>= 18.x)。
- 安装 MCP 工具
- 安装 'uv' 和 'uvx' (或使用 'pip'):
curl -LsSf https://astral.sh/uv/install.sh | sh uvx install mcp-server-git - 安装并配置 'desktop-commander':
npx @wonderwhy-er/desktop-commander@latest setup
- 安装 'uv' 和 'uvx' (或使用 'pip'):
- 安装 Deebo 依赖并构建
npm install npm run build - 注册 Deebo 为 MCP 服务器
- 打开你的 MCP 客户端 (如 Cline, Claude Desktop) 的 MCP 服务器配置文件 (例如 Cline 的 'cline_mcp_settings.json' 或 Claude Desktop 的 'claude_desktop_config.json')。
- 在 'mcpServers' 对象中添加 Deebo 的配置信息。
服务器配置
以下是添加到 MCP 客户端配置文件中的 Deebo 服务器配置示例。请根据你的实际路径和 API 密钥进行修改。
{ "mcpServers": { "deebo-prototype": { "autoApprove": [], "disabled": false, "timeout": 30, "command": "node", "args": [ "--experimental-specifier-resolution=node", "--experimental-modules", "--max-old-space-size=4096", "/absolute/path/to/deebo-prototype/build/index.js" // 修改为 Deebo build 后的 index.js 文件的绝对路径 ], "env": { "NODE_ENV": "development", "USE_MEMORY_BANK": "true", // 可选: 启用内存库 "MOTHER_HOST": "openrouter", // 母 Agent 使用的模型提供商,可选: openrouter, anthropic, gemini "MOTHER_MODEL": "anthropic/claude-3.5-sonnet", // 母 Agent 使用的模型名称 "SCENARIO_HOST": "openrouter", // 场景 Agent 使用的模型提供商,可选: openrouter, anthropic, gemini "SCENARIO_MODEL": "anthropic/claude-3.5-sonnet", // 场景 Agent 使用的模型名称 "OPENROUTER_API_KEY": "sk-or-v1-...", // 如果使用 openrouter,请填写 OpenRouter API Key "GEMINI_API_KEY": "AIzaSy...", // 如果使用 gemini,请填写 Gemini API Key "ANTHROPIC_API_KEY": "sk-ant-..." // 如果使用 anthropic,请填写 Anthropic API Key }, "transportType": "stdio" } } }
注意:
- 请根据你选择的 'MOTHER_HOST' 和 'SCENARIO_HOST' 填写对应的 API Key。
- '/absolute/path/to/deebo-prototype' 需要替换为你的 'deebo-prototype' 仓库的绝对路径。
- 修改配置文件后,重启你的 MCP 客户端使配置生效。
基本使用方法
Deebo 通过以下 MCP 工具对外提供调试功能,你可以通过 MCP 客户端调用这些工具:
-
start: 启动一个新的调试会话。
<deebo> <start error="ReferenceError: x is not defined" // 错误信息 repoPath="/my/project/path" // 代码仓库的绝对路径 context="// suspect function below\nfunction handleClick() { ... }" // 可选: 代码上下文 filePath="src/ui/buttons.ts" // 可选: 错误文件路径 language="typescript" // 可选: 编程语言 /> </deebo> -
check: 查询调试会话的状态。
<deebo> <check sessionId="session-1712268439123" /> // 会话 ID </deebo> -
cancel: 取消调试会话。
<deebo> <cancel sessionId="session-1712268439123" /> // 会话 ID </deebo> -
add_observation: 为 Agent 添加外部观察信息 (例如来自其他工具的反馈)。
<deebo> <add_observation agentId="scenario-session-1712268439123-2" // Agent ID (母 Agent 或场景 Agent) observation="The error disappears if we disable memoization" // 观察内容 /> </deebo>注意: 'agentId' 可以是 'mother' 或 'scenario-session-xxx-x' 格式。
信息
分类
开发者工具