权限是怎么判的
工具规则、自检、聊天权限档与访问范围共同决定调用能否执行;计划模式保持独立。
输入框里的模型、思考强度和权限档都是每个聊天各自一份。在某个聊天里修改,只改这个聊天,同时成为新聊天继承的默认;其他已有聊天保持原值。权限有「每次询问」「自动编辑」「跳过所有权限」三档。普通聊天运行中修改权限档,从下一次工具调用开始生效。
计划模式是独立的会话模式,不是第四个权限档。它要求先调研和讨论,不执行实现任务的改动;接受计划后仍要经过下面的工具权限判定。计划文档通过专门的计划流程管理,不提供通用的项目文件写入例外。
权限档通过输入框的下拉修改。设置页、移动端运行设置和 Klaus 自己的控制工具不能改它;定时任务使用后台任务专用的显式权限覆盖。
工具调用的判定顺序
普通工具调用先检查显式规则和工具自检,再应用权限档基线:
- 命中拒绝规则,直接阻止;任何权限档都不能覆盖。
- 命中强制询问规则,显示权限卡片,即使选择了「跳过所有权限」。
- 工具自检拒绝,直接阻止。
- 「跳过所有权限」放行普通调用;此前的规则与工具自检仍然有效。
- 敏感文件闸门可要求确认,例如修改可执行脚本或会影响配置加载的路径,不能仅凭「自动编辑」跳过。
- 命中允许规则,或工具自检明确放行,按对应结论执行。
- 应用权限档基线:「每次询问」直接执行只读操作,改动需要确认;「自动编辑」直接批准可写目录内的文件编辑,命令及范围外的改动仍可能需要确认。子代理还可通过定义中的
permissionMode: dontAsk使用不弹卡片、拒绝未获允许改动的策略,该策略不在输入框里列为普通选项。 - 没有获得放行的调用,显示权限卡片。
「是否只读」是调用的重要属性,列清单、查状态通常属于只读操作。但只读不代表能跳过显式拒绝或询问规则。可选的 confine_reads 配置还会让可写根之外的读取请求确认;它默认关闭。命令会进一步按子命令检查,某个子命令被拒绝不能靠整条命令的放行来覆盖。
沙箱与好友任务范围
权限允许与沙箱可访问范围共同生效。批准一次操作不会扩大会话的文件、网络或应用范围。
好友任务的权限档只决定已批准范围内哪些动作需要再问你,不能扩大你批准的目录或应用范围;范围外拒绝,只读目录始终只读。这份范围在会话建立时确定,因此好友任务改档从下一回合开始生效,当前回合保持原策略。