openclaude:基于多模型后端的编码代理 CLI 项目

runs anywhere. uses anything

分支53Tags44
文件最后提交记录最后更新时间
11 天前
28 天前
11 天前
16 天前
4 天前
19 天前
2 个月前
2 个月前
11 天前
3 个月前
3 个月前
4 个月前
11 天前
1 个月前
2 个月前
2 个月前
4 个月前
2 个月前
4 天前
11 天前
3 个月前
4 天前
4 个月前
11 天前
3 个月前
4 个月前
3 个月前
11 天前
4 个月前
16 天前
1 个月前
4 天前
24 天前
4 个月前
2 个月前
OpenClaude —— 面向任意 LLM 的开放终端

Gitlawb%2Fopenclaude | Trendshift Gitlawb%2Fopenclaude | Trendshift Gitlawb%2Fopenclaude | Trendshift

OpenClaude 是一款开源编码智能体 CLI,面向云端与本地模型服务商。

可使用兼容 OpenAI 的 API、Gemini、GitHub Models、Codex OAuth、Codex、Ollama、Atomic Chat 以及其他受支持的后端,并保持统一的终端优先工作流:提示词、工具、智能体、MCP、斜杠命令与流式输出。

PR 检查 版本发布 npm 下载量 讨论区 Discord X 安全策略 许可证

OpenClaude 也在 GitLawb 上提供了镜像: gitlawb.com/node/repos/z6MkqDnb/openclaude

快速开始 | 配置指南 | 提供商 | 开发 | VS Code 扩展 | 合作伙伴 | 社区

合作伙伴

GitLawb 标识 Bankr.bot 标识 Atomic Chat 标识 Xiaomi MiMo 标识 Atlas Cloud 标识
GitLawb Bankr.bot Atomic Chat Xiaomi MiMo Atlas Cloud
AI/ML API 标识 Novita AI 标识 ApiSmart 标识 Concentrate 标识 Exa 标识
AI/ML API Novita AI ApiSmart Concentrate Exa

为什么选择 OpenClaude

  • 一条 CLI 统一云端 API 与本地模型后端——无需为每个供应商单独准备工具链
  • 通过 /provider 提供引导式供应商配置与已保存配置
  • 编码智能体工作流集中于一处:bash、文件工具、grep、glob、智能体、任务、MCP 与网页工具
  • 内置 VS Code 扩展,支持启动集成与主题适配
  • 一位像素风英雄伙伴,每次按下 Enter 都会射出一支箭(真的——见认识你的伙伴)

快速开始

安装

OpenClaude 使用 npm 安装和运行时要求 Node.js >=22.0.0。Bun 仅用于源码构建和本地开发。

npm install -g @gitlawb/openclaude@latest

如果你在 Arch Linux 上,可以从社区维护的 AUR 包 安装 OpenClaude:

paru -S openclaude

如果后续安装过程报告 ripgrep not found,请在系统范围内安装 ripgrep,并在启动 OpenClaude 之前确认 rg --version 在同一终端中可正常使用。

验证 / 排查已安装版本:

openclaude --version
npm view @gitlawb/openclaude dist-tags
npm install -g @gitlawb/openclaude@latest

开始

openclaude

在 OpenClaude 中:

  • 运行 /provider,进行引导式提供商配置并保存配置档案
  • 运行 /onboard-github,完成 GitHub Models 接入

注意: OpenClaude 不会自动加载项目中的 .env 文件。我们建议使用 /provider 命令进行配置,该命令会将提供商档案和凭证保存到 .openclaude-profile.json。如果你更喜欢使用环境变量,请显式导出它们,或运行 openclaude --provider-env-file .env 以设置提供商/配置变量。运行时和调试选项请从 shell 或启动器中导出。

恢复或分叉会话

按会话 ID 恢复现有会话,或继续当前目录中最近的会话:

openclaude --resume <session-id>
openclaude --continue

添加 --fork-session,将会话历史分支为新的会话 ID,而不复用原始会话记录:

openclaude --resume <session-id> --fork-session
openclaude --continue --fork-session

Forking 仅指会话分支。它不会创建文件系统隔离, 复制你的工作树,或创建 git worktree 分支。

后台会话

运行与当前终端分离的长时间非交互式提示:

openclaude --bg "fix failing tests"
openclaude --bg --name auth-refactor "refactor auth middleware"
openclaude ps
openclaude logs auth-refactor
openclaude logs auth-refactor -f
openclaude kill auth-refactor

