Skip to content

Latest commit

 

History

History
143 lines (100 loc) · 6.1 KB

File metadata and controls

143 lines (100 loc) · 6.1 KB

OpenWarp

把任意 AI 模型,装进你的终端

OpenWarp 是基于 Warp 开源代码的社区分支 —— 在保留 Warp 全部终端体验的同时,加入 BYOP(Bring Your Own Provider) 能力, 让 AI 层完全开放:密钥、模型、提示词全部由你掌控。

English · 文档 · 上游 Warp

⚠️ 当前项目处于早期开发,尚未发布正式版本。与 Warp 官方公司无任何附属关系


✨ 为什么选 OpenWarp

Warp 官方客户端依赖云端 Agent 服务,AI 能力默认必须经过 Warp 后端。 OpenWarp 把这层完全打开:

维度 Warp 上游 OpenWarp
AI 提供商 Warp 官方网关 任意 OpenAI 兼容端点
凭证存储 云端账户 本地配置文件,零外发
系统提示词 后端组装,客户端不可见 minijinja 模板,完全可改
界面语言 英文 原生中英文,可扩展
Cloud Agent / Computer Use 默认开启 默认关闭,纯本地
体验(Blocks / Workflows / 键位) ✓ 完整保留
协议 AGPL-3.0 / MIT 双许可 与上游一致

🚀 三步,把 AI 完全握在自己手里

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 上游一致:

  • warpui_core / warpui crates 采用 MIT
  • 其余代码采用 AGPL-3.0

🌿 分支与上游同步

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 主线,造成大规模冲突。拉取上游更新请通过镜像分支:

# 一次性配置
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