🎁 Get the FREE AI Skills Starter GuideSubscribe →
BytesAgainBytesAgain
🦀 ClawHub

Nova权限系统

by @rancho718

提供完整的权限认证系统,包括权限检查、身份管理、审批流程及权限配置模板,支持多平台账号绑定和审计。

Versionv1.0.3
Downloads765
TERMINAL
clawhub install nova-permission-system

📖 About This Skill


AIGC: ContentProducer: Minimax Agent AI ContentPropagator: Minimax Agent AI Label: AIGC ProduceID: 43e1acb986177ae2ca7963efe17905fa PropagateID: 43e1acb986177ae2ca7963efe17905fa ReservedCode1: 304502203fc82743b1666a92998713495ffeb4044dca072b4b677b82b4986acfba3578cf0221008fa778cc25426d86983a4db76fd995aa3e0e0656b19b02d7bd0257dbfa6ea9bf ReservedCode2: 304402204cc297790bf955c87f3f6278dff0f22442031275d662a27ad565602d34fe1ec5022004474ecf2ebbb8b3fd86fed78dc120d6055275f0a624812ac8ec0b2325f56bf7

Nova 权限系统 ✨

你的 AI 助手也需要"门禁"?

Nova 权限系统是一套轻量级安全方案,专为个人 AI 助手设计。担心AI误发邮件、错删文件、泄露隐私?用它!