后台会话是本地子进程。OpenClaude 不会启动守护进程或网络服务,权限/提供商/模型/设置参数会以与前台 --print 运行时相同的方式传递给子进程。会话元数据和日志会存储在已解析的 OpenClaude 配置目录下,通常是 ~/.openclaude/bg-sessions/OPENCLAUDE_CONFIG_DIR 可以让 OpenClaude 指向其他位置。对于 OpenClaude 的后台会话存储,CLAUDE_CONFIG_DIR 会被忽略。当旧会话到达终态后,会话名称可以重复使用;请使用会话 ID 查看同名旧日志。一个自然结束的会话,当其进程返回零时会被记录为 exited,当其返回非零或处理了终止信号时会被记录为 failed。当进程消失但未观察到结果时,stale 仍是保守结果;一次显式且成功的 openclaude kill 会被记录为 killed,并且对于同一进程,killed 优先于自然产生的 exitedfailed 结果。终态结果会单独存储在 bg-sessions/terminal/ 下;删除该目录会使已结束会话回退到基于存活状态派生的状态。OpenClaude 不会在 Windows 上推断 POSIX 信号名称。 不可观测的强制终止、宿主机崩溃和断电在所有平台上都会保持为 stale

openclaude attach <id-or-name> 当前会报告匹配的会话,并指向 openclaude logs <id> -f;对于本地后台会话,完整的终端重新接入尚未实现。

OpenClaude 配置切换

OpenClaude 默认会将其自身配置存储在 ~/.openclaude~/.openclaude.json 下。它不会读取 ~/.claude、项目级 .claude/ 目录或 CLAUDE_CONFIG_DIR;新用户可以以空的 OpenClaude 配置开始,并且无需安装 Claude Code。

如果你之前通过 .claude 路径使用 OpenClaude,请有选择地迁移:仅将你为 OpenClaude 亲自创建的设置、命令、智能体、技能、定时任务或其他文件,复制到对应的 .openclaude 位置。不要整体复制 .claude,也不要复制 Claude Code 凭据或身份验证文件。对于提供商身份验证,建议重新运行 OpenClaude 的提供商设置,或导出提供商专用的环境变量。

OpenAI 极速配置

macOS / Linux:

export CLAUDE_CODE_USE_OPENAI=1
export OPENAI_API_KEY=sk-your-key-here
export OPENAI_MODEL=gpt-4o

openclaude

Windows PowerShell:

$env:CLAUDE_CODE_USE_OPENAI="1"
$env:OPENAI_API_KEY="sk-your-key-here"
$env:OPENAI_MODEL="gpt-4o"

openclaude

最快的本地 Ollama 安装

macOS / Linux:

export CLAUDE_CODE_USE_OPENAI=1
export OPENAI_BASE_URL=http://localhost:11434/v1
export OPENAI_MODEL=qwen2.5-coder:7b

openclaude

Windows PowerShell:

$env:CLAUDE_CODE_USE_OPENAI="1"
$env:OPENAI_BASE_URL="http://localhost:11434/v1"
$env:OPENAI_MODEL="qwen2.5-coder:7b"

openclaude

对于 Ollama,OpenClaude 使用 Ollama 原生聊天 API,并在每次聊天请求中指定 32768 个 token 的上下文窗口,以免同一会话历史被 Ollama 的 OpenAI 兼容适配层静默截断。如需使用不同的请求级上下文大小,请设置 OPENCLAUDE_OLLAMA_NUM_CTXOLLAMA_CONTEXT_LENGTH。有关使用 ollama ps 进行验证,请参阅高级设置

设置指南

面向新手的指南:

高级指南与源码构建指南:

支持的提供商

