🐙 Octop 多用户管理场景完全指南
一份详实的 Octop 多用户使用手册,涵盖管理员运维与典型场景案例 💡
📋 目录
- 🎯 多用户架构概述
- 👨💼 管理员功能大全
- 👤 普通用户使用体验
- 🏠 典型场景案例
- 🔒 安全与隔离机制
- ⚙️ 运维最佳实践
1. 🎯 多用户架构概述
1.1 为什么 Octop 要做多用户?
传统的 AI 助手(比如你直接在终端跑一个 CLI 工具)是单用户的——数据、配置、记忆全绑在一个系统账号上。🥲
但现实世界是这样的:
🏠 场景一:家庭共用一台服务器
├── 爸爸:需要处理工作邮件、写报告 📧
├── 妈妈:做饭助手、购物清单 🍳
└── 孩子:学习辅导、作业答疑 📚
🏢 场景二:创业小团队
├── 创始人:需要市场分析、竞品调研 📊
├── 工程师:代码审查、技术方案 💻
└── 运营:文案撰写、数据报表 📈
👨👩👧 场景三:远程办公
├── 员工 A:用飞书接入,随时提问 🙋
├── 员工 B:用钉钉,权限不同 🔐
└── 实习生:只读权限,限制访问 ⚠️
Octop 的多用户设计就是为了解决这些问题!🎉
1.2 核心架构
┌─────────────────────────────────────────────────────────────┐
│ Octop Server │
│ (单一进程 🚀) │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ UserManager (用户管理) │ │
│ ├─────────────────────────────────────────────────┤ │
│ │ │ │
│ │ 👤 用户 A ──→ HarnessAgentManager ──→ Agent 1 │ │
│ │ │ ├── Agent 2 │ │
│ │ │ └── Agent 3 │ │
│ │ 👤 用户 B ──→ HarnessAgentManager ──→ Agent 1 │ │
│ │ └── Agent 2 │ │
│ │ │ │
│ │ 👤 用户 C ──→ HarnessAgentManager ──→ Agent 1 │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ SharedServices (共享服务) │ │
│ │ ├── SqlitePool (统一数据库) │ │
│ │ ├── ExpertCatalog (专家库) │ │
│ │ ├── ChannelManager (IM 通道) │ │
│ │ └── CronManager (定时任务) │ │
│ └─────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
1.3 关键设计原则
| 原则 | 说明 | 好处 |
|---|
| 🔐 数据隔离 | 每个用户有独立的 Agent、工作空间、记忆 | 隐私有保障 |
| 👑 角色分级 | Admin / 普通用户 两级权限 | 管理有度 |
| 📊 统一存储 | 共享 SQLite 数据库 | 运维简单 |
| 🔄 会话独立 | 用户间对话互不干扰 | 体验流畅 |
2. 👨💼 管理员功能大全
2.1 初始化与账号创建
首次安装后,运行初始化向导:
octop init
这个命令会:
- 📁 创建
~/.octop/ 数据目录 - 🗄️ 初始化 SQLite 数据库
- 🔑 生成 JWT 密钥
- 👤 创建第一个管理员账号(默认
admin / octop)
⚠️ 重要提示:安装后记得立即修改默认密码!不要用弱密码!
2.2 用户管理 CLI 命令
# 查看所有用户
octop user list
# 创建新用户
octop user create --username alice --password "Str0ngP@ss!"
# 删除用户(需要确认)
octop user delete --username alice
# 修改用户密码
octop user password --username alice --new-password "NewP@ss123"
# 查看用户详情
octop user info --username alice
2.3 Web 控制台管理
在浏览器打开 http://127.0.0.1:8088,用管理员账号登录后:
┌────────────────────────────────────────────────────────┐
│ ⚙️ 设置中心 │
├────────────────────────────────────────────────────────┤
│ │
│ 👥 用户管理 │
│ ├─ 📋 用户列表 │
│ │ ├─ 👤 admin (管理员) ✓ │
│ │ ├─ 👤 alice (普通用户) ✓ │
│ │ ├─ 👤 bob (普通用户) ✓ │
│ │ └─ 👤 charlie (普通用户) ⚠️ 禁用中 │
│ │ │
│ ├─ ➕ 添加用户 │
│ │ ├─ 用户名: [________] │
│ │ ├─ 密码: [________] │
│ │ └─ 角色: (•) 普通用户 ( ) 管理员 │
│ │ │
│ └─ 🔧 用户操作 │
│ ├─ 编辑用户 │
│ ├─ 重置密码 │
│ ├─ 启用/禁用用户 │
│ └─ 删除用户 │
│ │
└────────────────────────────────────────────────────────┘
2.4 管理员权限清单
作为管理员,你可以:
| 权限 | 说明 | CLI 命令 |
|---|
| 👥 用户管理 | 创建、删除、禁用用户 | octop user * |
| 🤖 Agent 管理 | 查看所有用户的 Agent(但不能操作内容) | octop agent list --all |
| 🔌 渠道配置 | 配置 IM 渠道(飞书、钉钉等) | octop channel * |
| 📅 定时任务 | 全局 Cron 调度 | octop cron * |
| 💾 数据备份 | 备份/恢复整个系统 | octop backup * |
| ⚙️ 系统配置 | 修改系统级配置 | octop config * |
2.5 典型管理操作示例
场景:新人入职,添加新用户
# 1. 创建账号
octop user create --username david --password "Welcome2024!"
# 2. 分配一个专属 Agent(假设已有 "coder" Agent)
# 在 Web 控制台:用户 david → 关联 Agent "coder"
# 3. 配置访问渠道
# 在 Web 控制台:为 david 开通钉钉访问权限
# 4. 通知用户
echo "✅ 账号创建完成!
用户名: david
初始密码: Welcome2024!
访问地址: http://your-server:8088
请首次登录后立即修改密码!"
场景:员工离职,回收账号
# 1. 禁用用户(保留数据)
octop user disable --username david
# 2. 或者直接删除(数据不可恢复!)
octop user delete --username david --confirm
# 3. 检查该用户的定时任务,删除相关 Cron
octop cron list --user david
octop cron delete <cron-id>
3. 👤 普通用户使用体验
3.1 登录与认证
普通用户通过以下方式访问 Octop:
| 渠道 | 说明 | 配置方式 |
|---|
| 🌐 Web 控制台 | 浏览器访问,输入用户名密码 | 默认启用 |
| 💬 即时通讯 | 飞书、钉钉、QQ、Discord、企业微信 | 管理员配置 |
| ⌨️ CLI | 命令行登录 | octop chat --user alice |
🔐 认证流程:
用户输入凭证
↓
JWT Token 生成(包含用户身份和权限)
↓
Token 有效期验证
↓
授权访问对应资源
3.2 用户专属工作区
每个用户都有独立的工作空间:
~/.octop/
├── agents/ # Agent 配置
│ ├── <user_alice>/ # Alice 的 Agent
│ │ ├── SOUL.md # Agent 性格设定
│ │ ├── AGENTS.md # Agent 行为规则
│ │ ├── USER.md # 用户画像
│ │ ├── skills/ # 技能配置
│ │ └── memory/ # 长期记忆
│ └── <user_bob>/ # Bob 的 Agent
│ └── ...
│
├── memory/ # 用户记忆库
│ ├── <user_alice>/
│ │ ├── atoms/ # 原子记忆
│ │ ├── pages/ # 知识页面
│ │ └── raw/ # 原始对话
│ └── <user_bob>/
│ └── ...
│
└── workspaces/ # 工作目录
├── <user_alice>/
└── <user_bob>/
3.3 多 Agent 切换
普通用户可以创建多个 Agent,按场景切换:
🎭 我的 Agent 团队
┌─────────────────────────────────────────────────────────┐
│ 💼 工作助手 (默认) │
│ ├─ 专长:邮件处理、报告撰写、PPT 生成 │
│ ├─ 语气:专业、简洁 │
│ └─ 记住:我的项目进展、团队成员 │
├─────────────────────────────────────────────────────────┤
│ 🍳 美食助手 │
│ ├─ 专长:菜谱推荐、食材搭配、烹饪技巧 │
│ ├─ 语气:亲切、热情 │
│ └─ 记住:我家人口味、过敏食材 │
├─────────────────────────────────────────────────────────┤
│ 📚 学习导师 │
│ ├─ 专长:知识点讲解、习题辅导 │
│ ├─ 语气:耐心、有趣 │
│ └─ 记住:孩子的年级、学习进度 │
└─────────────────────────────────────────────────────────┘
💬 切换命令:
"切换到美食助手" 或 /agent cook
3.4 记忆持久化
Octop 的记忆系统让 AI 能记住你的偏好:
🧠 Alice 的记忆库
📌 原子记忆 (atom):
├── "alice 的邮箱是 alice@company.com" ⏰ 2024-01-15
├── "alice 喜欢川菜,不吃辣" ⏰ 2024-01-20
└── "alice 负责后端开发" ⏰ 2024-02-01
📄 知识页面 (page):
├── alice_profile.md - 个人信息汇总
├── project_roadmap.md - 当前项目进展
└── team_members.md - 团队成员资料
💬 对话记忆 (raw):
├── 2024/01/15/ - 关于 API 设计的讨论
├── 2024/01/20/ - 晚餐地点推荐
└── 2024/02/01/ - Sprint 计划会议
4. 🏠 典型场景案例
4.1 场景一:家庭智能助手 👨👩👧
背景:
- 一台 NAS 服务器运行 Octop
- 家庭成员:爸爸、妈妈、孩子
- 共用一个飞书群聊入口
部署架构:
┌─────────────────────────────────────────────────────────┐
│ Octop Server │
│ (家庭 NAS 上) │
├─────────────────────────────────────────────────────────┤
│ │
│ 👨 爸爸 │
│ ├─ Agent: 工作助手 (INTJ - 战略家) │
│ ├─ 能力:邮件处理、PPT 撰写、市场分析 │
│ └─ 渠道:飞书 (工作群) │
│ │
│ 👩 妈妈 │
│ ├─ Agent: 生活管家 (ESFJ - 主人) │
│ ├─ 能力:菜谱推荐、购物清单、日程提醒 │
│ └─ 渠道:飞书 (家庭群) + Web │
│ │
│ 👦 孩子 │
│ ├─ Agent: 学习导师 (ENFP - 追梦人) │
│ ├─ 能力:作业答疑、知识讲解、学习计划 │
│ └─ 渠道:飞书 (家庭群) - 限制:只能学习相关 │
│ │
│ 🤖 共享专家库 │
│ ├─ 天气查询 │
│ ├─ 闹钟设置 │
│ └─ 紧急联系人 │
│ │
└─────────────────────────────────────────────────────────┘
使用示例:
📱 飞书群聊:
👨 爸爸:@Octop 帮我写封邮件给张总,确认明天的会议时间
↓
🤖 [爸爸的工作助手] 回复:
"已为您起草邮件:
主题:关于明日会议时间确认
张总您好...
[发送] [修改] [取消]"
👩 妈妈:@Octop 今晚吃什么好?家里有番茄、鸡蛋、土豆
↓
🤖 [妈妈的生活管家] 回复:
"推荐菜品:
🍅 番茄炒蛋 - 简单家常,10分钟搞定
🥔 酸辣土豆丝 - 开胃下饭
🍳 番茄土豆炖牛肉 - 需要去超市买牛肉
请问需要哪个菜谱?"
👦 孩子:@Octop 这道数学题怎么做?...
↓
🤖 [孩子的学习导师] 回复:
"这道题考查的是XX知识点...
让我一步步教你:
第一步:..."
管理员配置:
# 创建家庭成员账号
octop user create --username dad --password "fam1ly2024!"
octop user create --username mom --password "fam1ly2024!"
octop user create --username kid --password "fam1ly2024!"
# 飞书渠道配置(群机器人)
octop channel install feishu --group-id "family_group"
# 设置孩子账号的使用限制(通过 Tool Guard)
echo "deny: kid -> web_browse: *gaming*"
echo "deny: kid -> tool: external_api: personal_social"
4.2 场景二:创业小团队 🚀
背景:
- 5人创业团队
- 技术栈:Python + React
- 需要 AI 辅助研发、市场、运营
团队架构:
🏢 创业团队 AI 配置
👑 管理员 (CEO)
├─ 权限:全部
├─ Agent:战略顾问 (ENTJ)
└─ 职责:全局管理、决策支持
💻 技术组
├─ Lead(1人):后端架构 (INTJ)
├─ Dev(1人):全栈开发 (INTP)
└─ Agent 共享:代码审查、技术调研
📊 市场组
├─ Marketer(2人):内容运营 (ENFP)
└─ Agent 共享:文案生成、竞品分析
📈 运营组
├─ Ops(1人):数据分析 (ESTJ)
└─ Agent 共享:报表生成、数据洞察
Agent 分工:
| Agent | 性格 | 负责领域 | 权限 |
|---|
| CodeMaster | INTP - 逻辑大师 | 代码审查、技术方案 | 读写代码库 |
| ContentBot | ENFP - 创意达人 | 文案撰写、社交媒体 | 发布草稿 |
| DataSage | ESTJ - 执行者 | 数据分析、报表 | 只读数据库 |
| Researcher | INTJ - 策划者 | 市场调研、竞品分析 | 访问行业数据 |
团队协作示例:
💬 #dev-channel
开发者:@CodeMaster 帮我 review 这段代码
[代码片段...]
↓
🤖 CodeMaster 回复:
"发现 3 个问题:
1. ⚠️ 内存泄漏:第 45 行未释放资源
2. 🔴 安全风险:用户输入未做 SQL 过滤
3. 💡 优化建议:可使用缓存减少 API 调用
[查看完整建议]"
---
💬 #marketing-channel
运营:@ContentBot 写一条产品发布的微博
产品:智能待办 App
亮点:AI 分类、跨平台同步
↓
🤖 ContentBot 回复:
"🔥【新品发布】智能待办 App 上线!
📱 AI 智能分类,任务管理从未如此轻松
🔄 跨平台实时同步,手机电脑无缝衔接
🎯 拖拽即排,优先级一目了然
👉 立即体验:xxx.com
#效率工具 #智能待办 #产品发布
[发布到微博] [修改文案] [生成更多版本]"
安全配置:
// config.json - 团队权限配置
{
"security": {
"code_master": {
"allowed_tools": ["read_codebase", "write_codebase", "terminal"],
"denied_paths": ["/production/secrets", "/production/db"]
},
"content_bot": {
"allowed_tools": ["draft_content", "preview"],
"denied_tools": ["terminal", "database"]
},
"data_sage": {
"allowed_tools": ["read_database", "generate_report"],
"denied_tools": ["write_database", "terminal"]
}
}
}
4.3 场景三:远程办公团队 🏡
背景:
- 混合办公团队
- 成员分布在北京、上海、深圳
- 使用钉钉作为主要沟通工具
渠道配置:
🌏 远程办公团队 - 接入渠道
📍 北京办公室
├─ 员工:研发 3人、设计 2人
├─ 渠道:钉钉 (工作模式)
└─ 特殊:内网 VPN 访问限制
📍 上海办公室
├─ 员工:运营 2人、市场 1人
├─ 渠道:钉钉 + Web
└─ 特殊:工作时间 UTC+8 9:00-18:00
📍 深圳办公室
├─ 员工:产品 1人、研发 2人
├─ 渠道:钉钉
└─ 特殊:需要访问香港服务器
🏠 居家办公
├─ 员工:全体(轮流)
├─ 渠道:钉钉 (移动端优先)
└─ 特殊:无特殊限制
---
🔐 权限矩阵:
| 核心代码 | 客户数据 | 财务报表 | 运营后台
--------|---------|---------|---------|---------
CEO | ✅ | ✅ | ✅ | ✅
研发 | ✅ | ❌ | ❌ | ❌
设计 | ⚡ | ❌ | ❌ | ⚡
运营 | ❌ | ⚡ | ❌ | ✅
市场 | ❌ | ⚡ | ❌ | ⚡
产品 | ⚡ | ✅ | ❌ | ⚡
✅ = 完全访问 ⚡ = 受限访问 ❌ = 无访问
钉钉配置示例:
# 1. 创建钉钉机器人
# 钉钉群 → 群设置 → 智能群助手 → 添加机器人
# 选择「自定义」机器人,记录 App Key 和 App Secret
# 2. 安装钉钉渠道
octop channel install dingtalk
# 3. 配置钉钉参数
export DINGTALK_APP_KEY="ding_xxx"
export DINGTALK_APP_SECRET="xxx"
# 4. 为不同部门配置不同 Bot
octop channel configure --channel dingtalk \
--bot-name "研发助手" \
--allowed-users "dev-team" \
--default-agent "code-master"
octop channel configure --channel dingtalk \
--bot-name "运营助手" \
--allowed-users "ops-team" \
--default-agent "ops-helper"
# 5. 启动服务
octop run
4.4 场景四:教育培训机构 📚
背景:
应用场景:
🎓 培训机构 AI 应用
📋 教师端
├── AI 备课助手:生成教案、课件
├── 作业批改辅助:快速检查对错
├── 家校沟通:自动生成反馈
└── 学生管理:学情分析
📖 学生端
├── 智能答疑:24小时作业助手
├── 错题本:自动归纳整理
├── 学习计划:个性化推荐
└── 家长端:进度通知
---
🔧 具体配置
👨🏫 教师账号(6个)
├─ 角色:teacher
├─ Agent:科目专家(语文/数学/英语)
├─ 权限:管理自己班级的学生数据
└─ 渠道:飞书(工作用)
👦 学生账号(100个)
├─ 角色:student
├─ Agent:学习伙伴
├─ 权限:只读自己的学习内容
└── 渠道:微信小程序(家长扫码绑定)
👨👩👧 家长账号(~100个)
├─ 角色:parent
├─ Agent:家庭教育助手
├─ 权限:查看孩子学习报告
└── 渠道:微信小程序
使用示例:
👨🏫 英语李老师:
@Octop 帮我生成一份初一英语Unit5的教案
课时:2课时
重点:现在进行时
↓
🤖 回复:
📚 初一英语 Unit5 教案
【第一课时】...
【第二课时】...
[下载 Word] [导出 PPT] [调整难度]
---
👦 学生小明(数学):
@Octop 这道题不会
已知函数 f(x) = x² + 2x + 1
求 f'(x)
↓
🤖 回复:
📐 步骤解析:
1️⃣ 识别:这是一道求导数的基础题
2️⃣ 回忆公式:(xⁿ)' = n·xⁿ⁻¹
3️⃣ 逐步计算:
f(x) = x² + 2x + 1
f'(x) = 2x + 2
4️⃣ 验证:代入 x=1, f(1)=4, f'(1)=4 ✓
💡 同类题推荐:...
---
👨👩👧 小明爸爸(微信小程序):
查看孩子的本周学习报告
↓
🤖 回复:
📊 小明本周学习报告
📈 进度:数学已完成第5章 80%
📝 错题:3道(已加入错题本)
⏰ 学习时长:8.5小时
⭐ 表扬:英语单词听写进步明显!
[查看详情] [联系老师]
5. 🔒 安全与隔离机制
5.1 JWT 多用户隔离
Octop 使用 JWT(JSON Web Token)实现用户认证和隔离:
🔐 JWT 认证流程:
1️⃣ 用户登录
POST /api/auth/login
{
"username": "alice",
"password": "xxx"
}
2️⃣ 服务器验证,返回 Token
{
"access_token": "eyJhbGc...",
"token_type": "bearer"
}
3️⃣ 后续请求携带 Token
GET /api/agents
Headers: Authorization: Bearer eyJhbGc...
4️⃣ 中间件验证 Token,解码用户身份
{
"sub": "alice",
"role": "user",
"exp": 1234567890
}
5️⃣ 数据访问控制
只返回 alice 自己的数据
5.2 数据隔离策略
| 层级 | 隔离内容 | 实现方式 |
|---|
| 🔐 用户数据 | Agent、记忆、工作空间 | 数据库行级隔离 + JWT 验证 |
| 📁 文件存储 | 上传文件、附件 | 用户目录隔离 |
| 💬 会话历史 | 对话记录 | 用户维度分表 |
| ⏰ 定时任务 | Cron 任务 | 用户绑定 + 执行上下文隔离 |
| 🔌 渠道绑定 | IM 渠道权限 | 用户-渠道映射表 |
5.3 Tool Guard(工具护栏)
Tool Guard 允许管理员精细控制每个用户/Agent 能使用的工具:
🛡️ Tool Guard 配置示例
~/.octop/security/tool_guard/
├── default.rules # 默认规则(所有用户)
├── admin.rules # 管理员规则
├── intern.rules # 实习生规则
└── student.rules # 学生规则
规则文件示例:
# intern.rules - 实习生权限
version: "1.0"
allow:
# 可以使用搜索和文档工具
- tool: web_search
- tool: read_file
- tool: read_docs
# 可以运行测试
- tool: run_tests
# 可以读取代碼
- path: /workspace/projects/**
action: read
deny:
# 禁止访问生产环境
- tool: terminal
path: /production/**
# 禁止敏感操作
- tool: database
operation: [delete, drop, truncate]
# 禁止外部 API 调用
- tool: external_api
except: [github, jira]
confirm:
# 高危操作需要确认
- tool: delete_file
- tool: terminal
command: "rm*|delete*|drop*"
5.4 PII 脱敏
Octop 内置个人信息识别和脱敏功能:
🔍 PII 检测与处理
输入:给我查一下张三的身份证号 110101199001011234
↓
PII 检测器识别
↓
脱敏处理:身份证号被标记为 [PII_REDACTED]
↓
输出:给我查一下张三的身份证号 [PII_REDACTED]
↓
日志记录(管理员可见):检测到 PII,原始数据未进入 AI 处理流程
支持的 PII 类型:
| 类型 | 检测模式 | 处理方式 |
|---|
| 🔢 手机号 | 1[3-9]\d{9} | 脱敏为 138****5678 |
| 🆔 身份证 | \d{17}[\dXx] | 脱敏为 110101********1234 |
| 📧 邮箱 | xxx@xxx.xxx | 脱敏为 a***@example.com |
| 💳 银行卡 | \d{16,19} | 脱敏为 **** **** **** 1234 |
6. ⚙️ 运维最佳实践
6.1 部署架构建议
🏗️ 推荐生产架构
┌─────────────────┐
│ 负载均衡器 │
│ (Nginx/LB) │
└────────┬────────┘
│
┌─────────────────┼─────────────────┐
│ │ │
┌──────▼──────┐ ┌──────▼──────┐ ┌──────▼──────┐
│ Octop 1 │ │ Octop 2 │ │ Octop 3 │
│ (Web+API) │ │ (Web+API) │ │ (Web+API) │
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘
│ │ │
└─────────────────┼─────────────────┘
│
┌────────▼────────┐
│ SQLite │
│ (共享数据库) │
│ 或 PostgreSQL │
└─────────────────┘
📝 注意:Octop 默认使用 SQLite,适合中小规模(<50 用户)。大规模部署建议使用 PostgreSQL。
6.2 用户管理 SOP
📋 用户生命周期管理 SOP
1️⃣ 入职流程(Onboarding)
├── 创建账号
│ octop user create --username <name> --password <temp>
├── 分配 Agent
│ octop agent assign --user <name> --agent <role>
├── 配置渠道权限
│ octop channel grant --user <name> --channel <ch>
└── 发送欢迎通知
"您的账号已创建,请访问 xxx 登录"
2️⃣ 日常使用
├── 定期检查活跃用户
│ octop user list --sort last_active
├── 查看使用统计
│ octop stats --period 30d
└── 备份数据
octop backup create --description "weekly"
3️⃣ 离职/调岗流程(Offboarding)
├── 禁用账号(保留数据)
│ octop user disable --username <name>
├── 转移数据(如需要)
│ octop data transfer --from <old> --to <new>
├── 清理定时任务
│ octop cron delete --user <name>
└── 注销账号(数据删除)
octop user delete --username <name> --confirm
6.3 备份与恢复
# 创建备份
octop backup create --description "before-upgrade"
# 列出备份
octop backup list
# 恢复备份
octop backup restore --backup-id <id>
# 定时自动备份(Cron)
octop cron create \
--name "daily-backup" \
--schedule "0 2 * * *" \
--command "backup create --description auto-daily"
6.4 监控与日志
# 查看实时日志
octop logs --follow
# 查看用户活动日志
octop logs --user alice --level INFO
# 查看错误日志
octop logs --level ERROR --since "1 hour ago"
# 系统状态
octop status
# 输出示例:
# ╔══════════════════════════════════════╗
# ║ Octop System Status ║
# ╠══════════════════════════════════════╣
# ║ Status: ✅ Running ║
# ║ Uptime: 3d 14h 22m ║
# ║ Users: 12 (3 online) ║
# ║ Agents: 24 active ║
# ║ CPU: 12% ║
# ║ Memory: 2.4 GB / 8 GB ║
# ║ Disk: 45 GB / 100 GB ║
# ╚══════════════════════════════════════╝
6.5 性能优化
# 1. 数据库维护
octop db vacuum # 清理 SQLite 碎片
octop db analyze # 更新统计信息
# 2. 内存优化
# config.json
{
"performance": {
"max_concurrent_agents": 10,
"agent_timeout_seconds": 300,
"memory_cache_size_mb": 512
}
}
# 3. 限制并发用户
octop run --max-users 50
# 4. 清理过期数据
octop clean --older-than 90d --include-sessions
📚 附录
A. 常用命令速查表
| 操作 | 命令 |
|---|
| 安装 | `curl -fsSL .../install.sh \ | bash` |
| 初始化 | octop init |
| 启动服务 | octop run |
| 创建用户 | octop user create --username <name> --password <pwd> |
| 查看用户 | octop user list |
| 删除用户 | octop user delete --username <name> --confirm |
| 创建 Agent | octop agent create --name <name> --user <user> |
| 配置渠道 | octop channel install <feishu/dingtalk/...> |
| 创建备份 | octop backup create --description "..." |
| 查看日志 | octop logs --follow |
| 系统状态 | octop status |
B. 渠道配置参考
| 渠道 | 配置项 | 文档 |
|---|
| 飞书 | App ID, App Secret | docs/channels-feishu.md |
| 钉钉 | App Key, App Secret | docs/channels-dingtalk.md |
| QQ | Bot AppID, Token | docs/channels-qq.md |
| Discord | Bot Token | docs/channels-discord.md |
| 企业微信 | Corp ID, Agent Secret | docs/channels-wecom.md |
C. 故障排查
| 问题 | 排查命令 | 解决方案 |
|---|
| 用户无法登录 | octop logs --user <name> | 检查密码、JWT 配置 |
| 渠道无响应 | octop channel status | 检查 Token、网络 |
| AI 无回复 | octop logs --level ERROR | 检查 API Key、额度 |
| 性能卡顿 | octop status | 增加资源、清理缓存 |
🎉 结语
Octop 的多用户管理功能让它不仅仅是一个 AI 助手,更是一个团队智能中枢 🧠
无论是家庭使用、小团队协作,还是企业部署,Octop 都能提供:
- ✅ 开箱即用的多用户支持
- ✅ 灵活的权限管理体系
- ✅ 丰富的渠道接入能力
- ✅ 可靠的数据隔离机制
- ✅ 简洁的运维管理体验
🚀 快去试试吧! 一行命令即可安装:curl -fsSL https://.../install.sh | bash
📅 文档更新于:2024年
🐙 基于 Octop v0.9.x 版本编写