Octop 的 MBTI 人格功能介绍

Octop 的 MBTI 人格功能介绍

腾讯云开源 AI 助手 Octop 的核心亮点之一:把「人格」作为可配置的系统能力,让每个 Agent 拥有独特性格。
本文结合官方开源资料(GitHub: TencentCloud/Octop、腾讯云开发者社区)整理,并补充了场景化使用思路。

一、Octop 是什么

Octop 是腾讯云自研、于 2026 年 7 月正式开源的 AI 助手平台,定位不是「一个趁手的工具」,而是一条 可陪伴、可成长、可迁移的数字生命体

关键特征:

  • 自托管(Self-hosted):完全运行在你自己的机器上,数据主权归你,不上云即不上传。
  • 多用户 / 多 Agent:一个管理员可为全家或团队创建成员,每位成员拥有独立 Agent、工作区与记忆,数据隔离互不干扰。
  • 单进程架构:一次 octop run 同时拉起 Web Dashboard、CLI、IM 渠道(飞书 / 钉钉 / QQ / Discord / 企微)与定时任务,状态统一存于 ~/.octop/octop.db
  • 可迁移记忆:基于 harness-memory,记忆随工作区迁移,换模型、换机器都「不失忆」。

在众多能力中,有一项看似「噱头」、实则影响体验的功能:MBTI 人格


二、MBTI 人格功能是什么

官方描述(Highlights):

🎭 MBTI personas16 personality templates plus an interactive quiz — give each agent a distinct character
(16 种人格模板 + 一个互动测试,为每个 Agent 赋予独特性格)

它要解决的是这样一个痛点:

你有没有用过一款 AI,无论你是在问技术难题,还是只想随便聊聊,它都用同一种语气、同一种方式跟你说话,像一台冷冰冰的机器?

Octop 的答案是:让不同的 Agent 拥有不同的「人格」,从而使同一个平台既能理性排障,又能感性陪伴。


三、核心机制:人格模板本质上就是「预设的系统提示词」

这是理解该功能最关键的一点。

  • 人格模板 = 预写好的系统提示词(system prompt)
    Octop 把 MBTI 这套成熟的性格理论,固化为 16 套可直接套用的提示词模板。你不必从零开始调教 AI 的语气、节奏和风格,只需「选一个类型」即可。
  • 降低调教成本。写一套高质量、风格稳定的提示词本身是门手艺;用模板替代手写,等于把这门手艺产品化、配置化。
  • 与自定义提示词并存。模板不是唯一选项——你也可以直接填写 custom system prompt,二者二选一或叠加使用。
一句话总结:人格模板把「调教 AI」从手艺变成了配置。

四、为什么需要「按场景换人格」

沟通风格 ≠ 智能水平,但它极大影响产出的质量与体验。同一段代码、同一个问题,换一种说话方式,结果可能天差地别。

官方与社区反复强调的核心价值正是:

不同场景需要不同沟通风格。

几个典型对照:

场景推荐人格为什么
技术排障 / 运维ISTJ(严谨、步骤化)不跳步、讲证据、按流程来,避免「想当然」。
创意头脑风暴ENFP(发散、鼓励、联想)多给可能性、少泼冷水,把思路打开。
方案决策 / 目标推进ENTJ(战略、果决)抓重点、定优先级、推动落地。
情感陪伴 / 倾听INFJ / ENFJ(共情、洞察)先接住情绪,再给建议。
快速执行 / 临场应变ESTP / ISTP(实干、灵活)少废话、直接动手、边做边调。
规则 / 合规审查ISFJ / ESTJ(细致、守序)抠细节、对照清单,降低遗漏。
技术排障需要 ISTJ 式的严谨,创意头脑风暴需要 ENFP 式的发散——这正是人格模板存在的意义。

五、16 种人格模板总览

MBTI 的 16 种类型可分为四大族群。下表给出每类在 Octop 中的风格标签推荐用途(用途为基于类型特征的合理使用建议,非官方硬性绑定)。

分析家(Analysts)— 重逻辑与战略

类型风格标签在 Octop 中的推荐用途
INTJ战略家、系统性架构设计、长线规划 Agent
INTP逻辑学家、追根问底原理讲解、深度答疑 Agent
ENTJ指挥官、果决项目管理、决策辅助 Agent
ENTP辩论家、善辩方案 PK、挑战假设 Agent

外交家(Diplomats)— 重共情与可能

类型风格标签在 Octop 中的推荐用途
INFJ提倡者、洞察情感陪伴、价值观沟通 Agent
INFP调停者、理想文案创作、内心探索 Agent
ENFJ主人公、感召教练式引导、团队激励 Agent
ENFP竞选者、发散头脑风暴、灵感激发 Agent

