首页 教程 分类 Skills下载 关于
ZH EN JA KO
进阶玩法

OpenClaw多用户和团队使用管理教程

· 20 分钟

前言

当你的 OpenClaw 不再只是个人使用,而是需要服务整个团队时,就需要考虑用户管理、权限控制和资源分配等问题。本文将介绍如何将 OpenClaw 从个人工具升级为团队级的 AI 助手平台。

一、多用户架构概览

OpenClaw 的多用户架构基于以下核心概念:

┌──────────────────────────────────────────┐
│            OpenClaw Gateway              │
│                (:18789)                  │
├──────────────────────────────────────────┤
│           用户管理模块                     │
│  ┌──────┐  ┌──────┐  ┌──────┐           │
│  │Admin │  │User A│  │User B│  ...      │
│  │(管理) │  │(普通) │  │(普通) │           │
│  └──────┘  └──────┘  └──────┘           │
├──────────────────────────────────────────┤
│  共享技能池  │  私有技能区  │  模型配额管理  │
├──────────────────────────────────────────┤
│         频道层(各用户独立会话)             │
│  WhatsApp │ Telegram │ Discord │ Slack   │
└──────────────────────────────────────────┘

二、启用多用户模式

2.1 基础配置

// ~/.config/openclaw/openclaw.json5
{
  "multiUser": {
    "enabled": true,
    // 用户数据存储目录
    "dataDir": "/var/lib/openclaw/users",
    // 用户认证方式
    "authMethod": "token",
    // 默认用户角色
    "defaultRole": "user",
    // 允许自助注册
    "selfRegistration": false
  }
}

2.2 创建管理员账户

# 初始化多用户模式
openclaw onboard --multi-user

# 创建管理员
openclaw user create \
  --username admin \
  --role admin \
  --email [email protected]

# 系统会生成一个 API Token,请妥善保存
# Token: oc_admin_a1b2c3d4e5f6...

2.3 添加普通用户

# 创建普通用户
openclaw user create \
  --username alice \
  --role user \
  --email [email protected]

# 列出所有用户
openclaw user list

输出示例:

┌──────────┬─────────┬──────────────────────┬─────────┐
│ Username │ Role    │ Email                │ Status  │
├──────────┼─────────┼──────────────────────┼─────────┤
│ admin    │ admin   │ [email protected]    │ active  │
│ alice    │ user    │ [email protected]    │ active  │
│ bob      │ user    │ [email protected]      │ active  │
└──────────┴─────────┴──────────────────────┴─────────┘

三、用户隔离机制

3.1 对话隔离

每个用户的对话历史完全独立,互不可见:

{
  "multiUser": {
    "isolation": {
      // 对话历史隔离
      "conversations": true,
      // 用户偏好隔离
      "preferences": true,
      // 自定义提示词隔离
      "systemPrompts": true
    }
  }
}

3.2 数据存储结构

/var/lib/openclaw/users/
├── admin/
│   ├── conversations/
│   ├── preferences.json
│   └── skills/           # 私有技能
├── alice/
│   ├── conversations/
│   ├── preferences.json
│   └── skills/
└── bob/
    ├── conversations/
    ├── preferences.json
    └── skills/

3.3 频道到用户的映射

不同频道的用户需要映射到 OpenClaw 的内部用户:

{
  "multiUser": {
    "channelMapping": {
      "telegram": {
        // Telegram 用户 ID -> OpenClaw 用户名
        "123456789": "alice",
        "987654321": "bob"
      },
      "whatsapp": {
        // WhatsApp 号码 -> OpenClaw 用户名
        "+8613800138000": "alice",
        "+8613900139000": "bob"
      },
      "discord": {
        // Discord 用户 ID -> OpenClaw 用户名
        "1234567890": "alice"
      }
    },
    // 未映射用户的处理方式
    "unmappedUserPolicy": "create_auto"  // auto | reject | guest
  }
}

四、角色与权限管理

4.1 内置角色

