QORMQORM v0.9.8 docs 开始使用 EN

QORM Agent 权限

QORM agent 权限模型控制一个 agent 能看到什么、能更改什么以及能执行什么。

权限级别

read-only
preview-only
edit-json
apply-patch
host-call
build
run
deploy
admin

默认权限

默认的 agent 权限是:

read-only + preview-only

允许:

inspect
validate
preview_patch
explain
platform_check

拒绝:

apply_patch
host.call
filesystem.saveFile
shell
deploy

这里 filesystem.saveFile 表示文件写入能力;其权限键通常是 filesystem.write

运行时强制执行

两种机制在运行时生效:

  1. qorm run --mcp-read-only — CLI 标志。拒绝会产生变更的工具(qorm_dispatchqorm_set_stateqorm_apply_patchqorm_undo),返回 JSON-RPC -32000。检查与预览类工具(qorm_preview_patchqorm_diff 等)仍可用。
  1. qorm.jsonagent.policy — 按应用 manifest 策略强制执行(拒绝时 JSON-RPC -32001)。未声明 agent 的旧应用保持完全访问。示例:
{
  "agent": {
    "policy": {
      "level": "preview-only",
      "tools": { "qorm_dispatch": false },
      "hostCall": { "allowed": true, "ops": ["move"] }
    }
  }
}

预设级别:read-onlypreview-onlyoperatedesignfull(逐级包含更多 MCP 工具)。qorm_inspect 在声明策略时返回 agentPolicy 有效工具图。

权限声明

{
  "agent": "codex",
  "permissions": {
    "inspect": true,
    "validate": true,
    "previewPatch": true,
    "applyPatch": "requiresApproval",
    "hostCall": false,
    "shell": false
  }
}

Agent 权限与系统权限之间的关系

危险操作

危险操作包括:

filesystem.saveFile
network.request to external domain
shell
process.spawn
native.call
plugin.install
deploy
bundle.publish

这里文件写入的危险性对应于 filesystem.write 权限域。

这些操作必须要求用户确认。

批准语义

对于一个 agent,以下操作通常需要批准:

apply_patch
host.call
filesystem.write
shell
deploy

最低规则:

批准生命周期与吊销

一条批准记录至少包含:

approval id
agent id
operation
scope
issuedAt
expiresAt
reuse policy
revokedAt

吊销触发条件至少包括:

审计日志

所有 agent 操作都应被记录:

agent id
tool name
input summary
output summary
files changed
permissions used
timestamp
approval id
audit event id

审计日志应尽可能避免存储完整的敏感输入;如果涉及令牌、密码或绝对文件内容,应记录摘要或脱敏字段。