Skip to content

能力清单 ​

能力是一段字符串,格式 能力 或 能力:范围。

全部 14 个 ​

能力范围风险说明
fs.readglob低读文件内容
fs.listglob低列目录
fs.statglob低取元数据
fs.watchglob低监听文件变化
fs.writeglob中写文件
fs.mkdirglob中建目录
fs.removeglob中删除
fs.copyglob中复制 / 移动
proc.spawn可执行文件路径高起子进程
net.fetch主机名中联网
sys.info—低读系统信息
dialog.open—低文件选择器 / 保存框 / 消息框
clipboard.read—中读剪贴板
clipboard.write—低写剪贴板

读能力家族 ​

text
fs.read  ─┐
fs.list  ─┼─→ 一条 fs.read:/data/** 全部覆盖
fs.stat  ─┤
fs.watch ─┘

fs.write / fs.mkdir / fs.remove / fs.copy 不在家族里 —— 写是写,读是读,审批粒度不该混。

范围语法 ​

写法含义
fs.read:/sdcard/**/sdcard 之下全部
fs.read:/sdcard/Documents/*.md只这一层
fs.read:/sdcard/Documents/**递归
fs.read:./**应用目录整体
proc.spawn:/usr/bin/tr只有这个可执行文件
net.fetch:api.example.com只有这个主机

错误码 ​

code含义
ENOTRUNX不在 RunX 里
EPERM用户拒绝了,或没有授权且没人可问
NEED_ADMIN高危操作,需要先开管理员模式
ENOUI桌面没开,没人能批准
ETIMEDOUT等待审批超时(默认 100 秒)
ENOENT EINVAL ETOOBIG EISDIR常规错误

err.detail 里带 {cap, target, risk, app} —— 足够画一个「去授权」的提示。

风险判定在哪看 ​

.js/@runx-rights-manager/grants.js 里的 assess()。 每一档的理由都写在代码里 —— 改风险等级时先读那段注释。

MIT 开源 · RunX OS