Aklman · Library

07 / 第七章

管住它 · 模型、权限、命令审查.

一个会自己跑命令的 agent,信任是要管的。这章给三个旋钮:挑模型(Warp 自带额度,BYOK 用你自己的 OpenAI / Anthropic / Google key,或 custom endpoint 接 OpenAI-compatible 网关)、定权限(从每步都问,到全放行的 YOLO,加上 allowlist / denylist)、审命令(它要跑什么、改了什么,在 Code Review 面板里看)。放它自动跑之前,先把这三样调到你睡得着的位置。


一个会自己跑命令、还能接外部工具的 agent,信任是要管的 —— 不能全凭它自觉。这章给三个旋钮:挑模型(自带额度还是 BYOK)、定权限(从每步都问到全放行)、审命令(它要跑什么、改了什么)。放它自动跑之前,先把这三样调到你睡得着的位置。

I

挑模型:官方 credits、BYOK、custom endpoint.

模型这件事现在有三条路:用 Warp 官方模型和 credits,BYOK 接自己的 provider key,或者 custom inference endpoint 接自己的网关。 截至 2026-07-10,官方 Model Choice 里有 Auto 模式、OpenAI、Anthropic、Google、xAI 与 Fireworks-hosted open-weight 模型;你可以让 Warp 自动选,也可以指定模型。4注 4Warp Docs · Agent model choice —— 截至 2026-07-10,Model Choice 支持 Auto 模式、OpenAI、Anthropic、Google、xAI 与 Fireworks-hosted open-weight 模型;Auto 模型会按任务选择但仍消耗 Warp credits;Grok 模型可通过连接 SuperGrok 订阅走 xAI 账号而非 Warp credits;ZDR 可用性按模型变化。BYOK 支持 OpenAI、Anthropic、Google,Free 与符合条件的付费档可用;选中带 key 图标的具体模型时,推理费用走你的 provider 账单,不消耗 Warp AI credits。2注 2Warp Docs · Bring Your Own API Key —— 截至 2026-07-10,BYOK 支持 OpenAI、Anthropic、Google;Free 与符合条件的付费档可用(个人及 10 人以内组织,大组织需 Business / Enterprise);key 存本地但请求会经 Warp backend in-flight;用户级 BYOK 不适用于 Cloud Agents —— Enterprise 可由管理员配 team-managed keys(Warp 服务端保存),本地与云端都能用。(Grok 是另一条路:不填 API key,连接你的 SuperGrok 订阅,用 xAI 账号的额度跑 Grok 模型。4注 4Warp Docs · Agent model choice —— 截至 2026-07-10,Model Choice 支持 Auto 模式、OpenAI、Anthropic、Google、xAI 与 Fireworks-hosted open-weight 模型;Auto 模型会按任务选择但仍消耗 Warp credits;Grok 模型可通过连接 SuperGrok 订阅走 xAI 账号而非 Warp credits;ZDR 可用性按模型变化。)custom inference endpoint 则接任何 OpenAI-compatible endpoint,比如 OpenRouter、LiteLLM、z.ai 或公开 HTTPS 的内部网关;localhost 和私网 endpoint 不行。3注 3Warp Docs · Custom inference endpoint —— 截至 2026-07-10,自定义 endpoint 支持 OpenAI-compatible Chat Completions API,可接 OpenRouter、LiteLLM、z.ai 或公开 HTTPS 的内部网关;localhost / 私网地址会被拒绝(本机模型可经 ngrok 等隧道暴露成公网 HTTPS 后接入);custom endpoint 不适用于 Cloud Agents。 模型这个旋钮上最近多了一层:custom model router(2026-06-24 的版本起)。它不是第四条账本,是把「每次手挑模型」变成一条写好一次的策略:在设置里建,或写一个 YAML 放进 ~/.warp/custom_model_routers/,按任务复杂度分档(easy / medium / hard 各指一个模型,外加必填的兜底),或用自然语言规则自上而下匹配 —— 「改数据库迁移」走便宜的开源模型,「排查生产事故」走 frontier 模型。router 出现在模型选择器里,像选模型一样选它,每次请求解析成一个具体模型,你始终能看到实际跑的是哪个。两条边界要知道:router 和 Auto 一样只走 Warp credits,配了 BYOK 也不碰你的 key —— 想省 credits 仍要手选带 key 图标的模型;Team-synced routers(管理员给全团队共享)是 Enterprise 功能。5注 5Warp Docs · Custom routers —— 截至 2026-07-10,自定义 router 在设置里创建或以 YAML 存在 ~/.warp/custom_model_routers/,按任务复杂度(easy / medium / hard 加必填 default)或自然语言规则(自上而下、首条命中)把每次请求解析到一个具体模型;router 与 Auto 一样消耗 Warp credits、不走 BYOK key;Team-synced routers 是 Enterprise 功能。
模型路径适合你承担什么
官方模型 / official credits省心、Auto、custom routers、Cloud Agents、团队默认使用credits、模型可用性、计划限制
BYOK已有 OpenAI / Anthropic / Google 账单,希望控制 provider 成本API key 安全、provider 成本、rate limit、provider 数据策略
custom inference endpointOpenAI-compatible router / gateway / self-hosted public endpoint兼容性、公开可达性、延迟、稳定性、日志与隐私
local model仅当通过公开 HTTPS 的 OpenAI-compatible gateway 暴露给 Warp它不是本机 localhost 直连
提示词BYOK 设置前 checklist
准备在 Warp 里配置 BYOK / custom endpoint。
先确认:
- 我用的是具体 provider model,不是 Auto;
- 这个 key 的权限最小、可撤销、有预算上限;
- provider 侧 retention / training 设置符合项目要求;
- 我知道请求会经 Warp backend in-flight;
- 这不会覆盖 Cloud Agents;
- 出错时是否允许 fallback 到 Warp credits。
准备在 Warp 里配置 Anthropic BYOK。
先确认:
- 我选的是 Claude Sonnet 这个具体模型,不是 Auto;
- 这个 Anthropic key 只开了 inference 权限、能在控制台一键撤销、设了每月 50 美元上限;
- Anthropic 侧 retention 设为 30 天、已关掉 training,符合项目要求;
- 我知道请求会经 Warp backend in-flight;
- 这不会覆盖 Cloud Agents;
- 出错时允许 fallback 到 Warp credits。

