代码伙伴
Claude Desktop的AI驱动编码伴侣
项目状态:正在进行中-积极开发
一个强大的模型上下文协议(MCP)服务器,为AI助手提供全面的文件系统和开发工具。与Claude Desktop和其他MCP兼容客户端无缝协作。
备注:该项目正在积极开发中。核心功能是功能性的,但一些领域仍在完善和测试中。
特性
文件操作
- 在任何位置读取、写入、编辑、删除文件
- 使用完整路径支持复制和移动文件
- 支持绝对路径和相对路径
目录管理
- 创建、列出、删除目录
- 递归目录树可视化
- 轻松浏览项目结构
代码工具
- 分析代码结构和复杂性
- 提取函数和类
- 用黑色格式化代码
- 使用Ruff的Lint代码
搜索与替换
- 跨文件搜索模式
- 查找和替换文本
- 批量查找和替换操作
Git集成
- Git状态、差异、日志操作
- 支持外部存储库
- 分支机构和承诺管理
命令执行
- 在任何目录中运行shell命令
- 执行Python脚本
- 自定义工作目录支持
演示
观看代理人创建励志名言网站的过程:
https://github.com/user-attachments/assets/5bd48fab-73cc-4ea9-b28e-d52ff224fc2b
*代理自动创建了完整的项目结构、HTML、CSS和JavaScript,并集成了API。*
现状和路线图
✅ 已完成的功能
- 使用23多种工具实现MCP服务器
- Claude桌面集成
- 文件操作(读、写、编辑、删除、复制、移动)
- 目录管理与树形可视化
- Git与外部存储库支持的集成
- 代码分析和格式化工具
- 搜索和替换功能
- 使用自定义工作目录执行命令
- 实时流媒体响应
- 外部项目的绝对路径支持
🚧 开发中
- CLI代理(独立交互式界面)
- 全面的测试套件
- 错误恢复机制
- 性能优化
- 增强的文档和示例
📋 计划的功能
- Python之外的多语言支持
- 数据库集成工具
- Docker与容器管理
- API测试工具
- 项目脚手架模板
- 自定义工具插件系统
安装
先决条件
- Python 3.13或更高版本
- 紫外线 包管理器
- Claude Desktop(用于MCP集成)
设置
- 克隆存储库:
git clone https://github.com/Abhi-vish/code-buddy.git
cd code-buddy- 安装依赖项:
uv sync- 设置您的OpenAI API密钥:
# Create .env file
echo "OPENAI_API_KEY=your-api-key-here" > .env使用Claude Desktop
配置Claude桌面
- 打开您的Claude Desktop配置文件:
- 视窗: %APPDATA%\Claude\claude_desktop_config.json - macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - Linux: ~/.config/Claude/claude_desktop_config.json
- 添加MCP服务器配置:
{
"mcpServers": {
"code-buddy": {
"command": "uv",
"args": [
"--directory",
"C:\\path\\to\\code-buddy",
"run",
"python",
"-m",
"src.server.main"
],
"cwd": "C:\\path\\to\\code-buddy",
"env": {
"PROJECT_ROOT": "C:\\path\\to\\code-buddy",
"ALLOW_EXTERNAL_PATHS": "true"
}
}
}
}- 替换
C:\\path\\to\\code-buddy使用您的实际项目路径
- 重新启动克劳德桌面
- 寻找锤子图标(🔨) 在Claude Desktop中-这表示MCP工具可用
使用工具
配置后,您可以要求Claude:
- “阅读main.py文件并解释它的作用”
- “在C:\\Users\\Projects\\myapp中创建一个新的React应用程序”
- “显示此项目的git状态”
- “格式化src目录中的所有Python文件”
- “在代码库中搜索TODO注释”
代理将自动使用适当的工具来完成您的请求。
CLI代理(开发中)
交互式命令行界面目前正在开发中。这将提供一种无需Claude Desktop即可与编码代理交互的独立方式。
# Coming soon
uv run python chat_agent.py计划功能:
- 具有流式响应的对话界面
- 从终端直接访问工具
- 多项目支持
- 交互式调试
可用工具
文件工具
read_file-读取文件内容write_file-写入或创建文件edit_file-查找和替换内容delete_file-删除文件move_file-移动或重命名文件copy_file-复制文件
目录工具
create_directory-创建目录list_directory-列出目录内容delete_directory-删除目录get_directory_tree-获取递归树结构
搜索工具
search_in_files-搜索图案find_replace-在文件中查找和替换find_replace_all-批量查找和更换
代码工具
analyze_code-分析代码度量get_functions-提取函数定义format_code-黑色格式lint_code-带褶边的棉绒
Git工具
git-运行git命令git_status-获取存储库状态git_diff-显示更改git_log-查看提交历史记录
命令工具
run_command-执行shell命令run_python-运行Python脚本
配置
环境变量
OPENAI_API_KEY-您的OpenAI API密钥(CLI代理需要)PROJECT_ROOT-默认项目根目录ALLOW_EXTERNAL_PATHS-允许访问项目根目录之外的文件(默认值:true)MAX_FILE_SIZE-最大文件大小(字节)(默认值:1MB)MAX_DEPTH-最大目录遍历深度(默认值:4)LOG_LEVEL-日志记录级别(默认值:INFO)
服务器配置
编辑 config/default.yaml 要自定义服务器行为,请执行以下操作:
name: "coding-agent"
version: "1.0.0"
max_file_size: 1048576 # 1MB
max_depth: 4
log_level: "INFO"
allow_external_paths: true发展
项目结构
code-buddy/
├── src/
│ ├── client/ # Client-side code (CLI agent)
│ │ ├── agents/ # Agent implementations
│ │ ├── llm/ # LLM integrations
│ │ └── ui/ # User interfaces
│ ├── server/ # MCP server implementation
│ │ ├── tools/ # Tool implementations
│ │ ├── resources/ # Resource providers
│ │ ├── prompts/ # Prompt templates
│ │ └── utils/ # Utility functions
│ └── shared/ # Shared code
├── config/ # Configuration files
├── assets/ # Demo videos and images
└── pyproject.toml # Project dependencies运行测试
# Run tests (coming soon)
uv run pytest代码质量
# Format code
uv run black .
# Lint code
uv run ruff check .故障排除
Claude Desktop不显示工具
- 验证配置路径是否正确
- 检查
uv在你的路径中 - 完全重新启动克劳德桌面
- 在Claude Desktop日志中查找错误
命令挂起或超时
- 增加刀具参数的超时时间
- 检查命令是否需要用户输入
- 验证文件路径是否正确
权限错误
- 确保
ALLOW_EXTERNAL_PATHS设置为true - 检查文件系统权限
- 以适当的用户权限运行
已知问题和限制
- edit_file工具:需要精确的空格匹配;使用
write_file用于复杂的编辑 - 大文件:超过1MB的文件可能存在性能问题
- CLI代理:仍在开发中;将Claude Desktop用于生产环境
- Windows路径:在路径中使用正斜杠或双反斜杠
- Git操作:某些git命令可能需要手动输入处理
贡献
欢迎投稿!请随时提交拉取请求。
- 复刻仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
致谢
- 与 模型上下文协议
- 由...驱动 开放人工智能 和 安thropic克劳德
- 用途 紫外线 用于快速Python包管理
支持
如果您遇到任何问题或有疑问:
- 在GitHub上打开一个问题
- 检查现有问题的解决方案
- 查看故障排除部分
______________________________________________________________________
备注:这是一个积极的发展项目。功能和API可能会发生变化。随着我们不断改进和扩展工具套件,欢迎提供意见和反馈。
