Token导航 LogoToken导航

Agent Skill · 效率

multi-user-privacy(多用户隐私)

multi-user-privacy 用于整理文档、README、Markdown 和说明材料,适合在 OpenClaw 中需要把零散信息整理成结构清晰的文档时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

multi-user-privacy 是效率类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为可写文件;许可证为 MIT-0,第三方扫描有提醒项,按安装量在效率类的 21,003 个 Skill 里排第 5,779。

总安装 10,380周安装 424GitHub Stars 公开资料未说明下载 3,358核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
0.9.2

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:multi-user-privacy(多用户隐私)
来源仓库:https://github.com/lz84/multi-user-privacy
安装命令:
openclaw skills install multi-user-privacy
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install multi-user-privacy

这个 Skill 是做什么的

效率类 Skill 把重复的整理、汇总、转换工作交给助手完成,减少手工复制粘贴。

自动识别用户身份并隔离内存与敏感数据处理。multi-user-privacy 属于效率类 Skill,可作为该场景下的辅助能力补充。在多租户环境中强制执行基于角色的访问控制。过滤会话历史中的隐私字段,防止信息泄露风险。配额管理依赖外部配置,需定期审计权限分配策略。子代理通信采用加密通道,但仍建议最小权限原则。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install multi-user-privacy;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要可写文件,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

multi-user-privacy 怎么安装?

在终端执行 openclaw skills install multi-user-privacy。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

multi-user-privacy 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

multi-user-privacy 需要什么权限?

权限级别是可写文件。该 Skill 可能写入或修改本地文件,使用前需要确认目标目录和修改范围。

multi-user-privacy 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

multi-user-privacy 用的人多吗?

公开数据是累计安装 10,380 次,近一周安装 424 次,下载 3,358 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

multi-user-privacy 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理效率类任务、又不想每次都手写提示词的人。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

效率类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
github

GitHub 代码协作 · OpenClaw

7,632,918545需要联网MIT-0通过
nano-pdf

Nano PDF 文档 · OpenClaw

4,249,476231需要联网MIT-0通过
auto-updater

自动更新程序 · OpenClaw

2,964,063386操作浏览器MIT-0通过
video-frames

视频帧 · OpenClaw

2,621,304112需要联网MIT-0通过
gemini

Gemini 助手 · OpenClaw

2,547,39648需要联网MIT-0有提醒
multi-user-privacy

多用户隐私 · 本页

10,380—可写文件MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Multi-User Privacy 技能

版本:v0.9.0 - Gateway 自动创建子代理版 定位: ClawHub 首个多用户隐私保护技能 状态: ✅ 生产环境验证 更新: 2026-03-12 - 实现 Gateway 自动创建子代理功能

🌟 核心功能

1. 身份识别 ✅

  • ✅ 自动识别管理员/普通用户
  • ✅ 基于账号 ID 自动分类
  • ✅ 不同身份不同权限

2. 记忆隔离 ✅

  • ✅ 记忆文件物理隔离
  • ✅ 普通用户无法访问 MEMORY.md
  • ✅ 每个用户独立记忆空间
  • ✅ 文件系统级别保护

3. 隐私检查 ✅

  • ✅ 回复前敏感词检查
  • ✅ 防止泄露其他账号信息
  • ✅ 自动过滤敏感内容
  • ✅ 每个对话都是独立世界

4. 项目权限 ✅

  • ✅ 项目归属检查
  • ✅ 防止越权操作
  • ✅ 细粒度权限控制

5. 异常检测 ✅

  • ✅ 频繁失败自动封禁
  • ✅ 行为数据库记录
  • ✅ 自动告警通知

6. 实时告警 ✅

  • ✅ 监控隐私违规
  • ✅ 立即通知管理员
  • ✅ 完整日志记录

7. 配置热更新 ✅

  • ✅ 修改配置无需重启
  • ✅ 自动监听文件变化
  • ✅ 即时生效

8. 性能优化 ✅

  • ✅ 配置缓存(100 倍提升)
  • ✅ 行为数据库缓存
  • ✅ 自动清理过期缓存

9. Session 管理 ✅

  • ✅ Session 检查(确保对话隔离)
  • ✅ 用户专属 session 记录
  • ✅ Session 不匹配警告

