惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Spread Privacy
Spread Privacy
P
Palo Alto Networks Blog
P
Proofpoint News Feed
AI
AI
Help Net Security
Help Net Security
S
Securelist
T
Troy Hunt's Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
C
Cisco Blogs
Scott Helme
Scott Helme
Hacker News - Newest:
Hacker News - Newest: "LLM"
Vercel News
Vercel News
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
B
Blog
GbyAI
GbyAI
Recent Commits to openclaw:main
Recent Commits to openclaw:main
D
Darknet – Hacking Tools, Hacker News & Cyber Security
P
Proofpoint News Feed
S
Security Affairs
Cisco Talos Blog
Cisco Talos Blog
AWS News Blog
AWS News Blog
T
Tenable Blog
H
Help Net Security
NISL@THU
NISL@THU
F
Fortinet All Blogs
博客园_首页
G
GRAHAM CLULEY
L
LINUX DO - 最新话题
P
Privacy International News Feed
G
Google Developers Blog
博客园 - Franky
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Security Archives - TechRepublic
Security Archives - TechRepublic
The Register - Security
The Register - Security
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
T
Tor Project blog
P
Privacy & Cybersecurity Law Blog
量子位
C
Cyber Attacks, Cyber Crime and Cyber Security
Forbes - Security
Forbes - Security
S
Secure Thoughts
Simon Willison's Weblog
Simon Willison's Weblog
D
Docker
Recorded Future
Recorded Future
博客园 - 三生石上(FineUI控件)
L
Lohrmann on Cybersecurity
T
Tailwind CSS Blog

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python) The Hidden Cost of AI Systems Nobody Talks About. undefined vs undeclared, and how typeof behaves Switching from file-based jobs to NATS/Kafka in Rust without changing code io_uring Adventures: Rust Servers That Love Syscalls Why Agentic AI is Killing the Traditional Database The POUR principles of web accessibility for developers and designers Quantum Neural Network 3D — A Deep Dive into Interactive WebGL Visualization How To Install Caveman In Codex On macOS And Windows Automation Pipeline Reliability: Why Your Workflow Breaks When Nobody Is Watching I Built an 'Open World' AI Coding Agent — It Works From ANY Folder From Freelancing to Product: A Tech Service Company's SaaS Transformation China's AI Giants: Adding Tencent Hunyuan & ByteDance Doubao to AI University (74 Providers) On the Vibe Coders and Their Lies clerk: Auto-Summarize Your Claude Code Sessions AI Weekly — 2026/04/10–04/17 | The Model Lockdown Is Here, but the Toolchain Is the Real Battleground AI 週報 — 2026/04/10–2026/04/17 模型封鎖潮來了,但工具鏈才是真戰場 Maybe this is how Open-Source apps are born... 🚀 Fine-Tune LLMs with LoRA and QLoRA: 2026 Guide tRPC v11 + Next.js App Router: End-to-End Type Safety Without the Boilerplate ShadCN UI in 2026: Why I Stopped Installing Component Libraries and Started Owning My Components SaaS Billing in React Server Components: Stripe + Supabase Without a Single `useEffect` Join our DEV Weekend Challenge — $1,000 in Prizes Across TEN winners! Submissions Due April 20 at 6:59 AM UTC. Implementing FSRS Spaced Repetition in Flutter + Supabase — Adding Memory Science to an AI Learning App "I Texted My Localhost From the Train — Claude Code Fixed the Bug Before I Got Home" I Built a Sales Prep AI and It Went Deeper Than Expected Design to Code #2: One JSON, Eleven Outputs Solving the 100M-Row Problem: A Summary Table Pattern for High-Volume Push Notification Logs Flutter Web With Wasm: What Actually Changes For Developers I Built 50 Royalty-Free Soundtracks for My Side Project in a Weekend Using AI Music Generation The Vibe Coding Security Checklist: 7 Things to Check Before You Ship Stop Letting Googlebot Guess Fix Your React App's SEO Right Desconstruindo o Streaming do LinkedIn: Como Criar um Engine de Extração de Vídeo de Alta Performance com HLS e FFmpeg (EDA Part-1) EDA (Exploratory Data Analysis) Explained With Real Life — Why Looking at Your Data Is the Most Important Step in Machine Learning Brand Relationship Management at Scale: Our 4-Touch Outreach System for 200+ Brands Why String.fromEnvironment() Might Return an Empty String in Dart JGuardrails 1.0.0 — Hardening Java LLM Apps Against Jailbreaks, Toxicity, and Prompt Injection Plan and Schedule a Full Week of Threads Content From One Claude Conversation Coding Cat Oran Ep3, Five Tables Changed Everything Updated: BFF Pattern I'm done watching freelancers get buried by 200 proposals. So I'm building the alternative. This is my first post BFS Algorithm in Java Step by Step Tutorial with Examples Tracking LLM Pricing Monthly: An Open Dataset for 22 AI Models How We Measure Content ROI on a Comparison Site: Revenue Attribution Without Perfect Data Introducing Nova AI Ops: The AI-Native Operating System for SRE Teams I built a free desktop video downloader for Windows — Grabbit How Talkie OCR Helps Vision-Impaired & Dyslexic Users Read the World Around Them VRCFaceTracking安装和iPhone面捕配置教程,有bug Even CrowdStrike Can't See Your Agents The Automation Gold Rush: What n8n Workflows and Claude Are Opening Up for Developers Right Now
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 &gt; 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>