[← 第 18 章](/openclaw-tutorial/18-%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96%E4%B8%8E%E8%A7%84%E6%A8%A1%E5%8C%96%E9%83%A8%E7%BD%B2.html) · [📑 目录](/openclaw-tutorial/) · [📋 大纲](/openclaw-tutorial/OUTLINE.html) · [第 20 章 →](/openclaw-tutorial/20-OpenClaw%20%E7%94%9F%E6%80%81%E4%B8%8E%E6%9C%AA%E6%9D%A5%E5%B1%95%E6%9C%9B.html)

第 19 章:团队协作与企业部署

difficulty time chapter

难度: ⭐⭐⭐⭐ 高级 预计阅读: 22 分钟 前置章节: 第 8 章第 14 章

当 OpenClaw 从个人开发者工具扩展到团队和企业环境时,需要解决多用户权限、共享知识库、审批工作流、安全合规等一系列新挑战。本章将系统讲解团队协作模式、企业级安全要求、私有化部署方案和团队最佳实践,帮助你构建一个全团队共享的 AI Agent 协作平台。

📑 本章目录


19.1 团队使用模式

共享 Agent 模式

所有团队成员通过同一个 Gateway 访问同一组 Agent,适合小型团队快速上手:

                    ┌───────────────┐
   用户 A ─────────▶│               │
   用户 B ─────────▶│  共享 Gateway  │──▶ Agent (main)
   用户 C ─────────▶│               │──▶ Agent (assistant)
                    └───────────────┘
                           │
                    ┌──────▼──────┐
                    │  共享知识库   │
                    │  共享记忆     │
                    └─────────────┘
{
  "team_mode": "shared",
  "gateway": {
    "host": "0.0.0.0",
    "port": 3000,
    "auth": {
      "enabled": true,
      "method": "token",
      "tokens": {
        "user-a": "tok_xxxxxxxxxxxxxxxx",
        "user-b": "tok_yyyyyyyyyyyyyyyy",
        "user-c": "tok_zzzzzzzzzzzzzzzz"
      }
    }
  },
  "agents": {
    "main": {
      "shared": true,
      "max_concurrent_sessions": 5

    }
  }
}

[!WARNING] 共享模式下所有用户的对话记忆会互相可见。如果涉及敏感信息,请使用个人 Agent 模式或设置记忆隔离。

个人 Agent 模式

每个用户拥有独立的 Agent 实例和私有存储空间:

   用户 A ──▶ Gateway ──▶ Agent-A (独立记忆、独立配置)
   用户 B ──▶ Gateway ──▶ Agent-B (独立记忆、独立配置)
   用户 C ──▶ Gateway ──▶ Agent-C (独立记忆、独立配置)
                             │
                      ┌──────▼──────┐
                      │  共享知识库   │  ← 只读共享
                      └─────────────┘
{
  "team_mode": "personal",
  "user_isolation": {
    "enabled": true,
    "workspace_template": "~/.openclaw/templates/user-workspace/",
    "private_paths": ["memory/", "sessions/", "credentials/"],
    "shared_paths": ["skills/", "workspace/knowledge/"],
    "auto_provision": true
  }
}

混合模式

结合共享和个人模式的优势,团队共用部分 Agent,同时每人保留私有空间:

{
  "team_mode": "hybrid",
  "shared_agents": {
    "team-assistant": {
      "description": "团队共享助手,处理通用任务",
      "access": "all",
      "knowledge": "shared"
    },
    "code-reviewer": {
      "description": "代码审查 Agent",
      "access": ["dev-team"],
      "knowledge": "shared"
    }
  },
  "personal_agents": {
    "enabled": true,
    "per_user_limit": 2,
    "resources": {
      "max_memory_files": 100,

      "max_tokens_per_day": 500000
    }
  }
}

模式对比与选择

特性 共享模式 个人模式 混合模式
部署复杂度 ⭐ 低 ⭐⭐⭐ 高 ⭐⭐ 中
资源消耗 高(每用户独立实例)
数据隔离 ❌ 无 ✅ 完全隔离 ✅ 部分隔离
知识共享 ✅ 天然共享 ❌ 需额外配置 ✅ 灵活配置
适合团队规模 2-5 人 5-20 人 10-100 人
个性化程度 中高
推荐场景 初创团队、快速试用 隐私敏感、独立工作 企业团队、部门协作