10. 子代理自动创建 🆕 (v0.9.0)

  • ✅ Gateway 收到消息时自动检测新用户
  • ✅ 自动创建专属子代理(pending 队列机制)
  • ✅ 消息自动路由到对应子代理
  • ✅ 完全自动化,无需手动干预
  • ✅ 支持主流程或定时任务处理 pending 队列

11. 配额管理 🆕

  • ✅ 管理员无限配额
  • ✅ 普通用户资源限制(磁盘/Token/消息)
  • ✅ 配额超限自动拒绝
  • ✅ 每日自动重置
  • ✅ 详细使用日志

🎯 隔离架构

完整隔离方案

┌─────────────────────────────────────────────────────────┐
│                    主代理 (路由器)                       │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  1️⃣ 身份识别层                                          │
│     └── 读取 sender_id                                  │
│         ├── 管理员 (ou_b96f5424607baf3a0455b55e0f4a2213)│
│         └── 普通用户                                    │
│                    ↓                                    │
│  2️⃣ Session 管理层                                       │
│     └── 查找或创建用户专属 session                       │
│         ├── session_laoliu                              │
│         ├── session_sun                                 │
│         └── session_xie                                 │
│                    ↓                                    │
│  3️⃣ 记忆隔离层                                          │
│     └── 加载对应记忆文件                                 │
│         ├── 管理员:MEMORY.md + 当日记忆                 │
│         └── 普通用户:users/{user_id}.md + 当日记忆     │
│                    ↓                                    │
│  4️⃣ 隐私检查层                                          │
│     └── 回复前检查                                       │
│         ├── 敏感词检查                                   │
│         ├── 账号 ID 检查                                  │
│         └── 角色称呼检查                                 │
│                    ↓                                    │
│  5️⃣ 子代理路由层                                         │
│     └── 转发到对应子代理                                 │
│         ├── 子代理处理                                   │
│         └── 返回回复                                     │
│                                                         │
└─────────────────────────────────────────────────────────┘

📋 技术实现

1. 身份识别

// privacy-guard.js
function getUserIdFromContext(context) {
    const chatId = context.chat_id || context.user_id || context.sender_id;
    if (!chatId) return null;
    
    const match = chatId.match(/(ou_[a-z0-9]+)/);
    return match ? match[1] : null;
}

function isAdmin(userId) {
    return userId === ADMIN_ID; // ou_b96f5424607baf3a0455b55e0f4a2213
}

2. 记忆隔离

// privacy-guard.js
function loadMemory(userId) {
    const results = { loaded: [], missing: [] };
    const today = new Date().toISOString().split('T')[0];
    const USER_MEMORY_DIR = path.join(MEMORY_DIR, 'users');
    
    // 管理员:加载完整记忆
    if (isAdmin(userId)) {
        if (fs.existsSync(MEMORY_PATH)) {
            results.loaded.push(MEMORY_PATH);
        }
    } else {
        // 普通用户:只能访问自己的记忆
        const userMemoryPath = path.join(USER_MEMORY_DIR, `${userId}.md`);
        if (fs.existsSync(userMemoryPath)) {
            results.loaded.push(userMemoryPath);
        }
    }
    
    // 所有用户都可以访问当日记忆
    const todayPath = path.join(MEMORY_DIR, `${today}.md`);
    if (fs.existsSync(todayPath)) {
        results.loaded.push(todayPath);
    }
    
    return results;
}

3. 隐私检查

// privacy-guard.js
function enhancedCheck(message, userId) {
    const issues = [];
    
    // 如果不是管理员,检查敏感词
    if (!isAdmin(userId)) {
        const forbiddenTerms = ['老刘', '主人', '管理员', '主账号'];
        
        for (const term of forbiddenTerms) {
            if (message.includes(term)) {
                issues.push({
                    type: 'forbidden_term',
                    value: term,
                    severity: 'high',
                    message: `检测到敏感词汇:${term}`
                });
            }
        }
        
        // 检查是否暗示其他账号存在
        const otherAccountPatterns = [
            /其他账号/g,
            /另一个用户/g,
            /还有人/g,
            /除了你之外/g
        ];
        
        for (const pattern of otherAccountPatterns) {
            if (pattern.test(message)) {
                issues.push({
                    type: 'isolation_breach',
                    value: pattern.toString(),
                    severity: 'medium',
                    message: '暗示其他账号存在'
                });
            }
        }
    }
    
    return {
        passed: issues.length === 0,
        issues,
        blocked: issues.some(i => i.severity === 'high')
    };
}