提供商 配置方式 说明
OpenAI 兼容 /provider 或环境变量 支持 OpenAI、OpenRouter、DeepSeek、Groq、Mistral、LM Studio 及其他兼容 /v1 的服务器
Z.AI GLM Coding Plan /provider 或 OpenAI 兼容环境变量 使用 OPENAI_API_KEY,地址为 https://api.z.ai/api/coding/paas/v4,默认模型为 glm-5.2
AI/ML API /providerAIMLAPI_API_KEY设置指南 使用 https://api.aimlapi.com/v1,根据 AIMLAPI_API_KEY 自动识别 OpenAI 兼容路由,发送 OpenClaude 来源标识请求头,并从公共 /models 目录中发现支持聊天的模型
Concentrate /providerCONCENTRATE_API_KEY 位于 https://api.concentrate.ai/v1 的统一 OpenAI 兼容网关;默认使用 deepseek-v4-flash,并自动发现聊天模型目录
LLMTR /provider 或 OpenAI 兼容环境变量 位于 https://llmtr.com/v1 的多模型网关;使用 /provider--provider llmtr 时默认选择 deepseek/deepseek-v4-flash,而仅使用环境变量配置时必须设置 OPENAI_BASE_URL=https://llmtr.com/v1OPENAI_MODEL;选定路由后接受 LLMTR_API_KEYOPENAI_API_KEY,并从公共目录中发现支持工具的 Chat Completions 模型
ApiSmart /providerAPISMART_API_KEY 使用 https://gw.apismart.ai/v1,默认使用 DEEPSEEK_V4_FLASH,并支持可选的 APISMART_MODEL 以及带认证的模型发现
Hicap /provider 或 OpenAI 兼容环境变量 使用 api-key 认证,可从未认证的 /models 中发现模型,并为 gpt- 模型支持 Responses 模式
Fireworks AI /provider 或环境变量 一等提供商,提供 276 个精选模型(DeepSeek、Qwen、Llama、Gemma 等);使用 FIREWORKS_API_KEY
LongCat /provider 或环境变量 位于 https://api.longcat.chat/openai/v1 的 Meituan LongCat OpenAI 兼容 API;使用 LONGCAT_API_KEY,默认使用 LongCat-2.0
ClinePass /provider 或环境变量 带用量限制(5 小时、每周、每月)的 AI 模型网关;在 https://api.cline.bot/api/v1 使用 CLINE_API_KEY
Gemini /provider 或环境变量 仅支持 API 密钥
GitHub Models /onboard-github 支持凭据保存的交互式引导
Codex OAuth /provider 在浏览器中打开 ChatGPT 登录,并安全存储 Codex 凭据
Codex /provider 使用现有 Codex CLI 认证、OpenClaude 安全存储或环境变量凭据
Gitlawb Opengateway 启动默认、/provider 或环境变量 位于 https://opengateway.gitlawb.com/v1 的智能网关;需要从 https://gitlawb.com/opengateway/keys 获取 API 密钥,并根据 OPENAI_MODEL 路由 Xiaomi MiMo 与 GMI Cloud 合作模型
OpenCode Zen /provider 或环境变量 按量付费 AI 网关(48 个模型);通过 https://opencode.ai/zen/v1 使用 OPENCODE_API_KEY;与 OpenCode Go 共用密钥
OpenCode Go /provider 或环境变量 开放模型的 $10/月 订阅(13 个模型);通过 https://opencode.ai/zen/go/v1 使用 OPENCODE_API_KEY;与 OpenCode Zen 共用密钥
Xiaomi MiMo /provider 或环境变量 位于 https://mimo.mi.com 的 OpenAI 兼容 API;使用 MIMO_API_KEY,默认使用 mimo-v2.5-pro
NEAR AI /provider 或环境变量 统一网关(Claude、GPT、Gemini + TEE 开放模型);在 https://cloud-api.near.ai/v1 使用 NEARAI_API_KEY
Cloudflare Workers AI /provider 或环境变量 位于 https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai/v1 的 OpenAI 兼容 API;使用 CLOUDFLARE_API_TOKEN。请将 <ACCOUNT_ID> 替换为你的 Cloudflare 账号 ID
Ollama /provider 或环境变量 无需 API 密钥的本地推理
Atomic Chat /provider、环境变量或 bun run dev:atomic-chat 本地模型提供商;自动检测已加载的模型
Bedrock / Vertex / Foundry 环境变量 Anthropic 系列云路由;Vertex 用于 Vertex AI 上的 Claude,而非任意 Model Garden 模型

可用功能

  • 工具驱动的编码工作流:Bash、文件读取/写入/编辑、grep、glob、智能体、任务、MCP 以及斜杠命令
  • 流式响应:实时输出 token 和工具进度
  • 工具调用:多步骤工具循环,包括模型调用、工具执行以及后续响应
  • 图像:为支持视觉能力的提供商提供 URL 和 base64 图像输入
  • 提供商配置文件:引导式设置,并支持保存用户级提供商配置文件
  • 本地与远程模型后端:云端 API、本地服务器以及 Apple Silicon 本地推理
  • 代码库智能(仓库地图):按 PageRank 重要性排序的仓库结构地图,当启用 REPO_MAP 标志或设置 REPO_MAP 环境变量时,会自动注入上下文。可通过 /repomap 查看(默认 2048 token)。详见 docs/repo-map.md
  • 拥有招牌动作的伙伴:一位真彩色像素风主角,驻留在你的提示词旁,并在你工作时作出反应。见下文。

认识你的伙伴