II

定权限:从每步都问到 YOLO.

自主度不是一个开关,是一条从「每步都问」到「全放行」的滑杆 —— 你该停在中间。 四档权限(Agent Decides / Always ask / Always allow / Never)分别管读文件、做计划、执行命令、调 MCP,常用的中间档是「确信就做、不确定才问」。两侧用清单兜底:allowlist 在 Settings > Agents > Profiles > Command allowlist,接正则,把你信得过的只读命令放进去自动跑;denylist 放绝不能自动跑的,且它优先于 allowlist 和「Agent decides」,命中必须人工批准。1注 1Warp Docs · Agent Profiles & Permissions —— 截至 2026-07-10,Profile 可配置 base model、autonomy、tool access、读文件/计划/执行命令/Full Terminal Use/MCP 等权限,每项分 Agent Decides / Always ask / Always allow / Never 四档;allowlist 接正则,denylist 优先于 allowlist 与 Agent Decides;Run until completion 会绕过 denylist。
提示词Agent 权限边界模板
Profile 名称:<safe-ops / local-dev / sandbox-yolo>
Base model:<model>
默认自主度:<Agent decides / Always ask / Always allow / Never>
允许自动读:<目录/文件类型>
允许自动执行:<只读命令正则>
必须询问:写入、删除、网络下载、sudo、MCP 写工具
禁止:生产数据库写入、deploy、secret 输出、home 目录批量改动
验收:每次结束必须给命令列表、变更 diff、验证命令和结果。
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、验证命令和结果。
# allowlist — 只读、低风险,自动免确认跑
which .*
ls(\s.*)?
grep(\s.*)?
git (status|diff|log)(\s.*)?
 
# denylist — 优先级最高,命中永远要你点头
rm\s+-rf?\s.*
.*\bdrop\s+(table|database)\b.*
kubectl\s+.*\bdelete\b.*

起步 allowlist / denylist(正则)

III

审命令:它要跑什么、改了什么.

放手不等于不看 —— 它跑前给你命令,跑后给你 diff,这两眼你得花。 默认让它「先给命令、确认再跑」,把要执行的那行摆到你眼前;改动则进 Code Review 面板,diff 框起来看,而不是淹在终端输出里。信任是分类建立的:同一类命令你审过几次没问题,就把它的正则挪进 allowlist;没底的那类,一直留在「每次问」。别一上来就全放,也别永远每步都拦 —— 按命令类别逐步松手。 给你的 agent 设一个你睡得着的 Profile:

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

How far you can let go is how far you set the bounds.

Aklman Library

讨论

讨论.

评论区初始化中…