4. Session 管理

// session-guard.js
class SessionManager {
    constructor() {
        this.sessions = this.loadSessionDB();
    }
    
    async getSession(userId) {
        // 检查是否已有 session
        if (this.sessions[userId]) {
            return this.sessions[userId];
        }
        
        // 创建新 session
        const session = {
            userId,
            createdAt: new Date().toISOString(),
            lastActiveAt: new Date().toISOString(),
            messageCount: 0
        };
        
        this.sessions[userId] = session;
        this.saveSessionDB();
        
        return session;
    }
    
    checkSessionMatch(currentUserId, expectedUserId) {
        return currentUserId === expectedUserId;
    }
}

5. 子代理路由

// subagent-router.js
class SubAgentRouter {
    constructor() {
        this.userSessions = this.loadRouterDB();
    }
    
    async getUserSession(userId) {
        // 检查是否已有子代理
        if (this.userSessions[userId]) {
            return this.userSessions[userId];
        }
        
        // 创建新子代理
        const session = await sessions_spawn({
            label: userId,
            task: `${userId} 的专属子代理`,
            mode: 'session',
            thread: true
        });
        
        this.userSessions[userId] = session;
        this.saveRouterDB();
        
        return session;
    }
}

🚀 快速开始

安装

# 通过 ClawHub 安装
npx clawhub install multi-user-privacy

# 或手动安装
git clone https://github.com/your-repo/multi-user-privacy.git
cp -r multi-user-privacy ~/.openclaw/skills/

配置

1. 创建隐私配置文件

cat > ~/.openclaw/workspace/.privacy-config.json << 'EOF'
{
  "admin": {
    "id": "ou_b96f5424607baf3a0455b55e0f4a2213",
    "name": "管理员",
    "role": "admin"
  },
  "privacy": {
    "mode": "strict",
    "forbiddenTerms": ["敏感词 1", "敏感词 2"]
  }
}
EOF

2. 创建项目配置文件

cat > ~/.openclaw/workspace/.projects-config.json << 'EOF'
{
  "projects": {
    "your-project": {
      "name": "你的项目",
      "owner": "your_user_id",
      "collaborators": ["collab_id_1", "collab_id_2"]
    }
  }
}
EOF

3. 启用自动注入

在 OpenClaw 主入口添加:

// ~/.openclaw/runtime/main.js 开头
require('./skills/multi-user-privacy/scripts/auto-inject');

📖 使用方式

查看 Session 统计

node scripts/session-guard.js stats

查看日志

node scripts/view-logs.js

查看子代理路由

node scripts/subagent-router.js list

清空 Session 数据库

node scripts/session-guard.js clear

📊 版本历史

v0.9.0 (2026-03-12) - Gateway 自动创建子代理版 🆕

  • ✅ Gateway 收到消息时自动检测新用户
  • ✅ 自动创建专属子代理(pending 队列机制)
  • ✅ 集成到 privacy-guard.js
  • ✅ 完整测试覆盖(87.5% 通过率)
  • ✅ 详细日志记录
  • ✅ 支持主流程或定时任务处理

v0.8.0 (2026-03-11) - 生产就绪版

  • ✅ 完整隔离架构
  • ✅ 5 层防护机制
  • ✅ 生产环境验证

v0.7.0 (2026-03-11) - 子代理自动路由

  • ✅ 自动为每个用户创建专属子代理
  • ✅ 消息自动路由到对应子代理

v0.6.0 (2026-03-11) - Session 会话管理

  • ✅ Session 检查(确保对话隔离)
  • ✅ 用户专属 session 记录

v0.5.0 (2026-03-11) - P2 改进完整版

  • ✅ 异常行为检测
  • ✅ 实时告警系统
  • ✅ 配置热更新
  • ✅ 性能优化

📞 支持

  • 文档:查看本文件
  • 问题:提交 Issue
  • 更新日志:查看 CHANGELOG.md

📄 许可证

MIT License

平台分布

OpenClaw

84.38%
按下载量换算2,833

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

可写文件

该 Skill 可能写入或修改本地文件,使用前需要确认目标目录和修改范围。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills