Warp Terminal 在 GitHub 斩获 44769 星,但 90% 的开发者只知道它是个好看的终端
韩
·
2026-04-30
·
via DEV Community
<p><strong>点名:</strong> @warpdotdev <a class="mentioned-user" href="https://dev.to/levelsio">@levelsio</a> <a class="mentioned-user" href="https://dev.to/amasad">@amasad</a> — 如果你还在用普通的终端跑 Claude Code,你真的在浪费巨大的生产力。</p> <p>让我震惊的事实:Warp 刚刚发布 1.0 版本,GitHub 斩获 <strong>44,769 颗星</strong>,但大多数开发者还把它当一个"更好看的终端"用。他们不知道它内置了完整的 <strong>Agent 开发环境</strong>,可以同时跑 Claude Code、Codex 和 Gemini CLI——全部在一个界面里。</p> <p>今天我来揭露 5 个让 Warp 从"好看终端"变成"AI 编码总部"的神级功能。</p> <h2> 1. Oz Agent —— 云端多 Agent 编排,3行命令并行处理 </h2> <p>大多数人的认知:Warp = 终端 + AI 自动补全。太天真了。Warp 的 <strong>Oz</strong> 是一个云端 Agent 编排平台,可以启动<strong>无限并行</strong>的编码 Agent,全部可编程、可审计、可控制。</p> <p>这才是真正的 Agent 级开发——不是"AI 给你建议一个命令",而是 AI 直接帮你把活干了。<br> </p> <div class="highlight js-code-highlight"> <pre class="highlight python"><code><span class="kn">import</span> <span class="n">requests</span> <span class="c1"># 通过 Warp API 启动并行 Agent </span><span class="n">WARP_API_KEY</span> <span class="o">=</span> <span class="sh">"</span><span class="s">your-key-here</span><span class="sh">"</span> <span class="n">agents</span> <span class="o">=</span> <span class="p">[</span> <span class="p">{</span> <span class="sh">"</span><span class="s">name</span><span class="sh">"</span><span class="p">:</span> <span class="sh">"</span><span class="s">frontend</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">prompt</span><span class="sh">"</span><span class="p">:</span> <span class="sh">"</span><span class="s">把所有 React 组件重构为 TypeScript,要求类型安全</span><span class="sh">"</span> <span class="p">},</span> <span class="p">{</span> <span class="sh">"</span><span class="s">name</span><span class="sh">"</span><span class="p">:</span> <span class="sh">"</span><span class="s">backend</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">prompt</span><span class="sh">"</span><span class="p">:</span> <span class="sh">"</span><span class="s">为所有 API 端点添加 Redis 缓存</span><span class="sh">"</span> <span class="p">},</span> <span class="p">{</span> <span class="sh">"</span><span class="s">name</span><span class="sh">"</span><span class="p">:</span> <span class="sh">"</span><span class="s">docs</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">prompt</span><span class="sh">"</span><span class="p">:</span> <span class="sh">"</span><span class="s">为项目生成完整的 API 文档</span><span class="sh">"</span> <span class="p">}</span> <span class="p">]</span> <span class="c1"># 同时启动 3 个 Agent </span><span class="k">for</span> <span class="n">agent</span> <span class="ow">in</span> <span class="n">agents</span><span class="p">:</span> <span class="n">resp</span> <span class="o">=</span> <span class="n">requests</span><span class="p">.</span><span class="nf">post</span><span class="p">(</span> <span class="sh">"</span><span class="s">https://api.warp.dev/v1/agents/spawn</span><span class="sh">"</span><span class="p">,</span> <span class="n">headers</span><span class="o">=</span><span class="p">{</span><span class="sh">"</span><span class="s">Authorization</span><span class="sh">"</span><span class="p">:</span> <span class="sa">f</span><span class="sh">"</span><span class="s">Bearer </span><span class="si">{</span><span class="n">WARP_API_KEY</span><span class="si">}</span><span class="sh">"</span><span class="p">},</span> <span class="n">json</span><span class="o">=</span><span class="n">agent</span> <span class="p">)</span> <span class="nf">print</span><span class="p">(</span><span class="sa">f</span><span class="sh">"</span><span class="s">启动 {{agent[</span><span class="sh">'</span><span class="s">name</span><span class="sh">'</span><span class="s">]}}: {{resp.json().get(</span><span class="sh">'</span><span class="s">id</span><span class="sh">'</span><span class="s">)}}</span><span class="sh">"</span><span class="p">)</span> <span class="c1"># 实时监控所有 Agent 状态 </span><span class="kn">import</span> <span class="n">time</span> <span class="k">while</span> <span class="bp">True</span><span class="p">:</span> <span class="n">status</span> <span class="o">=</span> <span class="n">requests</span><span class="p">.</span><span class="nf">get</span><span class="p">(</span> <span class="sh">"</span><span class="s">https://api.warp.dev/v1/agents/status</span><span class="sh">"</span><span class="p">,</span> <span class="n">headers</span><span class="o">=</span><span class="p">{</span><span class="sh">"</span><span class="s">Authorization</span><span class="sh">"</span><span class="p">:</span> <span class="sa">f</span><span class="sh">"</span><span class="s">Bearer </span><span class="si">{</span><span class="n">WARP_API_KEY</span><span class="si">}</span><span class="sh">"</span><span class="p">}</span> <span class="p">).</span><span class="nf">json</span><span class="p">()</span> <span class="k">for</span> <span class="n">agent</span> <span class="ow">in</span> <span class="n">status</span><span class="p">[</span><span class="sh">'</span><span class="s">agents</span><span class="sh">'</span><span class="p">]:</span> <span class="nf">print</span><span class="p">(</span><span class="sa">f</span><span class="sh">"</span><span class="s"> {{agent[</span><span class="sh">'</span><span class="s">name</span><span class="sh">'</span><span class="s">]}}: {{agent[</span><span class="sh">'</span><span class="s">status</span><span class="sh">'</span><span class="s">]}} ({{agent[</span><span class="sh">'</span><span class="s">progress</span><span class="sh">'</span><span class="s">]}}%)</span><span class="sh">"</span><span class="p">)</span> <span class="k">if</span> <span class="nf">all</span><span class="p">(</span><span class="n">a</span><span class="p">[</span><span class="sh">'</span><span class="s">status</span><span class="sh">'</span><span class="p">]</span> <span class="o">==</span> <span class="sh">'</span><span class="s">done</span><span class="sh">'</span> <span class="k">for</span> <span class="n">a</span> <span class="ow">in</span> <span class="n">status</span><span class="p">[</span><span class="sh">'</span><span class="s">agents</span><span class="sh">'</span><span class="p">]):</span> <span class="k">break</span> <span class="n">time</span><span class="p">.</span><span class="nf">sleep</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span> </code></pre> </div> <p>关键点:这些 Agent 运行在<strong>云端</strong>,不占用你本地资源。笔记本跑不动大模型?Warp Oz 帮你解决这个问题。</p> <p><strong>数据佐证:</strong> HN 上"<a href="https://news.ycombinator.com/item?id=46465626" rel="noopener noreferrer">Is anyone else drowning in terminal tabs running AI coding agents?</a>" 引发了强烈共鸣——开发者们迫切需要一个能统一管理多个 AI Agent 的工具,而 Warp Oz 正是答案。</p> <h2> 2. Warp Drive —— 给终端加个 GitHub,命令历史随意回滚 </h2> <p>你知道 GitHub 可以看代码版本历史吗?Warp 的 <strong>Drive</strong> 功能就是终端的版本控制——每个命令、每个输出、每个会话,自动存档。<br> </p> <div class="highlight js-code-highlight"> <pre class="highlight shell"><code><span class="c"># 在终端里创建命名快照</span> warp drive snapshot <span class="s2">"数据库迁移前"</span> <span class="c"># 列出所有快照</span> warp drive list <span class="c"># 恢复到任意历史状态</span> warp drive restore <span class="s2">"数据库迁移前"</span> <span class="c"># 对比两个快照的差异</span> warp drive diff <span class="s2">"2026-04-28"</span> <span class="s2">"2026-04-30"</span> </code></pre> </div> <div class="highlight js-code-highlight"> <pre class="highlight python"><code><span class="kn">import</span> <span class="n">requests</span> <span class="c1"># 用 API 批量管理会话版本 </span><span class="n">WARP_API_KEY</span> <span class="o">=</span> <span class="sh">"</span><span class="s">your-key-here</span><span class="sh">"</span> <span class="c1"># 导出完整的工作流报告 </span><span class="n">report</span> <span class="o">=</span> <span class="n">requests</span><span class="p">.</span><span class="nf">get</span><span class="p">(</span> <span class="sh">"</span><span class="s">https://api.warp.dev/v1/sessions/export</span><span class="sh">"</span><span class="p">,</span> <span class="n">headers</span><span class="o">=</span><span class="p">{</span><span class="sh">"</span><span class="s">Authorization</span><span class="sh">"</span><span class="p">:</span> <span class="sa">f</span><span class="sh">"</span><span class="s">Bearer </span><span class="si">{</span><span class="n">WARP_API_KEY</span><span class="si">}</span><span class="sh">"</span><span class="p">},</span> <span class="n">params</span><span class="o">=</span><span class="p">{</span><span class="sh">"</span><span class="s">format</span><span class="sh">"</span><span class="p">:</span> <span class="sh">"</span><span class="s">markdown</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">include_outputs</span><span class="sh">"</span><span class="p">:</span> <span class="bp">True</span><span class="p">}</span> <span class="p">)</span> <span class="k">with</span> <span class="nf">open</span><span class="p">(</span><span class="sh">"</span><span class="s">session-report.md</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">w</span><span class="sh">"</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span> <span class="n">f</span><span class="p">.</span><span class="nf">write</span><span class="p">(</span><span class="n">report</span><span class="p">.</span><span class="n">text</span><span class="p">)</span> <span class="nf">print</span><span class="p">(</span><span class="sh">"</span><span class="s">报告已导出:session-report.md</span><span class="sh">"</span><span class="p">)</span> </code></pre> </div> <p>再也不用担心误删文件、跑错脚本了。整个终端会话就像代码一样可以版本控制、回滚、审计。</p> <p><strong>为什么重要:</strong> Warp 曾在 HN 上引发"<a href="https://news.ycombinator.com/item?id=46465626" rel="noopener noreferrer">是否在未授权情况下向 LLM 发送终端会话</a>"的热议——用户隐私和数据控制是核心痛点,Drive 功能正是 Warp 对这个问题的系统性回答。</p> <h2> 3. Workflows —— 把重复工作流变成可复用的 Agent 流水线 </h2> <p>Warp 的 <strong>Workflows</strong> 功能让你把任意终端命令序列变成可复用、可分享的流水线——想象 GitHub Actions,但专为终端原生开发设计。<br> </p> <div class="highlight js-code-highlight"> <pre class="highlight yaml"><code><span class="c1"># ~/.warp/workflows/full-audit.yaml</span> <span class="c1"># 全栈安全 + 性能审计流水线</span> <span class="na">name</span><span class="pi">:</span> <span class="s">full-audit</span> <span class="na">description</span><span class="pi">:</span> <span class="s">自动化的安全 + 性能 + 代码质量审计</span> <span class="na">trigger</span><span class="pi">:</span> <span class="pi">-</span> <span class="s">manual</span> <span class="pi">-</span> <span class="na">schedule</span><span class="pi">:</span> <span class="s2">"</span><span class="s">0</span><span class="nv"> </span><span class="s">2</span><span class="nv"> </span><span class="s">*</span><span class="nv"> </span><span class="s">*</span><span class="nv"> </span><span class="s">*"</span> <span class="c1"># 每天凌晨2点自动运行</span> <span class="na">steps</span><span class="pi">:</span> <span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">security</span> <span class="na">command</span><span class="pi">:</span> <span class="s">npx snyk test --json</span> <span class="na">agent</span><span class="pi">:</span> <span class="kc">true</span> <span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">bundle</span> <span class="na">command</span><span class="pi">:</span> <span class="s">npx webpack-bundle-analyzer dist/stats.json</span> <span class="na">agent</span><span class="pi">:</span> <span class="kc">true</span> <span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">lighthouse</span> <span class="na">command</span><span class="pi">:</span> <span class="s">lhci autorun --config=lighthouserc.js</span> <span class="na">agent</span><span class="pi">:</span> <span class="kc">false</span> </code></pre> </div> <div class="highlight js-code-highlight"> <pre class="highlight shell"><code><span class="c"># 一行命令启动整个审计流水线</span> warp run full-audit <span class="nt">--repo</span> ~/projects/myapp <span class="c"># 查看流水线实时日志</span> warp logs <span class="nt">--follow</span> full-audit-20260430 </code></pre> </div> <p>每个步骤都可以带或不带 AI Agent。支持顺序执行、并行执行、跨仓库复用。社区已经在 <a href="https://github.com/warpdotdev/workflows" rel="noopener noreferrer">warpdotdev/workflows</a> 分享各种工作流——GitHub Actions 时代的终端原生 CI/CD。</p> <h2> 4. Block Mode —— 结构化输出,终端日志终于能看了 </h2> <p>这是最容易被忽视的功能。Warp 的 <strong>Block Mode</strong> 让任意命令的输出变成结构化、可读的美观格式——彻底告别 ANSI 转义码和原始 stdout 乱码。<br> </p> <div class="highlight js-code-highlight"> <pre class="highlight python"><code><span class="kn">import</span> <span class="n">json</span> <span class="c1"># Warp 自动将这个 JSON 渲染为格式化表格 </span><span class="n">result</span> <span class="o">=</span> <span class="p">{</span> <span class="sh">"</span><span class="s">type</span><span class="sh">"</span><span class="p">:</span> <span class="sh">"</span><span class="s">table</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">title</span><span class="sh">"</span><span class="p">:</span> <span class="sh">"</span><span class="s">代码库健康检查报告</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">columns</span><span class="sh">"</span><span class="p">:</span> <span class="p">[</span><span class="sh">"</span><span class="s">检查项</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">状态</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">评分</span><span class="sh">"</span><span class="p">],</span> <span class="sh">"</span><span class="s">rows</span><span class="sh">"</span><span class="p">:</span> <span class="p">[</span> <span class="p">[</span><span class="sh">"</span><span class="s">测试覆盖率</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">通过</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">87%</span><span class="sh">"</span><span class="p">],</span> <span class="p">[</span><span class="sh">"</span><span class="s">安全扫描</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">警告</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">2个中危漏洞</span><span class="sh">"</span><span class="p">],</span> <span class="p">[</span><span class="sh">"</span><span class="s">包体积</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">通过</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">142kb gzip后</span><span class="sh">"</span><span class="p">],</span> <span class="p">[</span><span class="sh">"</span><span class="s">API延迟</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">失败</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">P99 > 500ms</span><span class="sh">"</span><span class="p">]</span> <span class="p">]</span> <span class="p">}</span> <span class="c1"># Warp 会自动美化渲染,不需要额外的 CLI 工具 </span><span class="nf">print</span><span class="p">(</span><span class="n">json</span><span class="p">.</span><span class="nf">dumps</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">2</span><span class="p">))</span> </code></pre> </div> <p>Block Mode = 你的脚本、CI 输出、监控工具,全都能漂亮地显示。不用再对着日志乱码发愁。</p> <h2> 5. 任意 LLM、任意部署 —— 隐私优先的 Agent 编码 </h2> <p>这个功能应该让 Cursor 用户坐立不安:<strong>Warp 支持任何 AI 模型,包括本地模型。</strong><br> </p> <div class="highlight js-code-highlight"> <pre class="highlight shell"><code><span class="c"># 配置 Warp 使用本地 Ollama 模型(完全离线)</span> <span class="c"># 你的代码永远不会离开你的机器</span> <span class="nb">export </span><span class="nv">WARP_MODEL</span><span class="o">=</span><span class="s2">"ollama/llama3.2"</span> <span class="nb">export </span><span class="nv">WARP_BASE_URL</span><span class="o">=</span><span class="s2">"http://localhost:11434"</span> <span class="c"># 或者用 OpenRouter 获得模型多样性</span> <span class="nb">export </span><span class="nv">WARP_MODEL</span><span class="o">=</span><span class="s2">"anthropic/claude-3.5-sonnet"</span> <span class="nb">export </span><span class="nv">WARP_BASE_URL</span><span class="o">=</span><span class="s2">"https://openrouter.ai/api/v1"</span> <span class="nb">export </span><span class="nv">WARP_API_KEY</span><span class="o">=</span><span class="s2">"sk-or-v1-..."</span> <span class="c"># 在 Warp 里运行 Claude Code,任意模型后端</span> warp agents run <span class="nt">--model</span><span class="o">=</span>custom <span class="nt">--context-window</span><span class="o">=</span>200000 <span class="c"># 查看当前路由的模型配置</span> warp models list </code></pre> </div> <p>Cursor 强制绑定自家生态,Warp 却让你自由路由 AI 流量。敏感代码用本地模型,大模型任务用云端——按需切换,不被平台绑定。</p> <p><strong>数据对比:</strong> Void Editor(开源 Cursor 替代品)有 28,678 星,但<strong>已经公开暂停开发</strong>。Warp 同期发布 1.0 并明确聚焦 Agent 方向——从长期维护角度看,Warp 明显是更靠谱的选择。</p> <h2> 数据来源 </h2> <ul> <li>GitHub Stars: <a href="https://github.com/warpdotdev/warp" rel="noopener noreferrer">warpdotdev/warp</a> — 44,769 星</li> <li>HN 讨论: <a href="https://news.ycombinator.com/item?id=41563958" rel="noopener noreferrer">Void,开源 Cursor/Copilot 替代品</a> — 347 票</li> <li>HN 讨论: <a href="https://news.ycombinator.com/item?id=46465626" rel="noopener noreferrer">Warp 向 LLM 发送终端会话(未授权?)</a> — 94 票</li> <li>Warp 官方博客: <a href="https://www.warp.dev/blog/how-warp-works" rel="noopener noreferrer">How Warp Works</a> </li> <li>Warp Agents 介绍: <a href="https://www.warp.dev/agents" rel="noopener noreferrer">warp.dev/agents</a> </li> </ul> <h2> 你觉得哪个功能最有用? </h2> <p>Oz 的并行 Agent?Drive 的版本控制?还是任意 LLM 路由的隐私保护?</p> <p>评论区聊聊——你最想尝试哪个功能?我会认真看每一条回复。如果觉得有用,转发给还在用 iTerm2 的开发者朋友 😄</p> <p><em>相关阅读:</em></p> <ul> <li><a href="https://dev.to/_cbd692d476c5faf3b61bcf/beads-the-github-project-that-finally-gives-your-ai-coding-agent-a-memory-3m5f">Beads — 终于让 AI 编码 Agent 拥有记忆的 GitHub 开源项目</a></li> <li><a href="https://dev.to/_cbd692d476c5faf3b61bcf/cursor-tuan-dui-kai-yuan-de-opencode-wei-shi-yao-rang-quan-xing-ye-shui-bu-zhao-jue-5-ge-lian-wen-dang-du-mei-jiang-qing-chu-de-yin-cang-mo-shi-m8j">OpenCode:Cursor 团队开源的 AI 编码 Agent 为何让全行业睡不着</a></li> <li><a href="https://dev.to/_cbd692d476c5faf3b61bcf/dify-zhe-ge-139-mo-xing-de-xiang-mu-wei-shi-yao-90-de-tuan-dui-yong-cuo-liao--2aff">Dify:这颗 139k 星的模型项目,为什么 90% 的团队用错了</a></li> </ul>
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。