](https://mseep.ai/app/arthurcolle-openai-mcp)
MCP编码助手,支持OpenAI+其他LLM提供商
Claude Code的强大Python再现,具有增强的实时可视化、成本管理和模型上下文协议(MCP)服务器功能。该工具为软件开发任务提供了一个自然语言界面,支持多个LLM提供商。
主要特点
- 多提供商支持: 与OpenAI、Anthropic和其他LLM提供商合作
- 模型上下文协议集成:
- 作为MCP服务器运行,与Claude Desktop和其他客户端一起使用 - 使用内置的MCP客户端连接到任何MCP服务器 - 解决复杂问题的多智能体同步
- 实时工具可视化: 实时查看工具执行进度和结果
- 成本管理: 通过预算控制跟踪代币使用和支出
- 综合工具套件: 文件操作、搜索、命令执行等
- 增强的用户界面: 丰富的终端界面,带有进度指示器和语法高亮显示
- 上下文优化: 智能对话压缩和内存管理
- 代理协调: 具有不同角色的专业代理可以协作完成任务
安装
- 克隆此存储库
- 安装依赖项:
pip install -r requirements.txt- 创建一个
.env使用API密钥文件:
# Choose one or more providers
OPENAI_API_KEY=your_openai_api_key_here
ANTHROPIC_API_KEY=your_anthropic_api_key_here
# Optional model selection
OPENAI_MODEL=gpt-4o
ANTHROPIC_MODEL=claude-3-opus-20240229用法
命令行接口命令模式
使用默认提供程序运行CLI(由可用的API密钥确定):
python claude.py chat指定提供程序和型号:
python claude.py chat --provider openai --model gpt-4o设定预算限制以管理成本:
python claude.py chat --budget 5.00MCP服务器模式
作为模型上下文协议服务器运行:
python claude.py serve使用MCP检查器以开发模式开始:
python claude.py serve --dev配置主机和端口:
python claude.py serve --host 0.0.0.0 --port 8000指定其他依赖关系:
python claude.py serve --dependencies pandas numpy从文件加载环境变量:
python claude.py serve --env-file .envMCP客户端模式
使用Claude作为推理引擎连接到MCP服务器:
python claude.py mcp-client path/to/server.py指定Claude模型:
python claude.py mcp-client path/to/server.py --model claude-3-5-sonnet-20241022请尝试附带的示例服务器:
# In terminal 1 - start the server
python examples/echo_server.py
# In terminal 2 - connect with the client
python claude.py mcp-client examples/echo_server.py多代理MCP模式
启动具有同步代理的多代理客户端:
python claude.py mcp-multi-agent path/to/server.py使用自定义代理配置文件:
python claude.py mcp-multi-agent path/to/server.py --config examples/agents_config.jsonecho服务器示例:
# In terminal 1 - start the server
python examples/echo_server.py
# In terminal 2 - launch the multi-agent client
python claude.py mcp-multi-agent examples/echo_server.py --config examples/agents_config.json可用工具
- 查看: 读取具有可选行限制的文件
- 编辑: 通过精确的文本替换修改文件
- 替换: 创建或覆盖文件
- 环球工具: 通过模式匹配查找文件
- GrepTool: 使用正则表达式搜索文件内容
- LS: 列出目录内容
- 猛击: 执行shell命令
聊天指令
- /帮助: 显示可用命令
- /紧凑型: 压缩对话历史记录以保存令牌
- /版本: 显示版本信息
- /供应商: 列出可用的LLM提供商
- /成本: 显示成本和使用信息
- /预算\[金额\]: 设定预算限额
- /退出,退出: 退出应用程序
建筑
Claude Code Python Edition采用模块化架构构建:
/claude_code/
/lib/
/providers/ # LLM provider implementations
/tools/ # Tool implementations
/context/ # Context management
/ui/ # UI components
/monitoring/ # Cost tracking & metrics
/commands/ # CLI commands
/config/ # Configuration management
/util/ # Utility functions
claude.py # Main CLI entry point
mcp_server.py # Model Context Protocol server与模型上下文协议一起使用
使用Claude Code作为MCP服务器
MCP服务器运行后,您可以从Claude Desktop或其他MCP兼容客户端连接到它:
- 安装并运行MCP服务器:
python claude.py serve- 在浏览器中打开配置页面:
http://localhost:8000- 按照说明配置Claude Desktop,包括:
- 复制JSON配置 - 下载自动配置的JSON文件 - 分步设置说明
使用Claude Code作为MCP客户端
要使用Claude Code连接到任何MCP服务器:
- 确保您在环境或.env文件中有Anthropic API密钥
- 启动要连接的MCP服务器
- 使用MCP客户端连接:
python claude.py mcp-client path/to/server.py- 在交互式聊天界面中键入查询
使用多代理模式
对于复杂的任务,多代理模式允许多个专门的代理进行协作:
- 创建代理配置文件或使用提供的示例
- 启动MCP服务器
- 启动多代理客户端:
python claude.py mcp-multi-agent path/to/server.py --config examples/agents_config.json- 使用命令界面与多个代理交互:
- 键入要向所有代理广播的消息 - 使用 /talk Agent_Name message 用于直接通信 - 使用 /agents 查看所有可用代理 - 使用 /history 查看对话历史记录
贡献
- 分叉存储库
- 创建要素分支
- 通过测试实现您的更改
- 提交拉取请求
许可证
麻省理工学院
致谢
该项目的灵感来自Anthropic的Claude Code CLI工具,该工具在Python中重新实现,具有增强可见性、成本管理和MCP服务器功能的附加功能。#OpenAI代码助手
一个强大的命令行和基于API的编码助手,使用OpenAI API进行函数调用和流式传输。
特性
- 用于编码辅助的交互式CLI
- 用于与其他应用程序集成的Web API
- 模型上下文协议(MCP)服务器实现
- 高可用性的复制支持
- 基于工具的可扩展性架构
- 工具优化的强化学习
- 用于基于浏览器的交互的Web客户端
安装
- 克隆存储库
- 安装依赖项:
pip install -r requirements.txt- 设置您的OpenAI API密钥:
export OPENAI_API_KEY=your_api_key用法
命令行接口命令模式
在交互式CLI模式下运行助手:
python cli.py选项:
--model,-m:指定要使用的模型(默认值:gpt-4o)--temperature,-t:设置响应生成的温度(默认值:0)--verbose,-v:启用包含其他信息的详细输出--enable-rl/--disable-rl:启用/禁用强化学习以优化工具--rl-update:手动触发RL模型的更新
API服务器模式
将助手作为API服务器运行:
python cli.py serve选项:
--host:要绑定的主机地址(默认值:127.0.0.1)--port,-p:要侦听的端口(默认值:8000)--workers,-w:工作进程数(默认值:1)--enable-replication:启用跨实例的复制--primary/--secondary:这是主实例还是次实例--peer:要复制的对等实例(主机:端口),可以多次指定
MCP服务器模式
将助手作为模型上下文协议(MCP)服务器运行:
python cli.py mcp-serve选项:
--host:要绑定的主机地址(默认值:127.0.0.1)--port,-p:要侦听的端口(默认值:8000)--dev:启用具有额外日志记录的开发模式--dependencies:要安装的其他Python依赖项--env-file:带有环境变量的.env文件的路径
MCP客户端模式
使用助手作为推理引擎连接到MCP服务器:
python cli.py mcp-client path/to/server.py选项:
--model,-m:用于推理的模型(默认值:gpt-4o)--host:MCP服务器的主机地址(默认值:127.0.0.1)--port,-p:MCP服务器的端口(默认值:8000)
部署脚本
为了更容易部署,请使用提供的脚本:
./deploy.sh --host 0.0.0.0 --port 8000 --workers 4要启用复制,请执行以下操作:
# Primary instance
./deploy.sh --enable-replication --port 8000
# Secondary instance
./deploy.sh --enable-replication --secondary --port 8001 --peer 127.0.0.1:8000web客户端
要使用web客户端,请打开 web-client.html 在您的浏览器中。请确保API服务器正在运行。
API终点
API标准终点
POST /conversation:创建新对话POST /conversation/{conversation_id}/message:向对话发送消息POST /conversation/{conversation_id}/message/stream:流式传输消息响应GET /conversation/{conversation_id}:获取对话详细信息DELETE /conversation/{conversation_id}:删除对话GET /health:健康检查端点
MCP协议端点
GET /:健康检查(MCP协议)POST /context:获取提示模板的上下文GET /prompts:列出可用的提示模板GET /prompts/{prompt_id}:获取特定的提示模板POST /prompts:创建新的提示模板PUT /prompts/{prompt_id}:更新现有提示模板DELETE /prompts/{prompt_id}:删除提示模板
复制
复制系统允许运行多个处于同步状态的助手实例。这提供了:
- 高可用性
- 负载平衡
- 容错
要设置复制,请执行以下操作:
- 使用以下命令启动主实例
--enable-replication - 使用启动辅助实例
--enable-replication --secondary --peer [primary-host:port]
工具
该助手包括各种工具:
- 天气:获取某个地点的当前天气
- 查看:从文件系统读取文件
- 编辑:编辑文件
- 替换:写入文件
- Bash:执行Bash命令
- GlobTool:文件模式匹配
- GrepTool:内容搜索
- LS:列出目录内容
- JinaSearch:使用Jina.ai进行网络搜索
- JinaFactCheck:使用Jina.ai进行事实核查
- JinaReadURL:阅读和总结网页
CLI命令
/help:显示帮助消息/compact:压缩对话以减少令牌使用/status:显示令牌使用情况和会话信息/config:显示当前配置设置/rl-status:显示RL工具优化器状态(如果启用)/rl-update:手动更新RL模型(如果启用)/rl-stats:显示工具使用统计信息(如果启用)

