CodebuffAI/codebuff

GitHub: CodebuffAI/codebuff

一款开源的多 agent 协作 AI 编程助手,通过自然语言在终端中编辑代码库,支持自定义 agent 和任意 LLM 模型。

Stars: 3356 | Forks: 428

# Codebuff Codebuff 是一款 **开源 AI 编程助手**,通过自然语言指令编辑您的代码库。它并非将所有任务都交给单一模型处理,而是协调多个专业 agent 协同工作,以理解您的项目并做出精确修改。
Codebuff vs Claude Code
在涵盖多个开源仓库的 175+ 项模拟真实世界任务的编码评测中,Codebuff 在 [我们的评测](evals/README.md) 中以 61% 的成绩击败了 Claude Code 的 53%。 ## 工作原理 当您要求 Codebuff “为我的 API 添加身份验证”时,它可能会调用: 1. 一个 **文件筛选 Agent** 来扫描您的代码库,以了解架构并找到相关文件 2. 一个 **规划 Agent** 来规划哪些文件需要更改以及更改顺序 3. 一个 **编辑 Agent** 来进行精确编辑 4. 一个 **审查 Agent** 来验证更改
Codebuff Multi-Agents
与单模型工具相比,这种多 agent 方法能提供更好的上下文理解、更精确的编辑以及更少的错误。 ## CLI:安装并开始编码 安装: ``` npm install -g codebuff ``` 运行: ``` cd your-project codebuff ``` 然后只需告诉 Codebuff 您想要什么,剩下的交给它处理: - “修复用户注册中的 SQL 注入漏洞” - “为所有 API 端点添加速率限制” - “重构数据库连接代码以提高性能” Codebuff 会找到正确的文件,在您的代码库中进行修改,并运行测试以确保没有破坏任何功能。 ## 创建自定义 agent 要开始构建您自己的 agent,请启动 Codebuff 并运行 `/init` 命令: ``` codebuff ``` 然后在 CLI 内部: ``` /init ``` 这将创建: ``` knowledge.md # Project context for Codebuff .agents/ └── types/ # TypeScript type definitions ├── agent-definition.ts ├── tools.ts └── util-types.ts ``` 您可以编写 agent 定义文件,从而最大程度地控制 agent 行为。 通过指定工具、可生成的 agent 和 prompt 来实现您的工作流。我们甚至提供 TypeScript 生成器以实现更具编程性的控制。 例如,这是一个 `git-committer` agent,它根据当前 git 状态创建 git 提交。请注意,它会运行 `git diff` 和 `git log` 来分析更改,但随后将控制权交给 LLM 来撰写有意义的提交信息并执行实际提交。 ``` export default { id: 'git-committer', displayName: 'Git Committer', model: 'openai/gpt-5-nano', toolNames: ['read_files', 'run_terminal_command', 'end_turn'], instructionsPrompt: 'You create meaningful git commits by analyzing changes, reading relevant files for context, and crafting clear commit messages that explain the "why" behind changes.', async *handleSteps() { // Analyze what changed yield { tool: 'run_terminal_command', command: 'git diff' } yield { tool: 'run_terminal_command', command: 'git log --oneline -5' } // Stage files and create commit with good message yield 'STEP_ALL' }, } ``` ## SDK:在生产环境中运行 agent 安装 [SDK 包](https://www.npmjs.com/package/@codebuff/sdk) —— 注意这与 CLI 的 codebuff 包不同。 ``` npm install @codebuff/sdk ``` 导入客户端并运行 agent! ``` import { CodebuffClient } from '@codebuff/sdk' // 1. Initialize the client const client = new CodebuffClient({ apiKey: 'your-api-key', cwd: '/path/to/your/project', onError: (error) => console.error('Codebuff error:', error.message), }) // 2. Do a coding task... const result = await client.run({ agent: 'base', // Codebuff's base coding agent prompt: 'Add error handling to all API endpoints', handleEvent: (event) => { console.log('Progress', event) }, }) // 3. Or, run a custom agent! const myCustomAgent: AgentDefinition = { id: 'greeter', displayName: 'Greeter', model: 'openai/gpt-5.1', instructionsPrompt: 'Say hello!', } await client.run({ agent: 'greeter', agentDefinitions: [myCustomAgent], prompt: 'My name is Bob.', customToolDefinitions: [], // Add custom tools too! handleEvent: (event) => { console.log('Progress', event) }, }) ``` 在 [此处](https://www.npmjs.com/package/@codebuff/sdk) 了解更多关于 SDK 的信息。 ## 为什么选择 Codebuff **自定义工作流**:TypeScript 生成器允许您将 AI 生成与程序化控制相结合。Agent 可以生成子 agent、根据条件分支以及运行多步骤流程。 **OpenRouter 上的任何模型**:与将您锁定在 Anthropic 模型中的 Claude Code 不同,Codebuff 支持 [OpenRouter](https://openrouter.ai/models) 上可用的任何模型 —— 从 Claude 和 GPT 到 Qwen、DeepSeek 等专业模型。您可以为不同的任务切换模型,或使用最新版本而无需等待平台更新。 **复用任何已发布的 agent**:组合现有的 [已发布 agent](https://www.codebuff.com/store) 以获得优势。Codebuff agent 就是新的 MCP! **SDK**:将 Codebuff 构建到您的应用程序中。创建自定义工具、与 CI/CD 集成,或将编程辅助功能嵌入您的产品中。 ### 运行测试 运行测试套件: ``` cd cli bun test ``` **对于交互式 E2E 测试**,请安装 tmux: ``` # macOS brew install tmux # Ubuntu/Debian sudo apt-get install tmux # Windows (通过 WSL) wsl --install sudo apt-get install tmux ``` 有关全面的测试文档,请参阅 [cli/src/__tests__/README.md](cli/src/__tests__/README.md)。 您可以通过以下方式提供帮助: - 🐛 **修复错误**或添加功能 - 🤖 **创建专业 agent** 并将其发布到 Agent Store - 📚 **改进文档**或编写教程 - 💡 在我们的 [GitHub Issues](https://github.com/CodebuffAI/codebuff/issues) 中**分享想法** ## 开始使用 ### 安装 **CLI**: `npm install -g codebuff` **SDK**: `npm install @codebuff/sdk` ### 资源 **文档**: [codebuff.com/docs](https://codebuff.com/docs) **社区**: [Discord](https://codebuff.com/discord) **问题与想法**: [GitHub Issues](https://github.com/CodebuffAI/codebuff/issues) **贡献**: [CONTRIBUTING.md](./CONTRIBUTING.md) - 从这里开始贡献! **支持**: [support@codebuff.com](mailto:support@codebuff.com) ## Star 趋势 [![Star 趋势图](https://api.star-history.com/svg?repos=CodebuffAI/codebuff&type=Date)](https://www.star-history.com/#CodebuffAI/codebuff&Date)
标签:AI编程助手, Claude, CVE检测, GNU通用公共许可证, LNA, MITM代理, Node.js, PyRIT, TypeScript, 代码审查, 代码生成, 代码重构, 多智能体系统, 安全插件, 安全漏洞修复, 工作流自动化, 文档结构分析, 智能体编排, 渗透测试工具, 自动化代码编辑, 自动化攻击, 自动化攻击