Skip to content

权限管理

使用声明式权限规则控制文件系统访问。

Deep Agents 支持声明式权限规则,控制 Agent 可以读取或写入哪些文件和目录。权限适用于内置文件系统工具(lsread_filewrite_fileedit_fileglobgrep),按声明顺序以先匹配者优先的语义进行评估。

基本用法

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"
pathsglob 模式匹配的路径列表
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 工具执行任意命令。对于自定义验证逻辑,使用后端策略钩子

下一步

本站为非官方中文学习站点,不代表 LangChain 官方。部分内容参考官方文档并重新整理为中文学习笔记。