# 管住它 · 配到「敢放手」再自动跑 · Warp · 一台终端形状的元工具

**作者** Aklman · **章节** 08 / 12 · **首发** 2026.08 · **语言** 中文为主, 中英双语
**原文** https://library.aklman.com/books/warp/08-control
**全书 markdown** https://library.aklman.com/books/warp/llms.md
**上一章** https://library.aklman.com/books/warp/07-mcp/llms.md
**下一章** https://library.aklman.com/books/warp/09-cloud/llms.md

> 本章来自 Aklman · Library, 完整免费阅读。允许 AI 摘读、引用、问答; 转载请保留作者署名与原文链接 (CC BY-NC-ND 4.0, https://library.aklman.com/license)。

---

> 一个会自己跑命令的 agent,信任是要管的。这章从零配出一个敢放手的 profile:选模型(官方 credits / BYOK / custom endpoint 三条账本)、定权限(四档加 allowlist 与 denylist)、审命令(跑前你看见,跑完你看 diff)—— 配完用一次真实改动验收。

一个会自己跑命令、还能接外部工具的 agent,信任是要管的 —— 不能全凭它自觉。这章带你从零配出一个「敢放手」的 profile:建出来,权限定好,allowlist 与 denylist 写死,然后用一次真实改动当场验收 —— 看它该自动的自动、该拦的拦住。配完这三节细讲背后的三本账:选模型、定权限、审命令。

### I · 主线:配一个敢放手的 local-dev profile

- **建:Settings > Agents > Profiles 新建 local-dev**:
 新建一个 profile,命名 `local-dev`,base model 先选你常用的那档(Auto 也行,模型账第二节再细算)。Profile 的意义是把「这台机器上干什么活、放到什么程度」固定成一个可以复用的组合,而不是每次会话现调。[^1]

- **定:四档权限 + 两张清单**:
 执行命令设 Agent decides(确信就做、不确定才问);Apply code diffs 注意:`Agent decides` 目前等同 Always ask,只有 Always allow 才跳过 diff 审查 —— 想看 diff 就不用动它。allowlist 放三条只读正则(`git (status|diff|log)` 这类),denylist 放 `rm`、`curl`、`wget`、`eval` 这类红线 —— denylist 优先于一切。[^1]

- **验:一次真实改动当场验收**:
 派一个真任务(第四章那类修 bug 就行),盯两件事:allowlist 里的 git status 它不问就跑 —— 这是省事;denylist 里的命令它必须停下来问你 —— 这是保命。两个都发生,profile 才算配成;拦了不该拦的、放了不该放的,回去改正则。

- **调:信任按类别逐步松手**:
 同一类命令审过几次都没问题,把它的正则挪进 allowlist;没底的那类一直留在「每次问」。别一上来全放,也别永远每步都拦 —— 敢放手不是一次决定,是一条曲线。单个会话想临时放开,有 /fast-forward(GUI 和 TUI 都有);长期组合则从 2026-07-31 起全员可以从设置文件配置,不用在 UI 里逐台机器点。

---

### II · 选模型:官方 credits、BYOK、custom endpoint 三本账

模型这件事有三条路:用 Warp 官方模型和 credits,BYOK 接自己的 provider key,或者 custom inference endpoint 接自己的网关。官方 Model Choice 里有四档 Auto 和 OpenAI、Anthropic、Google、xAI、Fireworks-hosted 开源模型(完整名单和价格见第十一章);BYOK 支持 OpenAI、Anthropic、Google,Free 就能用,选中带 key 图标的具体模型时推理走你的 provider 账单、不耗 Warp credits;[^4][^2]custom endpoint 接任何 OpenAI-compatible 目标,2026-07-31 起还能选 schema(OpenAI Chat Completions / OpenAI Responses / Anthropic Messages),localhost 和私网地址不行。[^3]

模型旋钮上还有一层:**custom model router**。它不是第四本账,是把「每次手挑模型」变成写好一次的策略:Settings > AI > Custom Routers 里建,或写 YAML 放进 `~/.warp/custom_model_routers/`,按任务复杂度分档或自然语言规则匹配 —— 「改数据库迁移」走便宜模型,「排查生产事故」走 frontier 模型。它在模型选择器里像模型一样被选,每次请求解析成一个具体模型,你始终能看到实际跑的是哪个。两处更新:router 现在能和 BYOK 组合(解析出模型后走你的 key);但 router 永远不能用 custom endpoint。[^5]

| 模型路径 | 适合 | 你承担什么 |
| :-- | :-- | :-- |
| 官方模型 / official credits | 省心、Auto、custom routers、Cloud Agents、团队默认使用 | credits、模型可用性、计划限制 |
| **BYOK** | 已有 OpenAI / Anthropic / Google 账单,希望控制 provider 成本 | API key 安全、provider 成本、rate limit、provider 数据策略 |
| custom inference endpoint | OpenAI-compatible router / gateway / self-hosted public endpoint | 兼容性、公开可达性、延迟、稳定性、日志与隐私 |
| local model | 仅当通过公开 HTTPS 的 OpenAI-compatible gateway 暴露给 Warp | 它不是本机 localhost 直连 |

> 三个边界要写死:**你本机配的 BYOK 和 custom endpoint 都不适用于 Cloud Agents** —— key 存在你设备上,云端 run 拿不到,cloud run 照常消耗 Warp credits;**BYOK 失败默认不 fallback 到 credits**,要兜底去开 opt-in 的 credit fallback;**ChatGPT / Claude 的消费级订阅接不进来**,消费订阅路径只有 SuperGrok。另外,集中管理的 admin BYOK 还没上线,Enterprise 的托管推理走 BYOLLM(AWS Bedrock 起步)。别把 BYOK 理解成「所有 Warp AI 都不花 Warp 钱」。[^2][^3]

**提示词 · BYOK 设置前 checklist**

```text
准备在 Warp 里配置 BYOK / custom endpoint。
先确认:
- 我用的是具体 provider model,不是 Auto;
- 这个 key 的权限最小、可撤销、有预算上限;
- provider 侧 retention / training 设置符合项目要求;
- 我知道请求会经 Warp backend in-flight;
- 这不会覆盖 Cloud Agents;
- 失败默认不 fallback,要不要开 opt-in credit fallback。
```

**示例**

```text
准备在 Warp 里配置 Anthropic BYOK。
先确认:
- 我选的是 Claude Sonnet 这个具体模型,不是 Auto;
- 这个 Anthropic key 只开了 inference 权限、能在控制台一键撤销、设了每月 50 美元上限;
- Anthropic 侧 retention 设为 30 天、已关掉 training,符合项目要求;
- 我知道请求会经 Warp backend in-flight;
- 这不会覆盖 Cloud Agents;
- 开 opt-in credit fallback 兜底,免得限流时断活。
```

---

### III · 定权限:四档、两清单、一个绝不能开错的开关

自主度不是一个开关,是一条从「每步都问」到「全放行」的滑杆 —— 你该停在中间。四档(Agent Decides / Always ask / Always allow / Never)分别管 diff 落地、读文件、做计划、执行命令、Full Terminal Use、问澄清问题;常用的中间档是「确信就做、不确定才问」。两侧用清单兜底:allowlist 在 `Settings > Agents > Profiles`,接正则,把信得过的只读命令放进去自动跑;denylist 放绝不能自动跑的,优先于 allowlist 和「Agent decides」,命中必须人工批准。[^1]

_起步 allowlist / denylist(正则;denylist 四条即文档默认例)_
```text

```text
# allowlist — 只读、低风险,自动免确认跑
which .*
ls(\s.*)?
grep(\s.*)?
git (status|diff|log)(\s.*)?

# denylist — 优先级最高,命中永远要你点头
wget(\s.*)?
curl(\s.*)?
rm(\s.*)?
eval(\s.*)?
```

```

**提示词 · Agent 权限边界模板**

```text
Profile 名称:<safe-ops / local-dev / sandbox-yolo>
Base model:<model>
默认自主度:<Agent decides / Always ask / Always allow / Never>
允许自动读:<目录/文件类型>
允许自动执行:<只读命令正则>
必须询问:写入、删除、网络下载、sudo、MCP 写工具
禁止:生产数据库写入、deploy、secret 输出、home 目录批量改动
验收:每次结束必须给命令列表、变更 diff、验证命令和结果。
```

**示例**

```text
Profile 名称:local-dev
Base model:Claude Sonnet
默认自主度:Agent decides
允许自动读:./src 下的 .ts / .tsx 和 package.json
允许自动执行:^(ls|cat|git (status|diff|log)|npm run lint)\b
必须询问:写入、删除、网络下载、sudo、MCP 写工具
禁止:生产数据库写入、deploy、secret 输出、home 目录批量改动
验收:每次结束必须给命令列表、变更 diff、验证命令和结果。
```

> 一档要单独警告:「Run until completion」(`⌘⇧I` / `Ctrl+Shift+I`)**连 denylist 都不看** —— 它是最纯的 YOLO,agent 一路跑到底、什么都不问,你写在 denylist 里的 `rm`、`drop` 也拦不住。只在沙箱或一次性环境里开,别在能碰到生产或重要数据的机器上用。单个会话的临时放开用 `/fast-forward`,别动全局档。[^1]

---

### IV · 审命令:它要跑什么、改了什么

放手不等于不看 —— 它跑前给你命令,跑后给你 diff,这两眼你得花。默认让它「先给命令、确认再跑」,把要执行的那行摆到你眼前;改动则进 Code Review 面板,diff 框起来看,而不是淹在终端输出里。Apply code diffs 那档别贪快设成 Always allow —— 那是把 review 这一眼也省掉。

- 命令审查:目录对不对、账号对不对、环境变量对不对。

- 命令审查:有没有删除、覆盖、权限变更、网络下载、sudo、生产 host。

- 命令审查:能不能先 dry-run、小样本、只读 SELECT。

- 成本控制:Auto 消耗 Warp credits;router 可以走 BYOK,但 endpoint 不行;provider 账单也要设预算。

- 成本控制:Cloud Agents 不走 BYOK;上云前先看 credit 余额和验收方式。

> 什么时候不要用 BYOK:你不想管理两套账单;provider 侧没有你需要的 ZDR/retention 设置;团队需要中央模型治理而不是每个人本地加 key;任务主要跑 Cloud Agents;或者你只是偶尔问几句。BYOK 是控制权,不是免费额度。

验收这一章 —— 你的 local-dev profile 要当场配完、当场验过:

- 建好 `local-dev` profile,选好了模型路径:官方 credits、BYOK,还是 custom inference endpoint。

- allowlist 里有几条只读命令正则,denylist 里有 `rm`、`curl`、`wget`、`eval` 和指向生产的命令。

- 用一次真实改动验收过:该自动的自动跑了,该拦的拦住问我了。

- 自主度停在「确信才做、不确定就问」,没误开 Run until completion;临时放开用 `/fast-forward`。

- 记住:BYOK / custom endpoint 不覆盖 Cloud Agents;BYOK 失败默认不 fallback;消费级订阅接不进来。

> 你能放手的程度,
> 取决于你设界的程度

## 引用与参考

01 · Warp Docs · Agent Profiles & Permissions —— 截至 2026-08-06:Profile 可配置 base model(也用于 Planning)、autonomy 与各类权限(Apply code diffs / 读文件 / 做计划 / 执行命令 / Full Terminal Use / 问澄清问题),每项分 Agent Decides / Always ask / Always allow / Never 四档;Apply code diffs 的 Agent decides 目前等同 Always ask,只有 Always allow 跳过 diff 审查;问问题权限三档(Never ask / Ask unless auto-approve / Always ask);allowlist 接正则,denylist 优先于 allowlist 与 Agent Decides;Run until completion(⌘⇧I)连 denylist 都绕过。2026-07-23 起 /fast-forward 可切换单会话 autoexecute(GUI+TUI);2026-07-31 起 execution profiles 全员可从设置文件配置。  (Warp Docs · Profiles & Permissions)
02 · Warp Docs · Bring Your Own API Key —— 截至 2026-08-06:BYOK 支持 OpenAI、Anthropic、Google;Free 与符合条件的付费档可用(个人及 10 人以内组织,大组织需 Business / Enterprise);key 存本地 OS keychain、请求经 Warp backend in-flight、不存服务端;选中具体 BYOK 模型时优先于 credits;失败 / 限流默认不 fallback 到 Warp credits,有 opt-in 的 credit fallback;ChatGPT / Claude 消费级订阅不能接入(SuperGrok 是唯一消费订阅路径);BYOK 不适用于 Cloud Agents;中心化 admin-managed BYOK 尚未上线,Enterprise 的托管推理走 BYOLLM(当前 AWS Bedrock,Azure Foundry 与 Google Vertex coming soon)。配置入口:Settings 搜 API keys。  (Warp Docs · BYOK)
03 · Warp Docs · Custom inference endpoint + changelog 2026-07-31 —— endpoint 接 OpenAI-compatible 目标(OpenRouter、LiteLLM、z.ai、公开 HTTPS 的内部网关);localhost / 私网被拒(本机模型经 ngrok 类隧道暴露);key 存本地;不适用于 Cloud Agents;Business / Enterprise 本地经 endpoint 仍消耗 platform credits;2026-07-31 起 endpoint 可选 OpenAI Chat Completions / OpenAI Responses / Anthropic Messages 三种 schema(文档页仍只写 Chat Completions,以 changelog 为准)。router 现在可以与 BYOK 组合(解析出模型后套用你的 BYOK key),但永远不能用 custom endpoint。  (Warp Docs · Custom endpoint)
04 · Warp Docs · Agent model choice —— 截至 2026-08-06:Auto 模式四档(Responsive / Cost-efficient / Genius / Open-weights),模型名单覆盖 OpenAI、Anthropic、Google、xAI 与 Fireworks-hosted 开源模型(完整名单与档位价格见第十一章);存在 model fallback chain;每个 Profile 可设独立 base model;Grok 可走连接的 SuperGrok 订阅(xAI 账号额度,不耗 Warp credits);ZDR 可用性按模型变化(Fable 5 要求 Anthropic 数据保留,无 ZDR)。  (Warp Docs · Model choice)
05 · Warp Docs · Custom routers —— 截至 2026-08-06:在 Settings > AI > Custom Routers 建,或写 YAML 放 ~/.warp/custom_model_routers/;按任务复杂度(easy / medium / hard 加必填 default)或自然语言规则(自上而下首条命中)把每次请求解析到一个具体模型;出现在模型选择器里;可与 BYOK 组合;Team-synced routers 是 Enterprise 功能。  (Warp Docs · Custom routers)

---

*管住它 · 配到「敢放手」再自动跑 · Warp · 一台终端形状的元工具 · Aklman 著 · CC BY-NC-ND 4.0 · https://library.aklman.com/books/warp/08-control*
