Permission Vending Machine

AI执行敏感操作前需人工审批,支持多渠道通知与授权。

已扫描高权限提醒
适合谁
开发人员、自动化运维团队
不适合谁
无权限管理需求的普通用户、不熟悉命令行或系统服务配置者
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @tylerdotai/permission-vending-machine

Skill 说明

命令、参数、文件名以原文为准

权限售卖机(PVM)

AI 代理权限的多渠道审批系统。

将敏感操作(如文件删除、Git 强制推送等)置于人工审批之后执行。支持通过 iMessage/SMS、邮件、Discord、Telegram 或 Slack 发送通知,并在获得授权后才允许执行危险命令。

适用场景

当 AI 代理需要执行可能造成破坏性后果的操作时使用:

  • 删除文件或目录
  • 向 Git 仓库强制推送
  • 将文件移至工作区外的回收站

快速设置

# 1. 安装
git clone https://github.com/tylerdotai/permission-vending-machine.git
cd permission-vending-machine
pip install -e .

# 2. 配置
cp config.example.yaml config.yaml
# 使用您的 API 密钥编辑 config.yaml

# 3. 启动守护进程(macOS)
launchctl load ~/Library/LaunchAgents/ai.flume.pvm.plist

# 4. 代理请求权限
pvm request --scope "/tmp/build" --reason "清理构建产物" --duration 5

# 5. 审批人通过 iMessage、邮件或 Discord 链接批准

# 6. 代理执行受保护的命令
safe-rm -rf /tmp/build

工作原理

代理 → pvm request → 保险库(待审批) → 通知所有通道
                                                ↓
                 审批人通过任意通道批准
                                                ↓
                 生成授权 → 代理解除锁定 → safe-* 命令执行

审批方式

方式批准方法
iMessage回复 APPROVE(无需令牌)
邮件在审批邮件中回复 APPROVE
Discord点击“点击以批准”链接
HTTPcurl http://host:7823/approve/<token>

配置说明

config.yaml 中的关键设置:

channels:
  sendblue:        # 仅 macOS — 通过 CLI 使用 iMessage
    enabled: true
    from_number: "+1..."
    approver_numbers: ["+1..."]
  email:           # 跨平台
    enabled: true
    imap_host: "imap.example.com"
    username: "user"
    password: "pass"
  discord:         # 跨平台
    enabled: true
    webhook_url: "https://discord.com/api/webhooks/..."
    http_approval_base: "http://your-server:7823"

CLI 命令

pvm request --scope <路径> --reason <说明> --duration <分钟>  # 请求审批
pvm status --agent-id <ID>                                    # 列出当前有效授权
pvm revoke --grant-id <ID>                                    # 提前撤销授权
pvm log --limit 50                                           # 审计日志
pvm serve --port 7823                                         # 启动 HTTP 服务
pvm approve-daemon --port 7823                               # 启动完整守护进程

包装器

对受保护的命令前添加 safe- 前缀:

  • safe-rm -rf /path — 检查路径范围授权
  • safe-git-push --force — 检查仓库范围授权
  • safe-trash /path — 检查路径范围授权

支持平台

  • macOS:使用 launchd 服务,Sendblue iMessage 可用
  • Linux:使用 systemd 服务,可通过 Discord/邮件/Telegram 进行审批
  • Windows:使用 NSSM 或任务计划程序,可通过 Discord/邮件/Telegram 进行审批

详见 [docs/PLATFORMS.md](docs/PLATFORMS.md) 获取各平台详细配置说明。

链接

  • 项目仓库:https://github.com/tylerdotai/permission-vending-machine
  • 文档:[PLATFORMS.md](docs/PLATFORMS.md) · [ARCHITECTURE.md](docs/ARCHITECTURE.md)
T
@tylerdotai

已收录 1 个 Skill

相关推荐