把任意 AI 模型,装进你的终端
OpenWarp 是基于 Warp 开源代码的社区分支 —— 在保留 Warp 全部终端体验的同时,加入 BYOP(Bring Your Own Provider) 能力, 让 AI 层完全开放:密钥、模型、提示词全部由你掌控。
⚠️ 当前项目处于早期开发,尚未发布正式版本。与 Warp 官方公司无任何附属关系。
Warp 官方客户端依赖云端 Agent 服务,AI 能力默认必须经过 Warp 后端。 OpenWarp 把这层完全打开:
| 维度 | Warp 上游 | OpenWarp |
|---|---|---|
| AI 提供商 | Warp 官方网关 | 任意 OpenAI 兼容端点 |
| 凭证存储 | 云端账户 | 本地配置文件,零外发 |
| 系统提示词 | 后端组装,客户端不可见 | minijinja 模板,完全可改 |
| 界面语言 | 英文 | 原生中英文,可扩展 |
| Cloud Agent / Computer Use | 默认开启 | 默认关闭,纯本地 |
| 体验(Blocks / Workflows / 键位) | ✓ | ✓ 完整保留 |
| 协议 | AGPL-3.0 / MIT 双许可 | 与上游一致 |
01 · 接入任意提供商 设置中粘贴 Base URL 与 API Key —— 任何 OpenAI Chat Completions 兼容端点都即插即用, 凭证仅保存在本地。
02 · 编写动态提示词 基于 minijinja 模板引擎,根据当前工作目录、语言、角色实时渲染系统提示词。
03 · 在终端立即启用 一键切换模型、对话、命令补全 —— 体验与 Warp 一致,但完全由你掌控。
| 提供商 | Base URL | 备注 |
|---|---|---|
| OpenAI | https://api.openai.com/v1 |
官方协议 |
| Anthropic | 通过 genai 原生协议 | Claude 4.x 全系列 |
| DeepSeek | https://api.deepseek.com/v1 |
thinking + tool calling |
| Gemini | 通过 genai 原生协议 | Google AI Studio |
| Ollama | http://localhost:11434/v1 |
本地推理,无需 Key |
| OpenRouter | https://openrouter.ai/api/v1 |
聚合网关 |
| Qwen / Groq / Together / LM Studio / 任意 OpenAI 兼容代理 | — | 配置即用 |
- BYOP 自定义提供商 — 5 种原生协议(OpenAI / OpenAIResp / Anthropic / Gemini / Ollama / DeepSeek)显式绑定,基于 genai 0.6
- 流式打字机 — SSE 增量渲染,与 Warp 自家路径一致的 Block 体验
- 18 个本地工具 — shell / read / edit / search / mcp / drive 文档 / skills / ask 等,全部本地执行
- 系统提示词模板 — 移植 opencode 的 8 份模型族 prompt(default / anthropic / gpt / beast / gemini / kimi / codex / trinity)
- models.dev 数据源 — Providers 子页搜索框快速添加,内置数千模型元数据
- 隐私优先 — 关闭 Cloud Agent / Computer Use / Referral,默认不上传遥测
- 保留 Warp 体验 — 持续合并上游,Blocks / Workflows / AI 命令 / Keymaps / 主题完整保留
- 多语言界面 — 简体中文 + English,后续社区可扩展
git clone https://github.com/zerx-lab/openwarp
cd openwarp
./script/bootstrap # 平台依赖
./script/run # 构建并运行
./script/presubmit # fmt / clippy / tests若要直接用 cargo,必须显式指定 OSS 二进制:
cargo build --release --bin warp-oss
cargo run --release --bin warp-oss
⚠️ 不要不带过滤地跑cargo build --release,也不要--bin {warp,stable,dev,preview}—— 这些入口(local.rs/stable.rs/dev.rs/preview.rs)通过 Warp 私有的warp-channel-config二进制加载 channel 配置,而该二进制位于闭源私仓。编译能过, 但运行时会 panic 提示./script/install_channel_config,而那个脚本会去 clone 只有 Warp 员工才有 SSH 权限的私仓。OpenWarp 用户只需要warp-oss这一个 bin。
详见 WARP.md 获取完整工程指南(代码风格、测试、平台说明)。
与 Warp 上游一致:
zerx-lab/warp 维护两条长期分支:
| 分支 | 跟踪 | 用途 |
|---|---|---|
main |
zerx-lab/warp:main(默认分支) |
OpenWarp 主开发线,所有 PR 都提到这条分支。 |
warp-upstream |
warpdotdev/warp:master |
上游 Warp 的纯净镜像,用于拉取上游更新,不在此分支做 fork 自有改动。 |
贡献者须知
PR 请提到 main,不要提到 warp-upstream。
维护者须知(具有写权限)
main 分支的 "Sync fork" 按钮。这会把上游整段历史直接合并进 OpenWarp 主线,造成大规模冲突。拉取上游更新请通过镜像分支:
# 一次性配置
git remote add upstream https://github.com/warpdotdev/warp.git
# 刷新镜像分支
git checkout warp-upstream
git pull # 从 upstream/master 快进
git push origin warp-upstream
# 把需要的上游 commit 引入 main
git checkout main
git cherry-pick <sha> # 或在需要整体同步时 merge warp-upstream欢迎社区贡献。完整流程见 CONTRIBUTING.md。
提交 Issue 前,请先 搜索现有 Issues。 安全漏洞请按 CONTRIBUTING.md#reporting-security-issues 私下上报。
OpenWarp 站在 Warp 团队和众多开源项目的肩膀上:
Warp · genai · opencode · models.dev · Tokio · NuShell · Alacritty · Hyper · minijinja