运行 /buddy 即可孵化一位伙伴——一位真彩色像素风主角, 它会站在你的提示词旁,待机、眨眼,并在你每次提交消息时 释放它的招牌动作:

/buddy                  hatch (first run) or pet your companion
/buddy set robinhood    the green archer — arrow shot on every Enter
/buddy set kaio         gold-haired warrior — charges a full-width energy wave
/buddy set strawhat     stretchy punch that snaps back
/buddy set merlin       twinkling sparkle stream
/buddy set kage         spinning shuriken
/buddy set ember        dragon fire with a real heat gradient
/buddy set corsair      cannonball with smoke trail
/buddy name Robin       rename your companion
/buddy set random       back to your rolled hero

伴随形象会尊重 prefersReducedMotion,在低色彩终端中优雅降级为线稿,并可通过 /buddy mute 静音。完整精灵图需要终端宽度至少 100 列。

提供商说明

OpenClaude 支持多个提供商,但各提供商的行为并不完全一致。

  • Anthropic 专属功能在其他提供商上可能不可用
  • 工具调用质量在很大程度上取决于所选模型
  • 较小的本地模型可能难以处理长多步工具流程
  • 某些提供商的输出上限低于 CLI 默认值,OpenClaude 会在可行范围内适配
  • AI/ML API 使用 OpenAI 兼容路由,默认使用 gpt-4o,并仅展示其公开目录中支持聊天的模型
  • Gitlawb Opengateway 是全新安装时的启动默认值,需要从 https://gitlawb.com/opengateway/keys 获取 API 密钥。它使用一个 OpenAI 兼容 base URL;通过 /modelmimo-*google/gemini-3.1-flash-lite-preview 之间切换,并且不要将 base URL 固定为 /v1/xiaomi-mimo
  • Z.AI GLM Coding Plan 默认使用 https://api.z.ai/api/coding/paas/v4glm-5.2。GLM-5.3 可通过 glm-5.3 选择;使用 glm-5.3?reasoning=lowglm-5.3?reasoning=highglm-5.3?reasoning=xhigh 可请求其文档中说明的低、高或最大推理强度。现有的 GLM-5.2 查询控制项仍受支持。
  • Xiaomi MiMo 在直连 OpenAI 兼容路由上使用 api-key 请求头认证,目前在 OpenClaude 中尚不支持 /usage 上报
  • GitHub Copilot 默认串行执行子智能体,以降低 Premium Request 消耗 — 有关调优,请参阅 智能体路由与步骤限制

为获得最佳效果,请使用工具/函数调用能力较强的模型。

智能体

将不同智能体路由到不同模型(成本优化、按模型能力拆分任务),通过 maxSteps 限制子智能体工具步骤,并调优 GitHub Copilot 子智能体行为。可通过设置、智能体 frontmatter 和环境变量进行配置:

  • 通过 ~/.openclaude/settings.json 中的 agentModels + agentRouting 实现每个智能体的提供商/模型覆盖
  • 仅指定模型的路由可复用当前提供商的凭证
  • 内置智能体(ExplorePlan [特性开关控制]、verification [特性开关控制:需要 VERIFICATION_AGENT + tengu_hive_evidence]、code-reviewer [要求内联 diff])可通过类型名称路由

完整指南请参阅 智能体路由与步骤限制

网络搜索与抓取

默认情况下,WebSearch 在 Anthropic 以外的模型上使用 DuckDuckGo。这为 GPT-4o、DeepSeek、Gemini、Ollama 以及其他 OpenAI 兼容提供商提供了开箱即用的免费网络搜索能力。

Note: DuckDuckGo 回退方案通过抓取搜索结果实现,可能会受到速率限制、封禁,或受 DuckDuckGo 服务条款约束。如果你想要更可靠且受支持的选项,请配置 Firecrawl。

对于 Anthropic 原生后端和 Codex 响应,OpenClaude 会保留原生提供商的网络搜索行为。

WebFetch 可以工作,但其基础的 HTTP 加 HTML 转 Markdown 路径,仍可能在由 JavaScript 渲染的站点,或拦截纯 HTTP 请求的站点上失败。

如果你希望使用 Firecrawl 支持的搜索/抓取能力,请设置一个 Firecrawl API 密钥:

export FIRECRAWL_API_KEY=your-key-here

启用 Firecrawl 后:

  • WebSearch 可以使用 Firecrawl 的搜索 API,而 DuckDuckGo 仍为非 Claude 模型的默认免费选择
  • WebFetch 使用 Firecrawl 的抓取端点,而非原始 HTTP,可正确处理由 JS 渲染的页面