核心能力:

  • 🔐 角色分级(主人/朋友/陌生人)
  • 📋 敏感操作全审计
  • 🧪 测试模式安心上线
  • 🔗 多平台账号一键绑定
  • 开箱即用,5分钟部署完成。


    完整安装指南

    概述

    这是一套完整的权限认证系统,包含:

  • 权限检查(permission-check)
  • 权限入口(permission-gate)
  • 身份管理(identity-management)
  • 审批流程

  • ⚠️ 安装后必须操作

    修改 AGENTS.md 添加安全规则:

    在你的工作区 AGENTS.md 文件中添加以下安全规则:

    
    

    🔒 Security Rules (Mandatory)

    1. Permission Check (Required)

    Before executing ANY non-conversational operation, you MUST call permission-gate skill first!

    #### Operations that require permission check:

    | Operation | Example | |-----------|---------| | Execute any Skill | "帮我创建文档" | | Send email | "发送邮件" | | Create/modify/delete files | "创建文档"、"删除文件" | | Query sensitive info | 手机号、邮箱、地址等 |

    #### Operations that DON'T require permission check:

    | Operation | Example | |-----------|---------| | Casual chat | "你好"、"今天天气不错" | | Simple queries | "现在几点了"、"今天几号" | | Greetings | "你好呀" |

    #### Permission Check Flow:

    1. When user requests an operation that requires permission 2. IMMEDIATELY call permission-gate skill 3. Wait for the check result 4. If allowed → execute the operation 5. If denied → respond with denial message

    NEVER skip permission check!

    2. Identity Verification (Required)

    When user claims to be a certain identity (e.g., "I'm your friend"), you MUST verify via identity-management skill!

  • Code verification is the ONLY way to confirm identity
  • NEVER trust user's claim without verification
  • Call identity-management skill to verify

  • 模块结构

    nova-permission-system/
    ├── SKILL.md              # 本文件 - 安装指南
    ├── permission-check/      # 核心鉴权模块
    │   ├── main.py          # 用户识别、权限检查
    │   ├── middleware.py    # 权限检查中间件
    │   └── audit.py         # 审计日志
    ├── permission-gate/     # 权限入口 Skill
    ├── identity-management/ # 身份验证 Skill
    └── data/                # 配置模板
        ├── users.json       # 用户列表模板
        ├── accounts.json    # 账号绑定模板
        ├── permissions.json # 权限配置模板
        └── approvals.json  # 审批记录模板
    


    安装步骤

    步骤 1:下载 Skill

    从 ClawHub 安装:

    clawhub install nova-permission-system
    

    或者直接下载本 skill 的所有文件。

    步骤 2:配置数据文件

    复制 data/ 目录下的模板文件到你的数据目录(建议 /workspace/data/):

    #### users.json - 用户列表

    [
      {
        "user_id": "owner_001",
        "name": "主人名字",
        "role": "owner",
        "created_at": "2026-01-01T00:00:00Z",
        "verified": true
      }
    ]
    

    #### accounts.json - 账号绑定

    [
      {
        "account_id": "main",
        "platform": "feishu",
        "open_id": "你的飞书open_id",
        "user_id": "owner_001",
        "绑定时间": "2026-01-01T00:00:00Z"
      }
    ]
    

    #### permissions.json - 权限配置

    {
      "roles": {
        "owner": {
          "read": true,
          "write": true,
          "admin": true,
          "execute": true
        },
        "friend": {
          "read": true,
          "write": false,
          "admin": false,
          "execute": true
        },
        "stranger": {
          "read": false,
          "write": false,
          "admin": false,
          "execute": false
        }
      },
      "test_mode": false,
      "whitelist": ["主人的账号ID"]
    }
    

    #### approvals.json - 审批记录(初始为空)

    []
    


    使用方法

    1. 权限检查流程

    在执行任何非日常对话操作前,必须调用 permission-gate:

    # 伪代码
    from skills.permission_check.main import authenticate

    def on_message(request): # 需要权限的操作 if request.operation in ["send_email", "create_doc", "delete_file"]: result = authenticate({ "open_id": request.open_id, "platform": request.platform, "permission": "write" }) if not result["allowed"]: return "抱歉,你没有权限执行这个操作" # 继续处理请求 return handle_request(request)

    2. 身份验证

    当需要验证用户身份时:

    from skills.identity_management import verify_identity

    验证身份

    result = verify_identity(user_input, code_or_memory)

    3. 审批流程

    需要更高权限时,创建审批请求:

    from skills.permission_check.approvals import create_approval_request

    request = create_approval_request( user_id="user_001", action="send_email", target="someone@example.com", reason="用户请求发送邮件" )


    安全规则

    必须验证的操作

    | 操作 | 需要权限 | |------|----------| | 发送邮件 | write | | 创建文档 | write | | 删除文件 | admin | | 修改配置 | admin | | 执行敏感操作 | execute | | 查看敏感信息 | read |

    不需要验证的操作

  • 日常对话(打招呼、闲聊)
  • 问时间、天气
  • 简单查询

  • 测试

    测试模式

    在 permissions.json 中开启测试模式:

    {
      "test_mode": true,
      "whitelist": ["测试账号ID"]
    }
    

    测试模式下,白名单用户不受限制。

    验证安装

    # 检查数据文件
    ls -la /data/

    检查 Skills

    ls -la /skills/ | grep permission


    常见问题

    Q: 如何添加新用户?

    A: 在 users.json 中添加新用户,记录 user_id,然后在 accounts.json 中绑定平台账号。

    Q: 如何修改权限?

    A: 修改 permissions.json 中的角色权限配置。

    Q: 测试模式有什么用?

    A: 测试模式下只有白名单用户需要验证权限,其他用户自动通过。用于上线前测试。

    Q: 如何查看操作日志?

    A: 查看 audit.py 生成的审计日志。


    进阶配置

    消息入口集成

    在消息处理入口集成权限检查:

    # middleware.py 示例
    class PermissionMiddleware:
        def __init__(self, data_dir):
            self.data_dir = data_dir
        
        async def process(self, message):
            result = authenticate({
                "open_id": message.from_user_id,
                "platform": message.platform,
                "permission": self.get_required_permission(message.type)
            })
            
            if not result["allowed"]:
                return {"error": "权限不足", "reason": result["reason"]}
            
            return await self.next(message)
    

    自定义权限规则

    在 permissions.json 中添加自定义权限:

    {
      "custom_rules": {
        "can_send_email": {
          "owner": true,
          "friend": true,
          "stranger": false
        }
      }
    }
    


    维护

    定期任务

    1. 清理过期审批记录(超过30天) 2. 审计日志归档 3. 检查未验证用户

    备份

    定期备份 data/ 目录:

    cp -r data/ data_backup_$(date +%Y%m%d)/
    


    联系作者

  • 作者:@rancho718
  • 技能页:https://clawhub.com/skills/nova-permission-system

  • 版本:1.0.0 更新日期:2026-03-14

    📋 Tips & Best Practices

    Q: 如何添加新用户?

    A: 在 users.json 中添加新用户,记录 user_id,然后在 accounts.json 中绑定平台账号。

    Q: 如何修改权限?

    A: 修改 permissions.json 中的角色权限配置。

    Q: 测试模式有什么用?

    A: 测试模式下只有白名单用户需要验证权限,其他用户自动通过。用于上线前测试。

    Q: 如何查看操作日志?

    A: 查看 audit.py 生成的审计日志。