CodebuffAI/codebuff
GitHub: CodebuffAI/codebuff
一款开源的多 agent 协作 AI 编程助手,通过自然语言在终端中编辑代码库,支持自定义 agent 和任意 LLM 模型。
Stars: 3356 | Forks: 428
# Codebuff
Codebuff 是一款 **开源 AI 编程助手**,通过自然语言指令编辑您的代码库。它并非将所有任务都交给单一模型处理,而是协调多个专业 agent 协同工作,以理解您的项目并做出精确修改。
在涵盖多个开源仓库的 175+ 项模拟真实世界任务的编码评测中,Codebuff 在 [我们的评测](evals/README.md) 中以 61% 的成绩击败了 Claude Code 的 53%。
## 工作原理
当您要求 Codebuff “为我的 API 添加身份验证”时,它可能会调用:
1. 一个 **文件筛选 Agent** 来扫描您的代码库,以了解架构并找到相关文件
2. 一个 **规划 Agent** 来规划哪些文件需要更改以及更改顺序
3. 一个 **编辑 Agent** 来进行精确编辑
4. 一个 **审查 Agent** 来验证更改
与单模型工具相比,这种多 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 趋势
[](https://www.star-history.com/#CodebuffAI/codebuff&Date)
标签:AI编程助手, Claude, CVE检测, GNU通用公共许可证, LNA, MITM代理, Node.js, PyRIT, TypeScript, 代码审查, 代码生成, 代码重构, 多智能体系统, 安全插件, 安全漏洞修复, 工作流自动化, 文档结构分析, 智能体编排, 渗透测试工具, 自动化代码编辑, 自动化攻击, 自动化攻击