完全去中心化的终端,把 AI 与 Agent 的控制权全部交还给你
OpenWarp 是基于 Warp 开源代码的社区分支 —— 保留 Warp 全部终端体验,同时剥离对 Warp 云端的依赖, 开放 AI 接入层、第三方 Agent 接入、SSH 管理与渲染细节, 让密钥、模型、提示词、Agent、会话历史 全部留在本地。
当前项目处于早期开发,尚未发布正式版本。与 Warp 官方公司无任何附属关系。
Warp 官方客户端的 AI、账号、同步、Agent 历史全部依赖 Warp 云端服务。 OpenWarp 把这层完全打开,并在上游基础上追加了一批上游不支持的能力:
| 维度 | Warp 上游 | OpenWarp |
|---|---|---|
| 云端依赖 | 强依赖 Warp 后端(账号 / Drive / 历史 / Agent) | 完全去中心化,无任何强制云端调用 |
| AI 提供商 | 仅 Warp 官方网关 | 任意 OpenAI 兼容端点 + 6 种原生协议 |
| 第三方 Agent | 仅内置 Warp Agent | 可接入任意 CLI Agent,内置 DeepSeek-TUI / Codex / Claude Code 等 |
| SSH 管理 | 无内置 SSH 管理器 | 内置 SSH 主机管理器(连接 / 配置 / tmux 集成) |
| Markdown 渲染 | 上游基础渲染 | 优化 MD 渲染管线,代码块 / 表格 / 中文混排更稳 |
| 字体渲染 | 上游 cosmic_text 默认路径 | CJK 软换行 caret / 中文加粗子像素优化 |
| 凭证存储 | 云端账户 | 本地配置文件,零外发 |
| 系统提示词 | 后端组装,客户端不可见 | minijinja 模板,完全可改 |
| 界面语言 | 英文 | 原生中英文,可扩展 |
| Cloud Agent / Computer Use | 默认开启 | 默认关闭(并在持续物理剥离中) |
| 体验(Blocks / Workflows / 键位) | 保留 | 完整保留并持续合并上游 |
| 协议 | AGPL-3.0 / MIT 双许可 | 与上游一致 |
以下能力上游 Warp 不提供,是 OpenWarp 在 fork 之上新增的差异化功能:
- SSH 主机管理器 —— 内置 SSH 连接、配置与会话管理(支持 tmux 集成),不再依赖外部工具切换远端。
- 第三方 CLI Agent 接入 —— 可把任意 CLI Agent 接入终端 Block 体系,内置适配:
- DeepSeek-TUI(完成通知 / 文本通知映射 / 输入框恢复链路均已打通)
- Codex CLI、Claude Code 等主流 CLI Agent
- 通过 OSC9 / OSC777 通知机制统一进入 Warp 通知中心
- 多 AI 提供商 BYOP —— 6 种原生协议(OpenAI / OpenAIResp / Anthropic / Gemini / Ollama / DeepSeek)显式绑定,任意 OpenAI 兼容代理即插即用,凭证仅存本地。
- 完全去中心化 —— 无 Warp 账号、无强制登录、无云端 Drive / Notebook 同步、无 Agent 云端历史;按计划逐步物理删除 Warp 云端代码路径。
- Markdown 渲染优化 —— 改进 AI Block 中代码块、表格、列表与中英文混排的渲染稳定性。
- 字体渲染算法优化 —— 修复 CJK 软换行后 caret 索引偏移、设置页中文小字号加粗发糊等上游遗留问题。
01 · 接入任意提供商 设置中粘贴 Base URL 与 API Key —— 任何 OpenAI Chat Completions 兼容端点都即插即用, 凭证仅保存在本地。
02 · 编写动态提示词 基于 minijinja 模板引擎,根据当前工作目录、语言、角色实时渲染系统提示词。
03 · 在终端立即启用 一键切换模型、对话、命令补全、第三方 Agent —— 体验与 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 自定义提供商 — 6 种原生协议显式绑定,基于 genai 0.6
- 第三方 Agent 接入 — DeepSeek-TUI / Codex CLI / Claude Code 等通过 OSC9 通知统一进入 Block 与通知中心
- SSH 主机管理器 — 终端内直接管理 SSH 主机与会话,集成 tmux
- 流式打字机 — 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 子页搜索框快速添加,内置数千模型元数据
- 渲染优化 — Markdown 渲染管线 + CJK 字体软换行 / 加粗算法修复
- 隐私优先 — Cloud Agent / Computer Use / Referral / 遥测全部默认关闭
- 保留 Warp 体验 — 持续合并上游,Blocks / Workflows / AI 命令 / Keymaps / 主题完整保留
- 多语言界面 — 简体中文 + English,后续社区可扩展
OpenWarp 想成为这样一个终端:
- 不依赖任何中心化服务也能完整运行 —— 没有账号、没有强制登录、没有"必须连云端才能用"的功能。
- AI 与 Agent 是开放生态而非单一供应商 —— 主流 LLM Provider 与 CLI Agent 都能平等接入。
- 远端工作流原生融入终端 —— SSH / tmux / 远端会话作为一等公民,而不是外挂。
- 渲染细节配得上长时间使用 —— 中英混排、Markdown、代码块、字体渲染都不应是体验的短板。
- 持续与上游 Warp 同步 —— 享受 Warp 团队的工程红利,但保留 fork 的方向自主权。
如果你认同这些目标,欢迎一起把它做完。
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。
维护者须知(具有写权限)
不要在 GitHub 网页上点 main 分支的 "Sync fork" 按钮。这会把上游整段历史直接合并进 OpenWarp 主线,造成大规模冲突。拉取上游更新请通过镜像分支,并参考 docs/openwarp-upstream-sync.md 中的黑名单与流程:
# 一次性配置
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
DeepSeek-TUI —— DeepSeek 模型家族的 终端 UI。OpenWarp 提供一流的接入支持:完成通知、OSC9 文本通知映射、输入框恢复 链路均已打通,DeepSeek-TUI 可作为原生 Block 在 OpenWarp 中运行。
在任意 OpenWarp 终端中执行 deepseek 即可启动,Block 生命周期、底部状态条与
通知中心全部开箱即用。
Windows 用户注意 —— DeepSeek-TUI 的
[notifications].method默认值是auto,在 Windows 上,只有当TERM_PROGRAM命中其内置白名单 (iTerm.app / Ghostty / WezTerm)时才会走 OSC9,否则 fallback 为Off。 OpenWarp 将自身标记为WarpTerminal,因此 Windows 下要让 DeepSeek-TUI 的 完成通知进入 OpenWarp 通知中心,需要在~/.deepseek/config.toml中显式指定:[notifications] method = "osc9" [tui] notification_condition = "always" # 可选:每轮都通知,不受时长阈值限制
如果你在维护 CLI Agent 或与终端深度结合的工具,希望获得同等级别的接入支持, 欢迎开 issue —— 我们乐于继续接入更多合作伙伴。
欢迎社区贡献。完整流程见 CONTRIBUTING.md。
提交 Issue 前,请先 搜索现有 Issues。 安全漏洞请按 CONTRIBUTING.md#reporting-security-issues 私下上报。
OpenWarp 站在 Warp 团队和众多开源项目的肩膀上:
Warp · genai · opencode · models.dev · DeepSeek-TUI · Codex CLI · Tokio · NuShell · Alacritty · Hyper · minijinja · cosmic-text