受信任的文件夹
“受信任的文件夹”功能是一项安全设置,让你能够控制哪些项目可以使用 Qwen Code 的全部能力。它通过要求你在加载任何项目特定配置之前先批准一个文件夹,来防止潜在的恶意代码运行。
启用该功能
“受信任的文件夹”功能默认处于禁用状态。要使用它,你首先需要在设置中启用它。
在你的用户 settings.json 文件中添加以下内容:
{
"security": {
"folderTrust": {
"enabled": true
}
}
}工作原理:信任对话框
启用该功能后,当你首次从某个文件夹运行 Qwen Code 时,会自动弹出一个对话框,提示你做出选择:
- 信任文件夹:授予当前文件夹完全信任(例如
my-project)。 - 信任父文件夹:授予父目录信任(例如
safe-projects),同时自动信任该父目录下的所有子文件夹。如果你将所有安全项目放在同一个位置,这会非常有用。 - 不信任:将该文件夹标记为不受信任。CLI 将以受限的“安全模式”运行。
你的选择会保存在一个中央文件(~/.qwen/trustedFolders.json)中,因此每个文件夹只会被询问一次。
该功能采用 fail closed(失败即拒绝)机制:在你做出选择之前,文件夹被视为不受信任,而非默认受信任。如果该文件缺失——例如新机器、恢复的主目录、同步的 dotfiles 配置——所有未被更高优先级信号决定的文件夹(参见下方”信任检查过程(高级)“)都将以不受信任状态开始,包括你之前信任过的文件夹。当信任检查到达文件规则时,不可读的文件、无效的 JSONC 语法或非对象文档将被视为严重的配置错误。缓存加载失败会使 CLI 停止并提示”请修复配置文件并重试。“,daemon 的 v1 信任检查返回 500 trusted_folders_invalid;先前 IDE 的信任决策可以绕过这些基于文件的检查。grant writer 在持久化规则之前仍会验证文件。手动修复或删除该文件,然后重启 daemon 以清除失败的加载状态。接受注释和尾随逗号。无效的信任级别值会被 grant writer 和 v2 策略读取器检测到,但不会被旧版 v1 读取器验证;v2 将策略错误报告为 200,并带有 configured.state: "error"。在缓存加载后变为无效的文件可能在 grant 写入时失败并返回 500 internal_error,或在写入后策略验证时失败并返回 409 trust_grant_ineffective。
信任为何重要:不受信任工作区的影响
当一个文件夹不受信任时,Qwen Code 会在受限的“安全模式”下运行以保护你。在此模式下,以下功能将被禁用:
-
工作区设置被忽略:CLI 不会加载项目中的
.qwen/settings.json文件。这可以防止自定义工具及其他潜在危险配置被加载。 -
环境变量被忽略:CLI 不会加载项目中的任何
.env文件。 -
扩展管理受限:你无法安装、更新或卸载扩展。
-
工具自动接受被禁用:即使你在全局启用了自动接受,每次运行工具前都会收到提示。
-
自动记忆加载被禁用:CLI 不会自动从本地设置中指定的目录加载文件到上下文中。
授予文件夹信任后,Qwen Code 的完整功能将在该工作区中解锁。
管理你的信任设置
如果你需要更改某个决策或查看所有设置,有几种选择:
-
更改当前文件夹的信任状态:在 CLI 中运行
/permissions命令。这会弹出同样的交互式对话框,允许你更改当前文件夹的信任级别。 -
从 Web Shell 信任工作区:打开工作区概览,对不受信任的工作区使用信任操作。这无需终端即可记录相同的决策,当所有工作区因没有规则决定而显示为不受信任时,这是恢复的方法。该操作仅在连接的 daemon 通告
workspace_trust_grant时出现,这仅在信任热重载将决策应用到运行中的运行时生效——提供 grant 路由但不支持热重载的 daemon 会隐藏该操作。在那里,通过该 daemon 自身 API 记录的 grant 会立即更新信任文件和 v1 信任状态,但绑定到启动的运行时闸门需要重启。由单独的终端进程或文件编辑记录的决策不会立即对 daemon 缓存的 v1 状态可见;重启 daemon 以加载它。在操作可用的地方,一旦 daemon 重建其运行时,工作区就完成了信任过程,这需要一点时间。 -
查看所有信任规则:要查看所有受信任和不受信任文件夹规则的完整列表,可以检查主目录中的
~/.qwen/trustedFolders.json文件内容。
信任检查过程(高级)
对于高级用户,了解信任确定的精确顺序会有所帮助:
-
IDE 信任信号:如果你使用了 IDE 集成,CLI 会首先询问 IDE 工作区是否受信任。IDE 的响应具有最高优先级。
-
本地信任文件:如果 IDE 未连接,CLI 会检查中央的
~/.qwen/trustedFolders.json文件。