角色 权限 适用场景
admin 全部权限 系统管理员
manager 用户管理 + 配置 团队负责人
user 正常使用 普通团队成员
guest 限制使用 临时用户

4.2 权限详细列表

{
  "roles": {
    "admin": {
      "permissions": [
        "user.create", "user.delete", "user.modify",
        "config.modify", "skill.manage",
        "model.all", "channel.manage",
        "stats.view", "logs.view"
      ]
    },
    "manager": {
      "permissions": [
        "user.create", "user.modify",
        "skill.manage", "model.all",
        "stats.view"
      ]
    },
    "user": {
      "permissions": [
        "chat.send", "chat.history",
        "skill.use", "model.allowed",
        "preference.modify"
      ]
    },
    "guest": {
      "permissions": [
        "chat.send"
      ],
      "restrictions": {
        "maxMessagesPerDay": 50,
        "maxConversationLength": 10
      }
    }
  }
}

4.3 自定义角色

# 创建自定义角色
openclaw role create developer \
  --permissions "chat.send,chat.history,skill.use,skill.create,model.all"

# 将用户分配到角色
openclaw user modify alice --role developer

五、模型配额管理

5.1 按用户设置配额

{
  "quotas": {
    "default": {
      "dailyMessages": 200,
      "dailyTokens": 500000,
      "maxTokensPerMessage": 4096,
      "allowedModels": ["claude-sonnet-4-20250514", "gpt-4o-mini"]
    },
    "users": {
      "alice": {
        "dailyMessages": 500,
        "dailyTokens": 1000000,
        "allowedModels": ["claude-sonnet-4-20250514", "claude-opus-4-20250514", "gpt-4o"]
      },
      "bob": {
        "dailyMessages": 100,
        "dailyTokens": 200000,
        "allowedModels": ["claude-sonnet-4-20250514"]
      }
    }
  }
}

5.2 按角色设置配额

{
  "quotas": {
    "byRole": {
      "admin": {
        "dailyMessages": -1,     // -1 表示无限制
        "dailyTokens": -1,
        "allowedModels": ["*"]   // 所有模型
      },
      "user": {
        "dailyMessages": 200,
        "dailyTokens": 500000,
        "allowedModels": ["claude-sonnet-4-20250514", "gpt-4o-mini"]
      },
      "guest": {
        "dailyMessages": 20,
        "dailyTokens": 50000,
        "allowedModels": ["gpt-4o-mini"]
      }
    }
  }
}

5.3 配额用量查看

# 查看所有用户的配额使用情况
openclaw user stats

# 输出示例:
# ┌──────────┬──────────┬──────────┬─────────────┐
# │ User     │ Messages │ Tokens   │ Quota Used  │
# ├──────────┼──────────┼──────────┼─────────────┤
# │ alice    │ 156/500  │ 342K/1M  │ 34.2%       │
# │ bob      │ 89/100   │ 178K/200K│ 89.0%       │
# └──────────┴──────────┴──────────┴─────────────┘

# 查看单个用户的详细使用统计
openclaw user stats alice --detail

5.4 配额超限处理

{
  "quotas": {
    "onExceeded": {
      // 超限时的回复消息
      "message": "今日使用额度已用完,请明天再试。如需更多额度,请联系管理员。",
      // 是否通知管理员
      "notifyAdmin": true,
      // 是否允许降级到更便宜的模型
      "fallbackToFreeModel": true,
      "fallbackModel": "gpt-4o-mini"
    }
  }
}

六、共享技能 vs 私有技能

6.1 技能目录结构

~/.openclaw/
├── skills/                    # 全局共享技能
│   ├── translator.SKILL.md
│   ├── code-review.SKILL.md
│   └── meeting-notes.SKILL.md
└── users/
    ├── alice/
    │   └── skills/            # Alice 的私有技能
    │       └── my-custom.SKILL.md
    └── bob/
        └── skills/            # Bob 的私有技能
            └── data-analysis.SKILL.md

