基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
  • 知识卡片碎片时间过考点
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
    • AI 热点每日 AI 资讯与动向
AI 工作台
简历
旧版
AIHT
内容
精选全部 AI 动态热点榜AI 日报收藏
分类
模型行业编程产品技术观点开源
更多
Agent 接入
返回首页开发者导航
AIHT
精选 / 资讯详情
8.0
热点
AI SCORE
编程提效2026-11-05 23:46

Qwen Code 自动审批边界需要检查

dev.to · AI#Qwen Code#AI编程#权限控制
Editor brief · 编辑速览

文章指出 Qwen Code 默认 Auto 模式会直接批准项目内多数文件编辑,只对部分敏感文件另行检查。其他操作可能交由模型分类器判断,因此自动模式下的执行范围需要结合配置确认。

文章思维导图
Knowledge map
拖拽缩放
AI deep read

AI 深度解读

Qwen Code 的 Auto 模式会直接放行项目内的大多数文件修改,不会逐次询问。原文提醒的关键是:按作者查到的实现,Auto 已成为新会话的默认模式,而名为 default 的模式才对应界面里的 Ask Permissions。

如果你希望 AI 改代码前先获得许可,需要主动切换模式,并区分「只改本次会话」和「以后每次都生效」。这篇最有用的地方,是把自动放行的边界和配置入口讲清楚了。

Auto 到底替你批准了什么

原文把 Auto 的审批行为分成三层。

第一层是项目内的文件编辑。普通源码修改会直接获批,连安全检查都不会进入。不过,Qwen 自身配置、.git/、package.json、CI 工作流等文件属于例外,仍然需要检查。原文没有列出完整例外清单。

第二层是只读工具。读文件、搜索、列目录,以及 ls、cat、git log 这类只读 shell 命令,都会直接放行。

第三层才交给分类器判断,包括其他 shell 命令、网页获取、子代理、MCP 工具,以及项目目录之外的编辑。这里的分类器是一次语言模型调用:优先用配置的 fast model,没有配置则使用主模型。模型判定安全,操作就会执行。

Auto 下,项目内普通源码的修改不会经过逐次确认,也不会先交给模型做安全判断。

因此,不能把 Auto 理解成「所有操作都先经过模型审查」。另外,如果你配置的是小型免费模型,它也可能承担第三层操作的审批判断;原文没有提供分类器误判率或不同模型的对照结果。

怎么让它每次都先询问

最容易混淆的是命名:界面里的 Ask Permissions,对应的配置值仍然叫 default;按原文描述,它却已经不是启动时的默认模式。

只想修改当前会话,可以按 Shift+Tab 切换模式,Windows 使用 Tab,并查看状态栏;也可以输入:

/approval-mode default

要留意最后的 default。它切换的是当前会话,退出后重新启动,仍可能回到 Auto。

希望以后每次都询问,可以把下面的配置写进用户级 ~/.qwen/settings.json,或当前项目的 .qwen/settings.json:

{
  "tools": {
    "approvalMode": "default"
  }
}

关键是 tools.approvalMode 的值为 "default"。用户级配置用于所有项目,项目级配置用于单个项目。

启动时也能传入 qwen --approval-mode default。命令行参数优先于配置文件,因此可以长期保留询问模式,需要临时提速时,再显式传入 --approval-mode auto-edit。原文没有展开 Auto 与 auto-edit 的完整行为差异,不宜仅凭名称把两者当成同一种模式。

放进编辑器,也要检查会话模式

通过 Agent Client Protocol(ACP)把 Qwen Code 接入 Zed、JetBrains 等客户端,并不会自然消除这个问题。按原文描述,如果宿主应用和用户配置都没有覆盖模式,新会话仍会进入 Auto。

客户端可以主动切换模式,有些应用会提供选择器。没有选择器时,可以在代理启动参数里加入 --approval-mode default,或者使用前面的配置文件。作者明确表示,这两种方式在 ACP 场景下都经过了他的验证。

作者是在给 Bellows 接入 Qwen Code 时发现这些行为的。Bellows 是他参与开发的免费桌面应用,支持 Qwen Code、Claude、Codex、Gemini CLI 等 ACP 代理。按他的描述,Bellows 会在会话启动时切到 Ask Permissions,把编辑和命令展示为待批准的卡片,并保留可还原的 diff。

这里要分清:自动切换模式、审批卡片和 diff 管理,是作者介绍的 Bellows 行为,不能据此推断所有 ACP 客户端都有同样体验。

我的判断

我认同这篇对权限边界的提醒。允许 AI 自动修改源码,与允许它运行命令,是两种不同的授权;用户需要知道工具分别如何处理它们。

但「其他情况最好都询问」仍是作者的经验判断。原文没有比较不同审批模式的效率、事故率,也没有提供足以证明分类器可靠性的测试数据。对于一次性分支上的长时间任务,自动放行可能减少中断;对于需要逐项审阅的改动,Ask Permissions 更符合使用预期。

此外,原文没有给出 Qwen Code 的具体版本号。因此,「Auto 是默认模式」应理解为作者检查时的行为,不能无限推广到所有历史版本和后续版本。作者也参与 Bellows 开发,其产品介绍应与前面的配置说明分别看待。

能拿来做什么

  • 如果你希望 Qwen Code 修改前端或 Node 项目时逐次询问,可以把 "approvalMode": "default" 写进合适层级的配置文件,并在新会话中查看状态栏确认模式。
  • 临时接手一个需要谨慎审阅的仓库时,可以用 qwen --approval-mode default 启动,避免只切换了上一次会话却误以为长期生效。
  • 通过 Zed、JetBrains 等 ACP 客户端使用时,检查客户端的模式选择器或代理启动参数;原文验证了设置文件和启动参数这两条路径。
  • 如果继续使用 Auto,先确认 fast model 的配置。它可能负责部分操作的放行判断,但项目内普通源码编辑依然会直接获批。
Original source

本文由 AI 通读原文后重新编写,观点部分为站内判断,细节以原文为准,来源 dev.to · AI,原文版权归原作者所有。

阅读原文
上一篇
AQuA 从会话中定位智能体隐性失败
下一篇
用工具参数校验阻止 Agent 静默出错

资讯速览

dev.to · AI · 2026-11-05 23:46

AI 评分 8.0 / 10

相关标签

#Qwen Code#AI编程#权限控制

继续阅读

  • 为模型 JSON 输出建立上线验收门禁
  • AQuA 从会话中定位智能体隐性失败
  • 用工具参数校验阻止 Agent 静默出错
  • Agent 执行 SQL 前该先估成本还是采样
  • 项目指令文件可能成为编程 Agent 攻击入口