firecrawl.dev 的免费层包含 500 个积分。密钥可选。

无头 gRPC 服务

OpenClaude 可作为无头 gRPC 服务运行,支持双向流式处理—— 可将智能体能力集成到其他应用程序、CI/CD 流水线 或自定义 UI 中。使用 npm run dev:grpc 启动;仓库附带一个测试 CLI 客户端。有关配置 以及从 src/proto/openclaude.proto 生成客户端,请参阅 无头 gRPC 服务

开发

源码构建请使用 Node.js >=22.0.0 和 Bun 1.3.13 或更高版本。

bun install
bun run build
node dist/cli.mjs

日常命令:

  • bun run dev — 从源码构建并启动
  • bun test — 完整单元测试套件(Bun 内置运行器)
  • bun test path/to/file.test.ts — 针对你改动区域的聚焦测试
  • bun run test:coverage — 将覆盖率输出到 coverage/lcov.info,并在 coverage/index.html 生成可视化报告(bun run test:coverage:ui 仅重建 UI)
  • bun run smoke — 冒烟检查
  • bun run doctor:runtimebun run verify:privacy;对于 PR 意图扫描,请使用 本地推送前校验约定 中基于最新上游且显式指定 ref 的工作流

聚焦测试套件:bun run test:providerbun run test:provider-recommendation

若要基准测试启动器模块编译缓存,请构建 CLI 并运行:

bun run build
bun run benchmark:startup

基准测试要求 Node >=22.8.0,该版本引入了 compile-cache API; 构建后的 OpenClaude 启动器仍继续支持声明的 Node >=22.0.0 运行时范围。

基准测试默认执行 30 次独立进程的预热运行和 10 次隔离的空缓存运行。它会输出中位数、IQR、MAD、首次填充缓存的运行、首次预热、Node/OS/CPU 信息、bundle 大小以及 commit。直接 bundle 计时仅作为辅助诊断;完整启动器结果才是决策信号。使用 bun run benchmark:startup -- --warm-runs 40 --cold-runs 10 请求更大的样本量。基准测试在 CI 中仅记录结果,不强制要求计时阈值。

OpenClaude 以 Node 的标准 compile-cache 控制为权威。设置 NODE_DISABLE_COMPILE_CACHE=1 可禁用该优化,包括需要未缓存编译的 V8 coverage 运行。

在创建或更新 PR 前,请运行权威的本地预推送验证契约。以下命令有助于小范围迭代,但不能替代该必需的前置检查:

  • bun run build
  • bun run smoke
  • 如果你的更改影响共享运行时或 provider 逻辑,请运行 bun run test:coverage
  • 针对你所修改的文件和流程,运行更聚焦的 bun test ...

仓库结构

  • src/ - 核心 CLI/运行时
  • scripts/ - 构建、验证与维护脚本
  • docs/ - 安装、贡献者与项目文档
  • vscode-extension/openclaude-vscode/ - VS Code 扩展
  • .github/ - 仓库自动化、模板与 CI 配置
  • bin/ - CLI 启动器入口

VS Code 扩展

本仓库包含位于 vscode-extension/openclaude-vscode 的 VS Code 扩展,用于 OpenClaude 启动集成、provider 感知的 Control Center、编辑器内聊天、主题支持,以及可选的 Microsoft Foundry / Azure OpenAI 配置(endpoint、API 版本、deployment,以及通过 Secret Storage 管理的 API key),这些配置会注入到启动后的终端中。请查看该文件夹的 README

安全

如果您认为发现了一个安全问题,请参阅 SECURITY.md

社区

贡献

欢迎参与贡献。对于较大的改动,请先创建 issue,以便在实施前明确范围。构建、测试以及提交 PR 前的验证命令,请参见 开发

免责声明

OpenClaude 是一个独立的社区项目,与 Anthropic 不存在任何关联,也未获得其背书或赞助。

OpenClaude 源自 Claude Code 代码库,此后经过大量修改,以支持多个提供商和开放使用。“Claude”和“Claude Code”是 Anthropic PBC 的商标。详情请参阅 LICENSE

许可

OpenClaude 贡献者所做的修改采用 MIT 许可;衍生的 Claude Code 仍归 Anthropic 所有。查看更多

项目介绍

Open Claude 是一款开源编码代理 CLI,支持 OpenAI、Gemini、DeepSeek、Ollama、Codex、GitHub Models,以及通过 OpenAI 兼容 API 接入的 200 多种模型。【此简介由AI生成】

定制我的领域
22632.53 K9.04 K访问 GitHub