守护者(Sentinels)— 重秩序与可靠

类型风格标签在 Octop 中的推荐用途
ISTJ物流师、严谨技术排障、SOP 执行 Agent
ISFJ守卫者、细心文档整理、合规检查 Agent
ESTJ总经理、高效流程管理、运营 Agent
ESFJ执政官、周到客服、协调性沟通 Agent

探险家(Explorers)— 重灵活与实操

类型风格标签在 Octop 中的推荐用途
ISTP鉴赏家、冷静故障定位、工具操作 Agent
ISFP探险家、审美设计建议、生活美学 Agent
ESTP企业家、机变临场应变、商务谈判 Agent
ESFP表演者、活跃活跃气氛、互动娱乐 Agent

六、互动测试(Interactive Quiz)

除了直接挑选人格,Octop 还内置了一个 互动测试(interactive quiz)

  • 用途:帮助不确定「该给 Agent 配什么性格」的用户,通过几道偏好题,快速得到推荐人格。
  • 定位:它服务的对象是配置者,而非让 Agent 去测用户——目的是把「选人格」这一步也变得零门槛。
  • 价值:进一步降低上手成本,让非技术用户也能把 Agent「调成自己喜欢的样子」。

七、人格 vs 专家库 vs 自定义提示词

这三者是 Agent 配置的不同维度,可以组合使用

  • 人格(Persona)= 风格层:决定 Agent「怎么说话、什么节奏」。
  • 专家库(Expert Library)= 能力 / 角色层:决定 Agent「是什么身份」,如「营养师」「法律顾问」「代码审校」。
  • 自定义系统提示词(Custom system prompt)= 兜底层:当模板和专家都不够时,手动精确定义。

典型组合示例:

@营养师 + ENFP → 健康建议既专业又温暖、有鼓励感。
@代码审校 + ISTJ → 代码重构建议严谨、守规范、按条列出。

官方也明确:系统启动时会扫描内置专家库(infra/agents/experts/library/),在 Dashboard 的 Agents 页面可同时「pick experts / MBTI personas」。


八、如何配置

  1. 打开 Octop 的 Web Dashboard
  2. 进入 Agents 页面。
  3. 创建 / 编辑一个 Agent,在配置中:

    • 选择 MBTI personas(16 选 1,或用互动测试推荐);
    • 按需叠加 Experts(专家库);
    • 必要时填写 custom system prompt
  4. 每个 Agent 拥有独立人格、独立工作区与记忆,切换场景像「换频道」一样简单。

也可通过 CLI(octop chat / octop acp)或 HTTP/SSE API 以编程方式访问。


九、总结:这个功能到底有什么价值

  1. 把调教成本产品化:预设 16 套提示词,免去从零手写风格提示词的门槛。
  2. 让一个平台胜任多面角色:同一套底层能力,既能 ISTJ 式严谨排障,又能 ENFP 式发散陪聊。
  3. 体验差异化:同一模型换上不同人格,输出的「手感」完全不同,用户黏性更高。
  4. 开源 + 自托管:全部可本地运行、可审计、可定制,隐私可控。
看似是「16 种人格 + 测试」的轻量玩法,底层逻辑却是:用成熟的性格理论做提示词工程,把个性化的 AI 交互变成人人可配置的能力。

参考资料

  • GitHub: TencentCloud/Octop
  • 腾讯云开发者社区:《游向开源的海洋:腾讯云自研 AI 助手 Octop 正式开源》
  • 腾讯云开发者社区专栏:Octop / LightClaw ACE 相关文章(含「让 AI 拥有灵魂:如何用 MBTI 打造真正懂你的 AI 助手」)
注:16 种人格的「推荐用途」为基于 MBTI 类型特征的合理推导与使用建议,用于帮助理解场景化配置思路;官方以「16 模板 + 互动测试」为基础能力,具体人格行为以实际模板提示词为准。

🐙 Octop 多用户管理场景完全指南

🐙 Octop 多用户管理场景完全指南

一份详实的 Octop 多用户使用手册,涵盖管理员运维与典型场景案例 💡

📋 目录

  1. 🎯 多用户架构概述
  2. 👨‍💼 管理员功能大全
  3. 👤 普通用户使用体验
  4. 🏠 典型场景案例
  5. 🔒 安全与隔离机制
  6. ⚙️ 运维最佳实践

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

