← 返回
开发者工具 中文

Local Approvals

Local approval system for managing agent permissions. Use CLI to approve/deny requests, view history, and manage auto-approved categories.
本地审批系统,用于管理代理权限。使用 CLI 审批/拒绝请求、查看历史记录并管理自动审批类别。
shaiss
开发者工具 clawhub v1.0.0 1 版本 99814.7 Key: 无需
★ 3
Stars
📥 2,095
下载
💾 26
安装
1
版本
#latest

概述

Local Approvals Skill

A local approval system that manages agent permissions with auto-approve lists and approval history tracking.

Quick Start

# List pending requests
python C:\Users\Shai\.openclaw\skills\local-approvals\cli.py list

# Approve a request
python C:\Users\Shai\.openclaw\skills\local-approvals\cli.py approve abc123

# Deny a request
python C:\Users\Shai\.openclaw\skills\local-approvals\cli.py deny abc123

# Show approval history
python C:\Users\Shai\.openclaw\skills\local-approvals\cli.py history

# Reset an agent's categories
python C:\Users\Shai\.openclaw\skills\local-approvals\cli.py reset assistant

Commands

approve(id)

Approve a pending request by ID.

python cli.py approve <request_id> [--learn] [--reviewer <name>]

Options:

  • --learn: Add the category to the agent's auto-approve list
  • --reviewer: Who is approving (default: "user")

Example:

python cli.py approve abc123 --learn

deny(id)

Deny a pending request by ID.

python cli.py deny <request_id> [--reviewer <name>]

Options:

  • --reviewer: Who is denying (default: "user")

Example:

python cli.py deny abc123

list_pending()

List all pending requests, optionally filtered by agent.

python cli.py list [--agent <agent_id>]

Options:

  • --agent: Filter requests by agent ID

Example:

python cli.py list --agent assistant

show_history()

Show approval history from state.json.

python cli.py history [--limit <number>]

Options:

  • --limit: Maximum number of entries to show (default: 20)

Example:

python cli.py history --limit 50

reset_categories(agent)

Reset an agent's auto-approved categories list.

python cli.py reset <agent_id>

Example:

python cli.py reset assistant

Additional Commands

categories

Show auto-approved categories for one or all agents.

python cli.py categories [--agent <agent_id>]

Options:

  • --agent: Show categories for specific agent

Example:

python cli.py categories --agent planner

State Files

The skill maintains two JSON files in the state directory:

  • state.json: Auto-approve lists and approval history
  • pending.json: Pending approval requests

Location: ~/.openclaw/skills/local-approvals/

Core Functions

The core.py module provides the underlying functionality:

  • check_auto_approve(agent, category) - Check if a category is auto-approved
  • submit_request(agent, category, operation, reasoning) - Submit a pending request
  • learn_category(agent, category) - Add category to auto-approve list
  • get_request(request_id) - Retrieve a request by ID
  • update_request(request_id, decision, reviewer) - Update request with decision
  • list_pending(agent) - List pending requests
  • get_agent_approvals(agent) - Get agent's auto-approved categories

Best Practices

  1. Review before approving: Always check the operation and reasoning before approving
  2. Use auto-learn carefully: Only use --learn for trusted categories that you want to auto-approve
  3. Check history regularly: Review history to understand approval patterns
  4. Reset when needed: Use reset to clear an agent's auto-approve list if you suspect issues

Examples

Complete Workflow

# 1. Check what's pending
python cli.py list

# 2. Review the request details (output shows agent, category, operation, reasoning)
# ID: abc123
#   Agent:     assistant
#   Category:  file_write
#   Operation: Create config file
#   Reasoning: Setting up new environment

# 3. Approve and auto-learn this category for future
python cli.py approve abc123 --learn

# 4. Verify it was approved
python cli.py list  # Should show no pending requests

# 5. Check history
python cli.py history

# 6. View auto-approved categories
python cli.py categories

Managing Categories

# View all auto-approved categories
python cli.py categories

# View categories for a specific agent
python cli.py categories --agent assistant

# Reset an agent's categories (clear all auto-approvals)
python cli.py reset assistant

Integration

The CLI is designed to be used both interactively and programmatically. Exit codes:

  • 0: Success
  • 1: Error (request not found, agent not found, etc.)

Files

  • cli.py - Command-line interface (this file)
  • core.py - Core approval functions
  • schemas/ - JSON schema definitions
  • schemas/state.json - State schema template
  • schemas/pending.json - Pending requests schema template

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-28 18:10 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

developer-tools

Gog

steipete
Google Workspace 命令行工具,支持 Gmail、日历、云端硬盘、通讯录、表格和文档。
★ 921 📥 185,749
productivity

Near Multi Account Manager

shaiss
针对NEAR协议的安全多账户管理,支持加密凭证存储、账户切换和余额聚合
★ 0 📥 2,031
developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 668 📥 323,878