openclaude
开源多模型编程 Agent CLI,支持 OpenAI/Gemini/DeepSeek/Ollama 等 10+ 后端一键切换
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
开源多模型编程 Agent CLI,支持 OpenAI/Gemini/DeepSeek/Ollama 等 10+ 后端一键切换
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你是一个装修队的队长,手里有钉子、螺丝刀、电钻等几十种工具。以前,每换一种工具就要换一套装备——现在有了 OpenClaude,你只需要一个工具箱,通过不同的接口就能调用所有装备。OpenClaude 就是一个 AI 编程工具的「万能插座」,它把市面上主流的大语言模型(LLM)都整合进同一个命令行界面,让开发者用一个工作流就能切换使用 GPT-4o、Gemini、DeepSeek、Ollama 本地模型等各种后端,而不需要为每个模型维护单独的 CLI 工具。
图1:OpenClaude Stars 增长曲线
OpenClaude 最初源自 Anthropic 官方推出的 Claude Code CLI 工具。开发者 Gitlawb 在使用 Claude Code 的过程中,意识到 Claude Code 与 Anthropic 生态绑定过深——它只能调用 Claude 系列模型,无法利用其他模型的能力。于是他决定对 Claude Code 进行深度改造,打造一个真正开放的、多模型支持的编程 Agent 框架。
这个项目的诞生背景反映了一个行业趋势:随着 GPT-4o、Gemini、DeepSeek 等模型的编程能力不断接近甚至超越 Claude,如何在一个统一的界面下灵活切换不同模型、同时保持一致的工作流程体验,成为开发者社区的强烈需求。OpenClaude 正是对这一需求的直接回应——它保留了 Claude Code 成熟的工具调用机制(bash、文件读写、grep 搜索、glob 匹配等),同时将其抽象为一套通用的 Provider 接口,让任何支持 OpenAI 兼容 API 或特定接口的模型都能无缝接入。
需要特别说明的是,OpenClaude 是一个独立的社区项目,与 Anthropic 公司没有任何关联,官方也明确声明了这一点——这消除了用户对品牌混淆的顾虑。
OpenClaude 的核心定位是「多模型编程 Agent 的统一入口」。它的设计哲学是:保持 Claude Code 原有的优秀交互体验,同时彻底解耦模型供应商,让用户掌握模型选择权。
在模型支持方面,OpenClaude 目前已官方支持超过 10 种主流接入路径:OpenAI 兼容 API(覆盖 OpenAI、DeepSeek、Groq、Mistral、LM Studio 等几乎所有支持 /v1 接口的服务)、Gemini(通过 Google API 直连)、GitHub Models(支持 OAuth 交互式登录授权)、Codex OAuth(用 ChatGPT 账号直接登录)、Ollama(本地模型,支持 qwen2.5-coder 等)、Atomic Chat(另一个开源本地模型推理工具,可与 OpenClaude 联动作为本地 Provider)、以及 Xiaomi MiMo(小米开源的 MiMo 模型,通过 Gitlawb 的 Opengateway 免费网关接入)。此外还有 Bedrock、Vertex、Foundry 等企业级云服务支持。
这种广泛的模型覆盖是通过一个巧妙的模块化 Provider 架构实现的。每个 Provider 都是一个独立的适配层,负责处理对应模型的认证方式、API 差异、特殊参数和行为特征。开发者新增一个 Provider 的成本很低,这意味着社区可以快速跟进新模型的支持。
除了多模型支持,OpenClaude 还引入了**智能路由(Agent Routing)**功能:用户可以在配置文件中定义不同类型的 Agent(如 Explore、Plan、frontend-dev)分别使用不同的模型。这有什么用?比如用便宜的 DeepSeek 处理探索性代码分析,用 GPT-4o 处理需要高精度的规划任务,用本地 Ollama 处理简单重复的格式化工作——按需分配模型,算力成本最优化。
OpenClaude 不只是一个「对话界面」,它的真正价值在于将 Claude Code 成熟的工具调用体系(Tool Calling)完整保留并扩展。这套工具集包括:
Bash 执行:在终端运行任意命令,处理文件、编译、测试等操作。文件操作:读取、写入、编辑代码文件,是代码生成的基础。grep 搜索:在代码库中全文搜索,是理解大型项目结构的利器。glob 匹配:快速找到符合条件的文件路径。MCP 集成:Model Context Protocol 支持,让 OpenClaude 能调用外部工具和知识库,大幅扩展 Agent 的能力边界。Web 搜索与抓取:WebSearch 默认使用 DuckDuckGo(对非 Anthropic 模型免费可用),配置 Firecrawl API Key 后可获得更可靠的 JS 渲染页面抓取能力。Slash 命令:通过 /provider、/onboard-github、/model 等快捷指令快速切换配置。
这些工具组合起来,构成了一个真正能够完成复杂编程任务的 Agent。以一个典型场景为例:OpenClaude 可以先搜索项目结构(glob),找到关键文件(grep),读取源码理解逻辑(file read),生成修改方案(LLM 推理),执行文件编辑(file write),最后运行测试验证(bash)——整个过程无需人工介入。
OpenClaude 提供了极其灵活的安装方式,覆盖了从新手到高级用户的全部场景。
最简单方式:npm 全局安装。一条命令 npm install -g @gitlawb/openclaude 即可完成安装,唯一的系统依赖是 ripgrep(搜索工具),大多数 Linux/macOS 系统已自带。进阶方式:环境变量快速配置。通过设置 OPENAI_API_KEY、OPENAI_MODEL、OPENAI_BASE_URL 等环境变量,可以零交互地启动指定模型的 Agent 会话。本地模型:Ollama 集成。通过设置 OPENAI_BASE_URL=http://localhost:11434/v1 加 Ollama 的模型名(如 qwen2.5-coder:7b),即可在完全离线的本地环境中使用开源模型。源码构建:项目使用 Bun 作为构建工具,bun install && bun run build 后直接运行 node dist/cli.mjs。Docker 部署:项目提供了完整的多阶段 Dockerfile,基于 node:22-slim 构建,最终镜像仅包含运行时依赖,体积精简且隔离性好,通过 docker build 即可容器化部署 CLI 工具。此外,项目还提供了 Android 安装指南(在 Termux 中运行),以及一个 gRPC 头less服务器模式(npm run dev:grpc),允许将 OpenClaude 的 Agent 能力以服务形式暴露给其他应用集成——这是面向 CI/CD 和自动化流水线场景的高级特性。
虽然 OpenClaude 定位为 CLI-first 工具,但它并非完全「无界面」。项目内置了一个基于 React 19 + Vite 的 Web UI 组件(位于 web/ 目录),提供了基本的交互式浏览器界面。更值得注意的是,官方还维护了一个 VS Code 扩展(vscode-extension/openclaude-vscode/),支持在 VS Code 内直接启动 OpenClaude,提供主题适配和 Provider 感知的控制中心 UI——这意味着开发者可以在自己熟悉的编辑器环境中无缝使用 OpenClaude,而不必切换到独立终端。
不过需要注意的是,Web UI 和 VS Code 扩展目前功能相对基础,主要服务于交互式对话场景,复杂的多步骤 Agent 任务仍推荐在终端中使用。
从代码层面看,OpenClaude 是一个典型的 TypeScript 原生项目,主语言为 TypeScript,辅以少量 Python 脚本用于辅助工具。构建工具使用 Bun(高效的 JavaScript/TypeScript 运行时和包管理器),生产构建产物为单个 ESM bundle (dist/cli.mjs),通过 node 直接执行。
核心模块分布在 src/ 下:
src/bootstrap/:启动引导和入口逻辑src/buddy/:Agent 核心实现src/assistant/:对话管理和消息处理src/cli/:命令行界面实现src/bridge/:Provider 与核心引擎之间的桥梁src/commands/:Slash 命令实现src/Tool.ts:工具基类定义src/Task.ts:任务管理与执行src/QueryEngine.ts:查询处理引擎src/proto/openclaude.proto:gRPC 接口定义项目使用 Bun Test 作为单元测试框架,配合 Istanbul 进行覆盖率统计,提供了完整且规范的测试覆盖体系。此外还有 bun run smoke(冒烟测试)、bun run security:pr-scan(安全扫描)等工程化工具链,质量门槛较高。文档方面,项目提供了从「非技术用户安装指南」到「高级源码构建」的多层次文档体系,覆盖 Windows、macOS/Linux、Android (Termux) 等多个平台。
透明评估是开源精神的一部分。OpenClaude 目前存在以下几个值得关注的局限性:
1. Provider 能力不均衡:OpenClaude 的很多高级特性(如工具调用质量、Web 搜索策略)是基于 Claude 模型设计和优化的。当切换到其他模型时,这些能力的实际表现取决于底层模型本身的工具调用支持度——一些小型本地模型在复杂多步骤工具流中可能表现不佳。项目文档中也明确提到了这一点,诚实告知用户需要选择「具有强工具调用能力的模型」以获得最佳体验。
2. Web UI 功能有限:虽然有 web/ 和 VS Code 扩展,但这些界面的功能相比完整 CLI 有显著缩水,不适合复杂任务。
3. 本地模型依赖 Ollama 环境配置:对于想要使用本地模型的普通用户,Ollama 的安装、模型拉取、端口配置等仍有一定门槛,不如直接使用云端 API「开箱即用」。
4. 安全注意:配置文件中的 api_key 以明文存储,项目文档也特别警告用户不要将 settings.json 提交到版本控制系统——这是一个需要在使用中自觉规避的风险点。
OpenClaude 的出现代表着开源社区对 AI 编程工具「开放性」的一次重要探索。在 Claude Code 推出后的一段时间里,Anthropic 的 CLI 工具是编程 Agent 领域的标杆,但它的封闭性也让许多想要利用其他模型能力的开发者望而却步。OpenClaude 的核心价值主张——「一套工作流,多种模型后端」——正好填补了这个空白。
从数据来看,该项目在发布后迅速获得关注,Stars 增长曲线陡峭,反映了开发者社区对「不受限的编程 Agent」的强烈需求。同时,Gitlawb 还维护了 Atomic Chat(另一个开源本地推理工具)和 Opengateway(免费模型网关),这几个项目形成了互补的生态,共同服务于「去中心化 AI 编程」的目标。
随着模型开放性的提升(更多模型支持 Function Calling/MCP),以及开源社区对多模型 Agent 框架的持续贡献,OpenClaude 有望成为这一趋势中的重要基础设施之一。