权限管理
使用声明式权限规则控制文件系统访问。
Deep Agents 支持声明式权限规则,控制 Agent 可以读取或写入哪些文件和目录。权限适用于内置文件系统工具(ls、read_file、write_file、edit_file、glob、grep),按声明顺序以先匹配者优先的语义进行评估。
基本用法
python
from deepagents import create_deep_agent
agent = create_deep_agent(
model="openai:gpt-4o",
tools=[search],
permissions=[
# 允许读写 workspace 目录
{"operations": ["read", "write"], "paths": ["/workspace/**"], "mode": "allow"},
# 禁止写 .env 文件
{"operations": ["write"], "paths": ["**/.env"], "mode": "deny"},
],
)权限规则结构
每条规则包含:
| 字段 | 说明 |
|---|---|
operations | "read" 或 "write" |
paths | glob 模式匹配的路径列表 |
mode | "allow" 或 "deny" |
子 Agent 权限继承
子 Agent 可以继承或覆盖父级的权限规则:
python
from deepagents import create_deep_agent, SubAgent
# 父级有宽权限
parent = create_deep_agent(
model="openai:gpt-4o",
permissions=[{"operations": ["read", "write"], "paths": ["/**"], "mode": "allow"}],
)
# 子 Agent 可以设置更严格的权限
restricted_child = create_deep_agent(
model="openai:gpt-4o",
permissions=[{"operations": ["read"], "paths": ["/data/**"], "mode": "allow"}],
)不适用范围
权限不适用于沙箱后端,沙箱支持通过 execute 工具执行任意命令。对于自定义验证逻辑,使用后端策略钩子。