资讯动态

Open Interpreter 如何配置自定义权限配置文件实现文件与网络最小化授权?

发布时间:2026/9/9 22:26:28 来源:尧图企业网站定制
Open Interpreter 如何配置自定义权限配置文件实现文件与网络最小化授权【免费下载链接】openinterpreterA coding agent for open models like Kimi K3 and GLM 5.3项目地址: https://gitcode.com/GitHub_Trending/op/openinterpreter如果你的 Open Interpreter面向 Kimi K3、GLM 5.3 等开源模型的编码代理会频繁执行本地命令默认的workspace-write沙箱粒度不够细——比如无法单独禁掉.env文件、也无法把网络访问限制到少数几个域名。Open Interpreter 的权限配置文件permission profiles就是为此设计的它比旧的sandbox_mode、sandbox_workspace_write设置更细粒度可以在一个 profile 里分别声明文件系统的读/写/拒绝规则和域名网络白名单。本文的目标是在~/.openinterpreter/config.toml用户级或项目内.openinterpreter/config.toml受信任项目级中定义一个自定义 profile让代理的命令执行只具备完成任务所需的最小文件与网络权限并验证配置实际生效。先确认使用哪套授权系统权限 profile 和旧的沙箱设置是两套机制Permissions 文档 明确要求一次只启用一套如果当前生效的配置里设置了sandbox_mode或命令行传了--sandbox旧的沙箱设置会优先profile 不会生效。内置的三个 profile 可以直接选用不需要自定义Profile用途:read-only只读本地命令执行:workspace工作区根目录内可读写:danger-full-access无本地沙箱限制选择内置 profile 只需一行配置default_permissions :workspace当内置 profile 满足不了文件级 域名级的最小化要求时才需要下面自定义 profile 的路径。在配置文件中定义自定义 profile权限 profile 是 TOML 配置顶层用default_permissions指定 profile 名称profile 的具体规则放在[permissions.profile名....]表下。文档给出的完整自定义示例如下Permissions 原文示例其中的路径与域名请替换成你自己的项目default_permissions project-edit [permissions.project-edit.workspace_roots] ~/code/app true ~/code/shared-lib true [permissions.project-edit.filesystem] :minimal read [permissions.project-edit.filesystem.:workspace_roots] . write .devcontainer read **/*.env deny [permissions.project-edit.network] enabled true [permissions.project-edit.network.domains] api.openai.com allow **.github.com allow tracking.example.com deny这个 profile 的效果是通用运行时路径可读、工作区根目录内可写、.devcontainer/保持只读、.env文件被拒绝访问、网络流量限制到指定域名。配置文件的两个位置Configuration 文档~/.openinterpreter/config.toml.openinterpreter/config.toml其中项目级配置只应对受信任项目使用。配置优先级上CLI 的-c keyvalue覆盖只作用于当次调用用户配置、项目配置、profile 之间有固定优先级Config Reference 也把default_permissions列为顶层键并给出了一份更精简的权限表写法[permissions.name.filesystem]、[permissions.name.network]。理解文件系统规则[permissions.name.filesystem]下的取值只有三种PermissionsAccess含义read命令可以读取和列出文件write命令可以读取、创建、更新、重命名、删除文件deny命令无法读取或写入匹配的路径deny 优先于更宽泛的授权规则可以挂在以下根节点上Root含义:minimal常用工具需要的运行时路径:workspace_roots当前工作区根目录 profile 中定义的根目录:tmpdir当前临时目录:root文件系统根目录谨慎使用/absolute/path具体绝对路径~/path用户主目录下的路径文档给出的建议能用精确路径就用精确路径**/*.env这类 deny glob 适合保护含密钥的文件。另外注意在部分平台上deny glob 可能需要设置glob_scan_max_depth来限制启动时的扫描深度配置后如果启动行为异常可以对照这个说明检查。配置网络最小授权权限 profile 中网络访问默认是关闭的需要显式开启[permissions.project-edit.network] enabled true然后再做域名级 allow/deny[permissions.project-edit.network.domains] example.com allow *.example.com allow **.example.com allow ads.example.com deny域名模式有四种写法Pattern含义example.com精确主机*.example.com仅子域名**.example.com顶层域和子域名*大范围公开放行文档要求刻意使用时才写两个容易踩坑的边界本地与内网目标单独管控。域名白名单不覆盖本地地址需要访问localhost或127.0.0.1时要显式写上这些字面目标。Unix socket 是本地逃生通道。例如需要 Docker 时[permissions.project-edit.network.unix_sockets] /var/run/docker.sock allow文档要求只有工作流确实依赖该本地服务时才加这条规则。验证配置是否生效两处 TUI 命令可以核对/permissions查看或调整当前生效的授权姿态Sandbox Approvals/debug-config打印解析后的最终配置及其来源Configuration、Slash Commands用来确认default_permissions指向了你的自定义 profile而不是被更高优先级的配置层如旧的sandbox_mode覆盖。如果/debug-config显示仍生效的是sandbox_mode说明两套系统同时存在按上一节的规则先移除sandbox_mode或去掉--sandbox参数让 profile 接管。适用范围与限制权限 profile 只管辖本地沙箱化命令执行。App 连接器、MCP 服务器、browser/computer-use 界面、已批准的提权approved escalations和远程服务各有自己的控制体系不在 profile 的管辖范围内Permissions Scope 一节。另外 profile 在 Config Reference 中被标记为 beta 功能配置项以codex-rs/core/config.schema.json生成的 schema 为准。如果当前场景只是粗粒度的只读 / 工作区可写 / 完全放开直接用sandbox_moderead-only/workspace-write/danger-full-access更简单只有需要文件级 deny 规则和域名白名单时才值得切换到权限 profile 这套机制。【免费下载链接】openinterpreterA coding agent for open models like Kimi K3 and GLM 5.3项目地址: https://gitcode.com/GitHub_Trending/op/openinterpreter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价