五、权限系统详解

五、权限系统详解

OpenCode 的权限系统控制 AI 可以访问哪些工具和资源。

权限模式

每个工具可以有三种权限模式:

  • allow:自动允许,不询问用户
  • deny:自动拒绝,不执行
  • ask:询问用户,由ǜ�用户决定

配置方式

在 opencode.json 中配置:

jsonc 复制代码
{
  "permission": {
    "read": "allow",
    "edit": "ask",
    "bash": "deny"
  }
}

支持 Glob 模式匹配:

jsonc 复制代码
{
  "tools": {
    "read": true,
    "edit": "ask",
    "bash*": false
  }
}

权限级别

权限按以下优先级评估(从高到低):

  1. Agent 级别:特定 Agent 的权限配置
  2. 工具级别:全局工具权限
  3. 默认级别:默认行为

Agent 级权限

可以为不同 Agent 设置不同的权限:

jsonc 复制代码
{
  "agent": {
    "code-reviewer": {
      "permission": {
        "read": "allow",
        "edit": "deny",
        "bash": "deny"
      }
    }
  }
}

这样,code-reviewer Agent 只能读取文件,无法修改或执行命令。

Skill 权限

也可以控制 AI 能够加载哪些 Skill:

jsonc 复制代码
{
  "permission": {
    "skill": {
      "*": "allow",
      "internal-*": "deny",
      "experimental-*": "ask"
    }
  }
}

实际案例

比如你想让一个 Agent 只读不写:

jsonc 复制代码
{
  "agent": {
    "reviewer": {
      "description": "代码审查专家,只读模式",
      "mode": "subagent",
      "permission": {
        "bash": "deny",
        "edit": "deny",
        "write": "deny",
        "read": "allow"
      }
    }
  }
}

权限提示与日志

当权限被拒绝时,OpenCode 会记录日志:

复制代码
Tool "bash" was blocked by permission settings.
Allowed tools: read, glob, grep

安全建议

  1. 最小权限原则:只给 AI 必要的权限
  2. 分层管理:不同 Agent 给不同权限
  3. 定期审查:定期检查权限配置是否合理
  4. 注意布尔值:老版本使用 true/false,新版本用 allow/deny/ask

例如,生产环境中可以这样配置:

jsonc 复制代码
{
  "permission": {
    "read": "allow",
    "glob": "allow",
    "grep": "allow",
    "edit": "ask",
    "write": "ask",
    "bash": "deny",
    "webfetch": "allow"
  }
}

这样配置能在保证安全的同时,让 AI 发挥最大效率。

总结

权限系统是 OpenCode 安全性的基石。通过本文你学会了:

  • 三种权限模式:allow/deny/ask
  • 权限的分级配置:全局、工具、Agent
  • 安全配置建议和实践案例

下一篇文章将介绍如何通过 MCP 协议为 OpenCode 添加外部工具能力。

相关推荐
Tangyuewei19 分钟前
Agent 别裸奔进生产:先搭架构、可观测、人审三道闸
人工智能·ai编程
用户40158233246236 分钟前
不开编辑器,在飞书里也能找 WES Code 的 AI 干活
人工智能·ai编程
桃西西呀1 小时前
LangGraph4j之八:条件边与动态路由
人工智能·llm·ai编程
桃西西呀1 小时前
LangGraph4j之九:自定义状态类型与自定义通道
人工智能·llm·ai编程
沈麽鬼2 小时前
AI 海报素材站管理端 AI 生成全流程解析
ai编程
threerocks2 小时前
亲测有效!免费 Google AI Pro 用户用上 Gemini 4 Argon
aigc·openai·ai编程
程序员老刘3 小时前
跨平台开发地图 | 2026年10月
flutter·ai编程·客户端
孟健3 小时前
Claude Code 桌面端魔改多 Agent:从日耗 6 美元到账单失控的实测复盘
架构·ai编程·claude
文谦南宁AI普工3 小时前
一份能当场执行的《Agent 身份与授权上线 checklist》
aigc·ai编程
追光者494 小时前
规划器写 6 步,执行器只收 5 步:一个常数不一致,让自动化白跑了几个小时
ai编程