permissions=,代理的内置文件系统工具将遵守这些规则。
权限功能需要
deepagents>=0.5.2。ls、read_file、glob、grep、write_file、edit_file)。访问文件系统的自定义工具和 MCP 工具不在其覆盖范围内。权限也不适用于沙箱后端,这些后端支持通过 execute 工具执行任意命令。
基本用法
将FilesystemPermission 规则列表传递给 create_deep_agent。规则按声明顺序进行评估。第一个匹配的规则生效。如果没有规则匹配,则允许该操作。
规则结构
每个FilesystemPermission 有三个字段:
规则使用首次匹配生效的评估方式:第一个其
operations 和 paths 与当前调用匹配的规则决定结果。如果没有规则匹配,则允许该调用(宽容默认值)。
示例
隔离到工作区目录
仅允许在/workspace/ 下进行读写,拒绝其他所有操作:
保护特定文件
只读记忆
允许代理读取记忆文件,但阻止其修改它们。这对于组织范围的策略或应仅由应用程序代码更新的共享知识库很有用。有关更多上下文,请参阅只读与可写记忆。拒绝所有访问
阻止所有读写操作。这是一个限制性基线,你可以在此基础上添加更具体的允许规则:规则顺序
由于采用首次匹配生效机制,规则顺序很重要。将更具体的规则放在更宽泛的规则之前:子代理权限
子代理默认继承父代理的权限。要为子代理赋予不同的权限,请在其规范中设置permissions 字段。这将完全替换父代理的规则。
组合后端
当使用带有沙箱默认值的CompositeBackend 时,每个权限路径都必须限定在已知的路由前缀下。沙箱支持任意命令执行,因此仅基于路径的限制无法防止通过 shell 命令访问文件系统。将权限限定在特定路由的后端下可以避免此冲突。
NotImplementedError:
将这些文档连接到 Claude、VSCode 等,通过 MCP 获取实时答案。