[!TIP] 大多数团队建议从混合模式起步:创建 1-2 个共享 Agent 处理通用任务(如信息查询、文档生成),同时为核心成员开通个人 Agent 处理敏感或个性化任务。


19.2 多用户权限配置

角色定义

OpenClaw 团队版使用基于角色的访问控制(RBAC)模型:

角色 英文 权限范围 典型用户
超级管理员 super_admin 全部权限,包括系统配置和用户管理 运维负责人
管理员 admin Agent 管理、知识库管理、用户管理 团队负责人
开发者 developer Skills 开发与部署、Agent 配置 开发团队成员
用户 user 使用 Agent、查看共享知识库 普通团队成员
访客 guest 仅可使用指定的共享 Agent 外部协作者

RBAC 权限模型

{
  "rbac": {
    "roles": {
      "super_admin": {
        "permissions": ["*"],
        "description": "全部权限"
      },
      "admin": {
        "permissions": [
          "agent:read", "agent:write", "agent:delete",
          "knowledge:read", "knowledge:write",
          "user:read", "user:write",
          "skill:read", "skill:write", "skill:install",
          "log:read",
          "approval:manage"
        ]
      },
      "developer": {
        "permissions": [

          "agent:read", "agent:write",
          "knowledge:read", "knowledge:write",
          "skill:read", "skill:write", "skill:install",
          "log:read"
        ]
      },
      "user": {
        "permissions": [
          "agent:read", "agent:use",
          "knowledge:read",
          "skill:read"
        ]
      },
      "guest": {
        "permissions": [
          "agent:use"
        ],
        "restrictions": {
          "allowed_agents": ["team-assistant"],
          "max_messages_per_day": 50,

          "no_file_access": true

        }
      }
    }
  }
}

权限配置实例

为团队成员分配角色和权限:

{
  "users": [
    {
      "id": "user-zhangsan",
      "name": "张三",
      "email": "zhangsan@company.com",
      "role": "admin",
      "feishu_id": "ou_xxxxxxxxxxxx",
      "created_at": "2026-01-15T08:00:00Z"
    },
    {
      "id": "user-lisi",
      "name": "李四",
      "email": "lisi@company.com",
      "role": "developer",
      "feishu_id": "ou_yyyyyyyyyyyy",
      "custom_permissions": [
        "approval:manage"
      ],

      "created_at": "2026-02-01T08:00:00Z"
    },
    {
      "id": "user-wangwu",
      "name": "王五",
      "email": "wangwu@company.com",
      "role": "user",
      "feishu_id": "ou_zzzzzzzzzzzz",
      "restrictions": {
        "max_tokens_per_day": 200000,
        "allowed_models": ["gpt-4o-mini", "deepseek-v3"]
      },
      "created_at": "2026-02-15T08:00:00Z"
    },
    {
      "id": "guest-partner",
      "name": "合作伙伴 A",
      "role": "guest",
      "expires_at": "2026-06-30T23:59:59Z"
    }

  ]

}

验证权限配置的命令:

# 查看当前用户列表和角色
cat ~/.openclaw/identity/users.json | python3 -c "
import sys, json
users = json.load(sys.stdin).get('users', [])
print(f'{'用户名':<16} {'角色':<14} {'邮箱':<30}')
print('-' * 60)
for u in users:
    print(f'{u[\"name\"]:<16} {u[\"role\"]:<14} {u.get(\"email\", \"N/A\"):<30}')
print(f'\n 总计: {len(users)} 个用户')
"

# 测试特定用户的权限
openclaw auth check --user user-lisi --permission "skill:install"
# 输出: ✅ user-lisi (developer) has permission: skill:install

openclaw auth check --user guest-partner --permission "knowledge:write"
# 输出: ❌ guest-partner (guest) denied: knowledge:write

[!NOTE] custom_permissions 字段允许为特定用户追加角色之外的额外权限,实现灵活的权限管理而不需要创建新角色。


19.3 团队知识库管理

知识库架构设计

团队知识库分为三个层级:

┌────────────────────────────────────────────┐
│              全局知识库 (Global)             │  ← 公司级:规范、流程、制度
├────────────────────────────────────────────┤
│    团队知识库 (Team)     │  部门知识库 (Dept) │  ← 团队级:项目文档、技术方案
├──────────────┬───────────┴─────────────────┤
│ 个人知识库 A  │  个人知识库 B  │ 个人知识库 C  │  ← 个人级:偏好、笔记、草稿
└──────────────┴──────────────┴──────────────┘

共享知识库

配置团队共享知识库的目录结构:

# 创建团队知识库目录结构
mkdir -p ~/.openclaw/workspace/knowledge/{global,team,personal}

# 全局知识库(只读,由管理员维护)
cat > ~/.openclaw/workspace/knowledge/global/README.md << 'EOF'
# 全局知识库

本目录存放公司级共享知识,所有成员可读取,仅管理员可修改。

## 内容说明
- `company-standards.md` - 公司编码和文档规范
- `workflow-guide.md` - 标准工作流程
- `tool-catalogue.md` - 内部工具目录
- `faq.md` - 常见问题解答
EOF

# 团队知识库(团队成员可读写)
cat > ~/.openclaw/workspace/knowledge/team/README.md << 'EOF'
# 团队知识库

本目录存放团队级共享知识,本团队成员可读写。

## 内容说明
- `project-docs/` - 项目文档
- `tech-decisions/` - 技术决策记录 (ADR)
- `meeting-notes/` - 会议纪要
- `onboarding/` - 新人入职材料
EOF

知识库权限配置:

{
  "knowledge_base": {
    "layers": [
      {
        "name": "global",
        "path": "knowledge/global/",
        "access": {
          "read": ["*"],
          "write": ["admin", "super_admin"]
        },
        "sync": {
          "source": "git",
          "repo": "https://github.com/company/knowledge-base.git",
          "branch": "main",
          "auto_pull": true,
          "pull_interval": "1h"
        }
      },
      {

        "name": "team",
        "path": "knowledge/team/",
        "access": {
          "read": ["developer", "admin", "super_admin"],
          "write": ["developer", "admin", "super_admin"]
        }
      },
      {
        "name": "personal",
        "path": "knowledge/personal/${user_id}/",
        "access": {
          "read": ["self"],
          "write": ["self"]
        }
      }
    ]
  }
}

知识库同步策略

同步方式 说明 适用场景
Git Pull 从远程仓库定期拉取 全局知识库、版本控制的文档
文件监听 监听目录变化自动索引 团队知识库、频繁更新的内容
API 推送 外部系统通过 API 推送更新 与 Confluence/Notion 等集成
手动触发 管理员手动执行同步 敏感内容、需要审核的更新
# 手动同步全局知识库
cd ~/.openclaw/workspace/knowledge/global
git pull origin main

# 验证知识库索引状态
openclaw knowledge status
# 输出:
# 📚 知识库状态
# ├── global: 15 个文件,最后更新 2026-03-06 10:30
# ├── team: 23 个文件,最后更新 2026-03-06 09:15
# └── personal: 8 个文件,最后更新 2026-03-05 18:00

# 重建知识库索引
openclaw knowledge reindex --layer all

19.4 审批工作流

审批场景定义

在企业环境中,某些高风险操作需要审批流程:

{
  "approval_workflows": {
    "enabled": true,
    "scenarios": [
      {
        "name": "external_api_call",
        "description": "调用外部 API(非白名单)",
        "risk_level": "medium",
        "require_approval": true,
        "approvers": ["admin"]
      },
      {
        "name": "file_system_write",
        "description": "写入非工作区的文件系统",
        "risk_level": "high",
        "require_approval": true,
        "approvers": ["super_admin"]
      },
      {

        "name": "skill_install",
        "description": "安装新的 Skill 插件",
        "risk_level": "medium",
        "require_approval": true,
        "approvers": ["admin", "developer"]
      },
      {
        "name": "credential_access",
        "description": "访问凭证信息",
        "risk_level": "critical",
        "require_approval": true,
        "approvers": ["super_admin"],
        "max_wait_minutes": 30
      },
      {
        "name": "data_export",
        "description": "导出数据到外部",
        "risk_level": "high",
        "require_approval": true,
        "approvers": ["admin"],

        "audit_log": true

      }
    ]
  }
}

多级审批链

对于高风险操作,支持多级审批流程:

{
  "multi_level_approval": {
    "data_export": {
      "levels": [
        {
          "level": 1,
          "approvers": ["team_lead"],
          "description": "团队负责人初审",
          "timeout_minutes": 60
        },
        {
          "level": 2,
          "approvers": ["security_officer"],
          "description": "安全官员复审",
          "timeout_minutes": 120
        },
        {
          "level": 3,
          "approvers": ["cto"],

          "description": "CTO 终审(金额 > 10 万 时)",
          "condition": "amount > 100000",
          "timeout_minutes": 240
        }
      ],
      "on_timeout": "auto_reject",
      "notification_channel": "feishu"
    }
  }
}
审批流程:

请求 ──▶ 团队负责人 ──批准──▶ 安全官员 ──批准──▶ CTO ──批准──▶ 执行
              │                   │                  │
              ▼ 拒绝              ▼ 拒绝             ▼ 拒绝
           终止并通知           终止并通知          终止并通知

审批记录与审计

所有审批操作都记录在审计日志中:

# 查看最近的审批记录
cat ~/.openclaw/logs/config-audit.jsonl | \
  python3 -c "
import sys, json
for line in sys.stdin:
    try:
        entry = json.loads(line.strip())
        if entry.get('type') == 'approval':
            print(f'{entry[\"timestamp\"]} | {entry[\"action\"]} | '
                  f'申请人: {entry[\"requester\"]} | '
                  f'审批人: {entry[\"approver\"]} | '
                  f'结果: {entry[\"result\"]}')
    except: pass
" | tail -20

# 统计审批通过率
cat ~/.openclaw/logs/config-audit.jsonl | \
  python3 -c "
import sys, json
approved, rejected, total = 0, 0, 0
for line in sys.stdin:
    try:
        entry = json.loads(line.strip())
        if entry.get('type') == 'approval':
            total += 1
            if entry['result'] == 'approved': approved += 1
            elif entry['result'] == 'rejected': rejected += 1
    except: pass
if total > 0:
    print(f'总申请: {total}')
    print(f'通过: {approved} ({approved/total*100:.1f}%)')
    print(f'拒绝: {rejected} ({rejected/total*100:.1f}%)')
    print(f'其他: {total-approved-rejected}')
"

19.5 企业安全合规

数据保护

企业环境中的数据保护配置:

{
  "data_protection": {
    "encryption": {
      "at_rest": {
        "enabled": true,
        "algorithm": "AES-256-GCM",
        "key_source": "vault",
        "key_rotation_days": 90
      },
      "in_transit": {
        "tls_min_version": "1.2",
        "enforce_https": true,
        "certificate_source": "acme"
      }
    },
    "data_classification": {
      "levels": ["public", "internal", "confidential", "restricted"],
      "default_level": "internal",
      "rules": [

        {
          "pattern": "credentials/*",
          "level": "restricted"
        },
        {
          "pattern": "knowledge/global/*",
          "level": "internal"
        },
        {
          "pattern": "knowledge/personal/*",
          "level": "confidential"
        }
      ]
    },
    "data_retention": {
      "session_logs": "90d",
      "audit_logs": "365d",
      "memory_files": "unlimited",
      "cache": "7d"
    },

    "pii_detection": {

      "enabled": true,
      "patterns": ["phone", "email", "id_card", "bank_account"],
      "action": "mask_and_warn"
    }
  }
}

[!WARNING] 启用 PII 检测后,Agent 输出中的手机号、身份证号等敏感信息会被自动脱敏。请确保这不会影响正常业务流程。

审计日志

企业级审计日志配置:

{
  "audit": {
    "enabled": true,
    "log_path": "~/.openclaw/logs/audit/",
    "events": [
      "user_login", "user_logout",
      "agent_created", "agent_deleted",
      "skill_installed", "skill_removed",
      "knowledge_modified",
      "credential_accessed",
      "approval_requested", "approval_decided",
      "config_changed",
      "data_exported"
    ],
    "format": "jsonl",
    "fields": [
      "timestamp", "event_type", "user_id", "user_ip",
      "resource", "action", "result", "details"
    ],

    "export": {
      "enabled": true,
      "destination": "siem",
      "protocol": "syslog",
      "endpoint": "siem.company.com:514"
    }
  }
}

审计日志查询示例:

# 查看今日所有安全相关事件
grep "$(date +%Y-%m-%d)" ~/.openclaw/logs/audit/*.jsonl | \
  python3 -c "
import sys, json
for line in sys.stdin:
    try:
        parts = line.split(':', 1)
        entry = json.loads(parts[1].strip() if len(parts) > 1 else line.strip())
        event = entry.get('event_type', '')
        if event in ['credential_accessed', 'config_changed', 'data_exported', 'user_login']:
            print(f'[{entry[\"timestamp\"]}] {event}: '
                  f'用户={entry.get(\"user_id\",\"?\")} '
                  f'资源={entry.get(\"resource\",\"?\")} '
                  f'结果={entry.get(\"result\",\"?\")}')
    except: pass
"

# 导出审计报告(CSV 格式)
python3 << 'PYEOF'
import json, csv, sys, glob

with open("/tmp/audit-report.csv", "w", newline="") as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(["时间", "事件", "用户", "资源", "操作", "结果"])
    for filepath in sorted(glob.glob("~/.openclaw/logs/audit/*.jsonl")):
        with open(filepath) as f:
            for line in f:
                try:
                    e = json.loads(line.strip())
                    writer.writerow([
                        e.get("timestamp", ""),
                        e.get("event_type", ""),
                        e.get("user_id", ""),
                        e.get("resource", ""),
                        e.get("action", ""),
                        e.get("result", "")
                    ])
                except:
                    pass
print("报告已导出: /tmp/audit-report.csv")
PYEOF

备份与灾难恢复

备份与灾难恢复

自动化备份脚本:

#!/bin/bash
# openclaw-backup.sh - OpenClaw 企业级备份脚本
# 用法: ./openclaw-backup.sh [备份目标路径]
# 建议通过 cron 每日执行

set -euo pipefail

BACKUP_ROOT="${1:-/backup/openclaw}"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="${BACKUP_ROOT}/${TIMESTAMP}"
OPENCLAW_HOME="${HOME}/.openclaw"
RETENTION_DAYS=30

echo "🔄 开始 OpenClaw 备份..."
echo "   时间: $(date)"
echo "   目标: ${BACKUP_DIR}"
mkdir -p "${BACKUP_DIR}"

# 1. 备份核心配置
echo "📋 备份配置文件..."
tar czf "${BACKUP_DIR}/config.tar.gz" \
  -C "${OPENCLAW_HOME}" \
  openclaw.json \
  exec-approvals.json \
  credentials/ \
  identity/ \
  devices/ \
  2>/dev/null || true

# 2. 备份知识库和记忆
echo "🧠 备份知识库和记忆..."
tar czf "${BACKUP_DIR}/workspace.tar.gz" \
  -C "${OPENCLAW_HOME}" \
  workspace/ \
  2>/dev/null || true

# 3. 备份 Skills
echo "🔧 备份 Skills..."
if [ -d "${OPENCLAW_HOME}/workspace/skills" ]; then
  tar czf "${BACKUP_DIR}/skills.tar.gz" \
    -C "${OPENCLAW_HOME}/workspace" \
    skills/ \
    2>/dev/null || true
fi

# 4. 备份日志(仅最近 7 天)
echo "📝 备份近期日志..."
find "${OPENCLAW_HOME}/logs" -mtime -7 -name "*.jsonl" -print0 | \
  tar czf "${BACKUP_DIR}/logs-recent.tar.gz" \
  --null -T - \
  2>/dev/null || true

# 5. 备份 Cron 任务配置
echo "⏰ 备份 Cron 配置..."
tar czf "${BACKUP_DIR}/cron.tar.gz" \
  -C "${OPENCLAW_HOME}" \
  cron/jobs.json \
  2>/dev/null || true

# 6. 生成备份清单
echo "📃 生成备份清单..."
cat > "${BACKUP_DIR}/manifest.json" << MANIFEST
{
  "timestamp": "${TIMESTAMP}",
  "openclaw_home": "${OPENCLAW_HOME}",
  "files": [
    $(ls -la "${BACKUP_DIR}"/*.tar.gz 2>/dev/null | awk '{printf "    {\"name\": \"%s\", \"size\": \"%s\"},\n", $NF, $5}' | sed '$ s/,$//')
  ],
  "total_size": "$(du -sh "${BACKUP_DIR}" | cut -f1)",
  "hostname": "$(hostname)",
  "openclaw_version": "$(openclaw --version 2>/dev/null || echo 'unknown')"
}
MANIFEST

# 7. 清理旧备份
echo "🧹 清理 ${RETENTION_DAYS} 天前的旧备份..."
find "${BACKUP_ROOT}" -maxdepth 1 -type d -mtime +${RETENTION_DAYS} -exec rm -rf {} \;

# 8. 统计
TOTAL_SIZE=$(du -sh "${BACKUP_DIR}" | cut -f1)
FILE_COUNT=$(find "${BACKUP_DIR}" -name "*.tar.gz" | wc -l)
echo ""
echo "✅ 备份完成!"
echo "   文件数: ${FILE_COUNT}"
echo "   总大小: ${TOTAL_SIZE}"
echo "   路径: ${BACKUP_DIR}"

灾难恢复流程:

# 查看可用的备份
ls -la /backup/openclaw/ | head -20

# 恢复指定日期的备份
RESTORE_FROM="/backup/openclaw/20260306_020000"

# 1. 停止 OpenClaw 服务
openclaw stop

# 2. 恢复配置
tar xzf "${RESTORE_FROM}/config.tar.gz" -C ~/.openclaw/

# 3. 恢复知识库和记忆
tar xzf "${RESTORE_FROM}/workspace.tar.gz" -C ~/.openclaw/

# 4. 恢复 Skills
tar xzf "${RESTORE_FROM}/skills.tar.gz" -C ~/.openclaw/workspace/

# 5. 恢复 Cron 配置
tar xzf "${RESTORE_FROM}/cron.tar.gz" -C ~/.openclaw/

# 6. 重启服务
openclaw start
echo "✅ 恢复完成,服务已启动"
备份策略 频率 保留时间 存储位置 内容
全量备份 每周日 90 天 异地存储/S3 全部数据
增量备份 每日 30 天 本地 + NFS 变更的文件
配置快照 每次变更 365 天 Git 仓库 配置文件
审计日志 实时 永久 SIEM 系统 安全事件

19.6 私有化部署

离线安装

在无外网环境下安装 OpenClaw:

# ====== 在有网络的机器上准备离线包 ======

# 1. 下载 OpenClaw 安装包
mkdir -p /tmp/openclaw-offline
cd /tmp/openclaw-offline

# 下载主程序
curl -L -o openclaw-linux-x64.tar.gz \
  https://github.com/openclaw/openclaw/releases/latest/download/openclaw-linux-x64.tar.gz

# 下载依赖的 Docker 镜像
docker pull openclaw/gateway:latest
docker save openclaw/gateway:latest -o gateway-image.tar

docker pull nginx:alpine
docker save nginx:alpine -o nginx-image.tar

# 下载常用 Skills
openclaw skill download complex-task-automator --output ./skills/
openclaw skill download feishu-connector --output ./skills/

# 打包全部离线资源
tar czf openclaw-offline-bundle.tar.gz ./*
echo "离线包已准备: $(du -sh openclaw-offline-bundle.tar.gz | cut -f1)"

# ====== 在离线机器上安装 ======

# 2. 传输离线包(通过 USB/内网传输)
scp openclaw-offline-bundle.tar.gz user@offline-server:/tmp/

# 3. 解压并安装
ssh user@offline-server
cd /tmp && tar xzf openclaw-offline-bundle.tar.gz

# 安装主程序
tar xzf openclaw-linux-x64.tar.gz -C /usr/local/bin/

# 加载 Docker 镜像
docker load -i gateway-image.tar
docker load -i nginx-image.tar

# 安装 Skills
cp -r ./skills/* ~/.openclaw/workspace/skills/

# 4. 验证安装
openclaw --version
openclaw status

私有模型接入

私有模型接入

在内网环境中使用私有部署的大模型:

{
  "models": {
    "providers": [
      {
        "name": "private-llm",
        "type": "openai-compatible",
        "base_url": "http://10.0.2.50:8080/v1",
        "api_key": "internal-key-not-needed",
        "models": [
          {
            "id": "qwen2.5-72b",
            "context_window": 131072,
            "pricing": { "input": 0, "output": 0 }
          },
          {
            "id": "deepseek-coder-33b",
            "context_window": 32768,
            "pricing": { "input": 0, "output": 0 }
          }

        ]
      },
      {
        "name": "ollama-local",
        "type": "ollama",
        "base_url": "http://localhost:11434",
        "models": [
          {
            "id": "llama3:70b",
            "context_window": 8192
          },
          {
            "id": "codellama:34b",
            "context_window": 16384
          }
        ]
      }
    ],
    "default_model": "qwen2.5-72b",
    "routing": {

      "code_tasks": "deepseek-coder-33b",

      "general": "qwen2.5-72b",
      "fast_tasks": "llama3:70b"
    }
  }
}

[!TIP] 使用 vLLMOllama 部署私有模型时,确保提供 OpenAI 兼容的 API 接口,OpenClaw 可以无缝对接。

网络隔离方案

┌─────────────────────────────────────────────────────┐
│                    内网 (10.0.0.0/8)                 │
│                                                     │
│  ┌──────────┐    ┌──────────┐    ┌──────────────┐  │
│  │ OpenClaw │────│  私有 LLM  │    │  知识库服务   │  │
│  │ Gateway  │    │  vLLM     │    │  (Milvus)    │  │
│  └────┬─────┘    └──────────┘    └──────────────┘  │
│       │                                             │
│  ┌────▼─────┐                                      │
│  │  代理网关  │ ← 唯一的外网出口(可选,受控访问)      │
│  └────┬─────┘                                      │
│       │                                             │
├───────┼─────────────────────────────────────────────┤
│       │              DMZ 区域                        │
│  ┌────▼─────┐                                      │
│  │ 防火墙    │ ← 白名单 API 端点                     │
│  └────┬─────┘                                      │
├───────┼─────────────────────────────────────────────┤
        │              外网

        ▼
   api.openai.com (可选)
   feishu.cn (可选)
{
  "network": {
    "mode": "isolated",
    "proxy": {
      "enabled": true,
      "http_proxy": "http://proxy.internal:8888",
      "https_proxy": "http://proxy.internal:8888",
      "no_proxy": "10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,localhost"
    },
    "firewall_rules": {
      "outbound_whitelist": [
        "api.openai.com:443",
        "open.feishu.cn:443",
        "github.com:443"
      ],
      "inbound": {
        "allow": ["10.0.0.0/8"],
        "deny": ["0.0.0.0/0"]
      }

    }
  }
}

19.7 团队最佳实践

规范与标准

建立团队统一的 OpenClaw 使用规范:

# OpenClaw 团队使用规范 v1.0

## 1. 命名规范
- Agent 命名: `<团队>-<功能>`,如 `dev-reviewer``ops-monitor`
- Skill 命名: `<功能域>-<动作>`,如 `code-analyzer``doc-generator`
- 记忆命名: `YYYY-MM-DD-<主题>.md`,如 `2026-03-06-api-design.md`

## 2. 代码审查
- 所有自定义 Skill 必须经过至少一名开发者 Code Review
- Skill 中的 shell 命令必须使用白名单机制
- 禁止在 Skill 中硬编码敏感信息

## 3. 安全红线
- ❌ 禁止将 API Key 写入代码或配置文件(使用 credential 管理)
- ❌ 禁止 Agent 直接访问生产数据库
- ❌ 禁止关闭执行审批功能
- ✅ 所有外部 API 调用必须通过审批
- ✅ 定期审查审计日志(每周至少一次)

## 4. 成本管控
- 每人每日 Token 上限: 500,000
- 优先使用 GPT-4o-mini / DeepSeek-V3 处理简单任务
- 批量处理任务(如文档生成)安排在低峰时段

培训计划

阶段 时长 内容 目标人群
L1: 入门 2 小时 基础概念、对话使用、常见问答 全员
L2: 进阶 4 小时 Skill 使用、知识库管理、飞书集成 技术团队
L3: 高级 8 小时 Skill 开发、Agent 配置、性能优化 核心开发者
L4: 管理 4 小时 权限管理、安全审计、成本控制 管理员
# 培训环境快速搭建
#!/bin/bash
# setup-training-env.sh - 一键搭建培训环境

TRAINING_DIR="/tmp/openclaw-training"
mkdir -p "${TRAINING_DIR}"

# 创建培训用配置(独立于生产环境)
cat > "${TRAINING_DIR}/openclaw.json" << 'EOF'
{
  "mode": "training",
  "models": {
    "default": "gpt-4o-mini",
    "allowed": ["gpt-4o-mini"]
  },
  "budget": {
    "total_tokens": 100000,
    "warning_threshold": 0.8
  },
  "safety": {
    "sandbox": true,
    "allow_network": false,
    "allow_file_write": false
  }
}
EOF

echo "✅ 培训环境已准备就绪: ${TRAINING_DIR}"
echo "   模型: gpt-4o-mini(控制成本)"
echo "   Token 限制: 100,000"
echo "   沙箱模式: 已启用"

团队入职清单

团队入职清单

新成员加入团队时的 OpenClaw 引导清单:

# 🚀 OpenClaw 团队入职清单

## 第一天:环境配置
- [ ] 获取 OpenClaw 访问凭证(联系管理员)
- [ ] 验证 Gateway 连接:运行 `openclaw status`
- [ ] 配置飞书集成(扫码绑定)
- [ ] 阅读团队使用规范文档

## 第一周:基础学习
- [ ] 完成 L1 入门培训
- [ ] 向 Agent 发送第一条消息并获得回复
- [ ] 浏览共享知识库,了解已有内容
- [ ] 创建第一条个人记忆

## 第二周:日常使用
- [ ] 使用 Agent 完成至少一个实际工作任务
- [ ] 向团队知识库贡献一篇文档
- [ ] 参与 L2 进阶培训(技术成员)
- [ ] 反馈使用体验和改进建议

## 第一月:常规运作
- [ ] 熟悉常用 Skills 列表和使用方法
- [ ] 了解审批流程和安全规范
- [ ] 制定个人 Agent 使用计划
- [ ] 分享一个使用 OpenClaw 的成功案例

[!NOTE] 建议管理员将入职清单配置为飞书机器人自动推送,新成员入职当天自动发送。


进阶:企业部署架构

企业级部署需要考虑高可用和多租户架构:

架构模式 说明 适用规模
单实例 一个 Gateway 服务所有团队 <10 人
多实例 每个团队独立 Gateway 10-100 人
集群化 负载均衡 + 共享存储 100+ 人
混合云 本地 + 云端协同 跨地域团队

选择架构时需平衡成本、复杂度和可靠性需求。



进阶:企业部署架构

企业级部署需考虑高可用和多租户架构:

架构模式 说明 适用规模
单实例 一个 Gateway 服务所有团队 10 人以下
多实例 每团队独立 Gateway 10 到 100 人
集群化 负载均衡加共享存储 100 人以上
混合云 本地加云端协同 跨地域团队


实操练习

练习 1:权限配置

  1. 为你的 OpenClaw 实例创建一个用户配置文件: ```bash cat > ~/.openclaw/identity/users.json « ‘EOF’ { “users”: [ { “id”: “admin-01”, “name”: “管理员”, “role”: “admin” }, { “id”: “dev-01”, “name”: “开发者 A”, “role”: “developer” }, { “id”: “user-01”, “name”: “普通用户”, “role”: “user” }

] } EOF


2. 验证不同角色的权限差异。

3. 尝试为 `dev-01` 添加 `custom_permissions`,赋予额外的审批权限。

### 练习 2:备份恢复

1. 使用本章提供的备份脚本执行一次完整备份。

2. 检查备份文件的大小和内容:
```bash
ls -la /backup/openclaw/$(date +%Y%m%d)*/
cat /backup/openclaw/$(date +%Y%m%d)*/manifest.json
  1. 模拟灾难恢复:删除一个记忆文件,然后从备份中恢复它。