这个命令会:

  1. 📁 创建 ~/.octop/ 数据目录
  2. 🗄️ 初始化 SQLite 数据库
  3. 🔑 生成 JWT 密钥
  4. 👤 创建第一个管理员账号(默认 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性格负责领域权限
CodeMasterINTP - 逻辑大师代码审查、技术方案读写代码库
ContentBotENFP - 创意达人文案撰写、社交媒体发布草稿
DataSageESTJ - 执行者数据分析、报表只读数据库
ResearcherINTJ - 策划者市场调研、竞品分析访问行业数据

团队协作示例

💬 #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 场景四:教育培训机构 📚

背景

  • 培训机构:语数英三科
  • 教师:6人
  • 学生:约100人

应用场景

🎓 培训机构 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
创建 Agentoctop agent create --name <name> --user <user>
配置渠道octop channel install <feishu/dingtalk/...>
创建备份octop backup create --description "..."
查看日志octop logs --follow
系统状态octop status

B. 渠道配置参考

渠道配置项文档
飞书App ID, App Secretdocs/channels-feishu.md
钉钉App Key, App Secretdocs/channels-dingtalk.md
QQBot AppID, Tokendocs/channels-qq.md
DiscordBot Tokendocs/channels-discord.md
企业微信Corp ID, Agent Secretdocs/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 版本编写

Octop 开源 Agent 框架详解

Octop 开源 Agent 框架详解

来自腾讯云的自托管 AI 助手平台

🐙 Octop 是什么?

Octop 是腾讯云开源的一个自托管 AI 助手,定位是"更聪明、更自立的 AI 助手"——支持多用户、多 Agent 协作。

🔗 GitHub: https://github.com/TencentCloud/Octop

✨ 核心特性

特性说明
🏠 完全自托管数据留在本地,隐私有保障
👥 多用户支持团队、家庭、个人都能用
🤖 多 Agent 架构可同时运行多个专业 Agent
📱 多渠道接入Web 控制台、飞书、钉钉、QQ、Discord、企业微信
🔌 MCP + ACP 集成生态扩展能力强
单进程启动轻量高效

🛠️ 技术栈

层级技术
语言Python 3.12+
Web 框架FastAPI + uvicorn
Agent 运行时Harness Agent
前端React 18 + TypeScript + Vite + Ant Design
数据库SQLite (WAL 模式)
调度APScheduler

🧠 它是怎么工作的?

Octop 底层基于 Harness 技术栈构建——一套专注于 AI Agent 的运行时集合。

它的架构大概是这样的:

┌─────────────────────────────────────────────┐
│              Octop Server                   │
├─────────────────────────────────────────────┤
│  ┌─────────┐  ┌─────────┐  ┌─────────┐    │
│  │  Web    │  │   IM    │  │  Cron   │    │
│  │Dashboard│  │(飞书/钉钉│  │ 定时任务 │    │
│  └────┬────┘  └────┬────┘  └────┬────┘    │
│       │            │            │          │
│       └──────────┬─┴────────────┘          │
│                  ▼                          │
│         ┌─────────────────┐                │
│         │ HarnessProcessor │ (单一进程)      │
│         └────────┬────────┘                │
│                  ▼                          │
│    ┌─────────────────────────────┐         │
│    │     Agent / Gateway / DB    │         │
│    └─────────────────────────────┘         │
└─────────────────────────────────────────────┘

所有渠道(Web、IM、定时任务)都通过同一个 HarnessProcessor 路由,整个服务是一个可重启的单进程,启动时从 ~/.octop/octop.db 恢复全部状态。


📦 你能用 Octop 做什么?

  1. 个人 AI 助手 — 定制化 Agent,处理日常任务
  2. 团队协作 — 多用户、多 Agent 分工
  3. 自动化工作流 — 定时任务、IM 触发
  4. 二次开发 — 基于 MCP/ACP 集成自己的工具

🌟 和其他 Agent 框架的区别?

框架定位特点
Octop自托管多用户助手开源、腾讯背书、IM 集成强
LangChain/LangGraph开发者框架生态最全、学习曲线陡
AutoGen多 Agent 编排微软开源、灵活
CrewAI角色扮演 Agent简单易用、适合原型
Dify低代码平台可视化、闭源商业化

🚀 怎么上手?

官方文档很完善,主要步骤:

  1. 克隆仓库
  2. 配置 Python 3.12+ 环境
  3. 启动服务 (make devdocker-compose)
  4. 通过 Web UI 或 IM 渠道接入

📁 项目结构

octop/
├── src/octop/           # 核心代码
│   ├── config.py        # 配置
│   ├── launch.py        # 启动入口
│   └── infra/          # 业务核心 (agents, gateway, cron, db, users)
├── api/                 # HTTP 层 (FastAPI)
├── cli/                 # CLI 层 (Click)
├── dashboard/          # 前端 React SPA
├── docker/              # Docker 配置
└── tests/               # 测试

🔐 安全与隐私

  • 数据存储在 ~/.octop/
  • 完全本地运行,隐私有保障
  • 支持工具权限管理

本文整理自腾讯云 Octop 项目资料