五、权限系统详解

五、权限系统详解

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 添加外部工具能力。

相关推荐
不吃辣4908 小时前
vibe coding | 如何做一个AI制图小程序?
人工智能·小程序·ai编程
kyriewen8 小时前
DeepSeek Harness开源第一天我就上手了——和Claude Code的差距比想象中大
前端·ai编程·deepseek
princed10 小时前
在 Claude Code / Codex / Pi 里用 DeepSeek,怎么让它看见图?
ai编程·deepseek
打呵欠的猫10 小时前
我用 AI 重写了项目的请求层,从 800 行"面条代码"变成 3 层洋葱模型
前端·ai编程
tedcloud12311 小时前
book-to-skill 怎么部署?把技术书和文档转换成可复用的 AI Skill
运维·服务器·人工智能·开源·ai编程
深念Y12 小时前
OpenCode写入优化方案
sqlite·配置·ssd·日志·上下文·opencode·写入
HIT_Weston13 小时前
173、【Agent】【OpenCode】TuiThreadCmd(cmd工厂)
人工智能·agent·opencode
政采云技术13 小时前
工单处理的智能革命:钉钉AI助理辅助系统探索
人工智能·后端·ai编程
神奇霸王龙13 小时前
Agentic RAG 双硬门屠夫:5 旗舰实测
数据库·人工智能·ai·agent·ai编程·ai写作·rag
labixiong13 小时前
DeepSeek V4 Pro 首日实测:用前端项目跑了一遍,Agent 能力暴涨8倍是真的吗?
agent·ai编程·deepseek