6.2 技能权限配置

{
  "skills": {
    "shared": {
      "path": "~/.openclaw/skills",
      // 所有用户可用
      "accessLevel": "all"
    },
    "private": {
      // 每个用户有自己的技能目录
      "pathTemplate": "~/.openclaw/users/{% raw %}{{username}}{% endraw %}/skills",
      "accessLevel": "owner"
    },
    // 技能管理权限
    "management": {
      "createShared": ["admin", "manager"],
      "createPrivate": ["admin", "manager", "user"],
      "deleteShared": ["admin"],
      "deletePrivate": ["admin", "owner"]
    }
  }
}

6.3 团队共享技能示例

<!-- ~/.openclaw/skills/team-qa.SKILL.md -->
# 团队 Q&A 助手

你是团队内部的 Q&A 助手,负责回答关于公司政策、流程和技术规范的问题。

## 知识库
- 参考 /data/company-docs/ 目录下的文档
- 优先使用最新版本的文档

## 回答规范
- 引用具体的文档名称和章节
- 如果不确定,明确说明并建议联系相关负责人
- 保密信息不要在群组中透露

七、使用统计分析

7.1 配置统计收集

{
  "analytics": {
    "enabled": true,
    "storage": "sqlite",
    "dbPath": "/var/lib/openclaw/analytics.db",
    "retention": "90d",   // 数据保留 90 天
    "collect": {
      "messageCount": true,
      "tokenUsage": true,
      "modelUsage": true,
      "responseTime": true,
      "skillUsage": true,
      "channelUsage": true
    }
  }
}

7.2 查看统计报表

# 查看总体使用概况
openclaw dashboard

# 查看指定时间范围的统计
openclaw stats --from 2026-04-01 --to 2026-04-08

# 导出 CSV 报表
openclaw stats --export csv --output /tmp/openclaw-stats.csv

7.3 通过 API 查询统计

# 获取用户使用排行
curl -s http://localhost:18789/api/v1/admin/stats/users \
  -H "Authorization: Bearer ADMIN_TOKEN" | jq .

# 获取模型使用统计
curl -s http://localhost:18789/api/v1/admin/stats/models \
  -H "Authorization: Bearer ADMIN_TOKEN" | jq .

八、团队部署最佳实践

8.1 部署检查清单

□ 启用多用户模式并创建管理员
□ 为每个团队成员创建账户并分配角色
□ 配置合理的使用配额
□ 创建团队共享技能
□ 设置频道到用户的映射
□ 配置使用统计和监控
□ 制定使用规范并通知团队
□ 定期审查使用情况和配额

8.2 安全建议

措施 重要性 说明
定期轮换 API Token 每 90 天更换一次
启用审计日志 记录所有管理操作
最小权限原则 只给必要权限
敏感信息过滤 防止 AI 泄露敏感数据
定期审查用户列表 及时删除离职人员
配额告警 超过 80% 时通知管理员

8.3 容量规划

团队规模 建议配置 月预算参考
5人以下 1核 2G VPS $50-100
5-20人 2核 4G VPS $100-300
20-50人 4核 8G VPS $300-800
50人以上 集群部署 $800+

8.4 用户管理命令速查

# 创建用户
openclaw user create --username NAME --role ROLE --email EMAIL

# 修改用户角色
openclaw user modify USERNAME --role NEW_ROLE

# 禁用用户
openclaw user disable USERNAME

# 启用用户
openclaw user enable USERNAME

# 删除用户
openclaw user delete USERNAME

# 重置用户 Token
openclaw user reset-token USERNAME

# 查看用户详情
openclaw user info USERNAME

# 批量导入用户
openclaw user import --file users.csv

通过以上配置,你可以将 OpenClaw 打造成一个安全、高效的团队 AI 助手平台,让每个成员都能享受 AI 的强大能力,同时保持良好的管理和控制。

OpenClaw 是开源免费的个人AI助手,支持 WhatsApp、Telegram、Discord 等多平台接入