Permissions

Kiểm soát quyền truy cập tools và commands trong OpenCode.


Tổng quan

Permissions cho phép bạn kiểm soát chính xác những gì AI agent có thể làm:

  • allow — Cho phép không cần hỏi
  • ask — Hỏi user trước khi thực hiện
  • deny — Từ chối hoàn toàn
{
  "permission": {
    "edit": "ask",
    "bash": "ask",
    "webfetch": "allow"
  }
}

Per-agent permissions

Ghi đè permissions theo từng agent:

{
  "permission": {
    "edit": "deny"
  },
  "agent": {
    "build": {
      "permission": {
        "edit": "ask"
      }
    }
  }
}

Bash command permissions

Kiểm soát từng lệnh bash cụ thể:

{
  "agent": {
    "build": {
      "permission": {
        "bash": {
          "git push": "ask",
          "grep *": "allow"
        }
      }
    }
  }
}

Glob patterns

{
  "agent": {
    "build": {
      "permission": {
        "bash": {
          "*": "ask",
          "git status *": "allow"
        }
      }
    }
  }
}

:::tip Rule khớp cuối cùng thắng. Đặt wildcard * trước và các rules cụ thể sau. :::


Markdown agents permissions

Trong file markdown agent:

---
description: Code review without edits
mode: subagent
permission:
  edit: deny
  bash:
    "*": ask
    "git diff": allow
  webfetch: deny
---

MCP server permissions

Dùng wildcard để kiểm soát tools từ MCP servers:

{
  "permission": {
    "mymcp_*": "ask"
  }
}

Task permissions

Kiểm soát subagents nào agent có thể gọi:

{
  "agent": {
    "orchestrator": {
      "permission": {
        "task": {
          "*": "deny",
          "code-reviewer": "ask"
        }
      }
    }
  }
}

Xem thêm về agents.