命令与 Skills 访问控制
按范围禁用斜杠命令和 Skills,理解名称匹配、显式启用及 Workflow 边界。
斜杠命令、Skill 发现和工具权限分别控制。隐藏 /auth 不等于限制 shell 或其他工具,仍需配套权限和运行边界。
禁用斜杠命令
{
"slashCommands": {
"disabled": ["auth", "mcp", "extensions", "ide"]
}
}按最终命令名称不区分大小写匹配;扩展冲突后的名称可能是 myext.deploy。配置跨范围取并集,工作区不能删去系统或用户禁用项;--disabled-slash-commands 与 QWEN_DISABLED_SLASH_COMMANDS 的内容也加入并集。
被禁用命令不出现在补全且拒绝执行,但不会阻止 Ctrl+C、Esc 等快捷键,也不改变工具权限。Skill 命令同时按注册名称和作者名称拦截,例如 rust:pdf 与 pdf。
Skills 的四种列表
| 设置 | 作用 |
|---|---|
| skills.disabledLevels | 跳过 project、user、extension 或 bundled 整个发现层 |
| skills.disabled | 硬禁用名称,隐藏模型目录和斜杠命令 |
| skills.defaultDisabled | 默认关闭,可被 enabled 显式启用 |
| skills.enabled | 显式启用,但不能覆盖 disabled 或被排除的发现层 |
这些数组跨设置范围取并集;名称去空白且不区分大小写,没有 glob。skills.directories 发现的内容属于 user 层,禁用 user 也会隐藏它们。
扩展 Skill 的 disabled/defaultDisabled 可匹配注册名或作者名,但 enabled 的授权只匹配注册名。要启用 rust:pdf,应使用该完整名称;enabled 与 defaultDisabled 之间的取消还要求两项拼写相同,不能用 bare pdf 就假定已经授权 rust:pdf。
Workflow 与 Goal 工具入口
tools.workflowsEnabled 默认 false,只从 User/System/SystemDefaults 读取,工作区值被忽略。QWEN_CODE_ENABLE_WORKFLOWS=1 可启用,QWEN_CODE_DISABLE_WORKFLOWS=1 优先禁用,修改需重启。
workflowSizeGuideline 默认 medium:small 建议少于 5 个 agent、medium 少于 15、large 少于 50,unrestricted 不给建议。它是提示与显示阈值,不是执行数量上限;修改在下一条消息告知模型,警告阈值还可由 QWEN_CODE_WORKFLOW_SIZE_WARNING_AGENTS 覆盖。
workflowNameOnly=true 限制模型只运行有名称的已保存/扩展 workflow,不允许 inline script、scriptPath 或嵌套 scriptPath;默认 false,修改需重启。工作区只能收紧为 true;QWEN_CODE_WORKFLOW_NAME_ONLY=1 也可启用,项目 .env 不能设置它。
这不能替代审批:模型仍可能先写一个 workflow 文件再按名称运行。主机经 ACP 发起的执行不受同样限制,该模式下 /review workflow fan-out 不可用。
goals.modelProposed 默认 alwaysAsk,模型提议 Goal 必须由用户确认才设置;disabled 移除 propose_goal 工具。此项也是操作者范围、需重启,用户直接输入 /goal 不受影响。