练习 3:团队规范制定

  1. 参考本章的规范模板,为你的团队编写一份 OpenClaw 使用规范。

  2. 创建一份团队入职清单,保存到知识库中。

  3. 设计一个审批工作流,覆盖你团队最常见的高风险操作场景。

练习 4:私有模型接入

  1. 使用 Ollama 在本地部署一个小模型: ```bash

    安装 Ollama

    curl -fsSL https://ollama.com/install.sh | sh

拉取模型

ollama pull llama3:8b

验证模型可用

ollama run llama3:8b “你好,请自我介绍” ```

  1. 配置 OpenClaw 连接本地 Ollama 模型。

  2. 对比本地模型和云端模型在响应速度和质量方面的差异。


常见问题 (FAQ)

Q: 本章内容是否需要前置知识?

A: 建议先完成前面的章节,确保理解 OpenClaw 的基础概念和安装方式。

Q: 遇到命令执行错误怎么办?

A: 请检查 OpenClaw 是否正确安装,运行 openclaw --version 确认版本。如问题持续,请参考故障排查章节或提交 GitHub Issue。

Q: 如何获取更多帮助?

A: 可以通过以下渠道获取帮助:


参考来源

来源 链接 说明
OpenClaw 官方文档 https://docs.OpenClaw.ai 官方安装与配置手册
OpenClaw GitHub https://github.com/OpenClaw/OpenClaw 源码与 Issue 追踪
ClawHub 平台 https://hub.OpenClaw.ai Skills 市场与文档

本章小结


[← 上一章:性能优化与规模化部署](/openclaw-tutorial/18-%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96%E4%B8%8E%E8%A7%84%E6%A8%A1%E5%8C%96%E9%83%A8%E7%BD%B2.html) · [📑 返回目录](/openclaw-tutorial/) · [下一章:OpenClaw 生态与未来展望 →](/openclaw-tutorial/20-OpenClaw%20%E7%94%9F%E6%80%81%E4%B8%8E%E6%9C%AA%E6%9D%A5%E5%B1%95%E6%9C%9B.html)