Octopus 产品文档
欢迎使用 Octopus 企业级 AI 智能助手平台。本文档将帮助你快速了解产品能力、完成部署配置,并充分利用平台的各项功能。
产品概述
Octopus 是一款面向企业的 AI 智能助手平台,将大语言模型的能力以产品化的形式赋能给团队中的每一个人。平台名取自章鱼 —— 多条触手同时工作,象征着平台同时覆盖对话、Agent、知识库、工作流等多种 AI 应用场景的能力。
核心能力矩阵
| 能力 | 说明 | 适用场景 |
|---|---|---|
| 智能对话 | 多轮流式对话,上下文管理,自动标题 | 日常 AI 交互、内容创作、翻译 |
| Agent 智能体 | 自主决策,多轮工具调用,任务分解 | 复杂任务自动化、数据分析、客服 |
| 知识库 RAG | 文档向量化,语义检索,出处引用 | 企业知识问答、文档查询 |
| 工具与工作流 | HTTP 工具封装,流程编排,定时调度 | 业务自动化、定时报告、数据同步 |
| 数据洞察 | 使用统计,趋势分析,质量评估 | 运营分析、成本控制、效果优化 |
| 企业管控 | 认证鉴权,配额管理,操作审计 | 权限管理、安全合规、资源控制 |
产品优势
- 轻量即用 — 无需 MySQL、Redis、消息队列等外部依赖,单命令启动,分钟级完成部署
- 模型无关 — 兼容任何 OpenAI 接口标准的模型服务,可对接公有云或私有部署模型
- 全链路流式 — 对话、Agent 推理、工作流执行全部支持 SSE 实时输出
- 数据自主 — 所有数据本地存储,满足金融、医疗、政务等行业的安全合规要求
- 开箱即用 — 预置常用工具和提示词模板,首次启动即可投入使用
- MCP 协议支持 — 原生支持 MCP JSON-RPC 2.0,可扩展对接飞书等企业服务
快速开始
只需几步即可在本地启动 Octopus 平台,开始使用全部功能。
环境要求
| 依赖 | 版本要求 | 说明 |
|---|---|---|
| Python | 3.10+ | 后端运行环境 |
| Node.js | 18+ | 仅前端开发/构建时需要 |
| 操作系统 | - | Linux / macOS / Windows 均可 |
| LLM API | - | 任意 OpenAI 兼容接口 |
安装与启动
克隆项目并安装依赖
git clone <仓库地址>
cd ai-assistant
pip install -r requirements.txt
配置环境变量
复制示例配置文件并填入你的 LLM API 地址和密钥:
cp .env.example .env
至少需要配置以下两项:
OPENAI_API_BASE=https://your-llm-api.com/v1
OPENAI_API_KEY=your-api-key
启动服务
python -m uvicorn app.main:app --host 0.0.0.0 --port 8000
访问平台
浏览器打开 http://localhost:8000,使用默认管理员账号登录。
安全提醒:默认管理员账号为 admin / admin,首次登录后请立即修改密码。生产环境请务必更换 JWT_SECRET_KEY。
前端构建(生产环境)
开发阶段可直接使用预构建的前端。如需自行构建:
cd frontend
npm install
npm run build
构建产物会输出到 html/ 目录,由后端自动提供静态文件服务。
核心概念
在开始使用平台各项功能前,了解以下核心概念有助于你更好地理解产品设计理念。
对话(Conversation)
对话是用户与 AI 交互的基本单元。每次对话保存完整的消息历史,支持上下文窗口管理 —— 系统自动截取最近 N 条消息(可配置)发送给模型,确保在控制 Token 消耗的同时保持对话连贯性。首条消息后系统会自动生成对话标题。
Agent 智能体
Agent 是具备自主决策能力的 AI 实体。与普通对话的"一问一答"模式不同,Agent 会主动分析任务、选择并调用合适的工具、根据工具返回结果进行下一步推理,直到任务完成。整个推理过程中的每个步骤都会被完整记录。
知识库(Knowledge Base)
知识库是文档的集合容器。文档上传后经过自动化处理流水线:解析 → 分块 → 向量化 → 存储。查询时通过语义向量检索(而非简单关键词匹配)找到最相关的文档片段,再由 LLM 综合这些片段生成答案并标注出处。
工具(Tool)
工具是 Agent 可以调用的外部能力接口。Octopus 中的工具以 HTTP 请求模板的形式定义 —— 你可以将任何 REST API 封装为工具,Agent 会根据任务需要自主决定何时、如何调用它们。
工作流(Workflow)
工作流将多个步骤编排为自动化流程。支持 LLM 推理、工具调用、条件分支等节点类型,可通过定时调度或 Webhook 触发执行,适合处理规律性的自动化任务。
智能对话
智能对话是平台最基础也是使用最频繁的功能模块,提供流畅的多轮对话体验。
功能特性
- 流式输出 — 基于 SSE 实时推送生成内容,用户无需等待完整响应即可看到生成过程
- 上下文窗口 — 可配置的历史消息保留数量,在对话深度和 Token 消耗间取得平衡
- 自动标题 — 首次对话后由 LLM 自动生成简洁概要标题,方便历史检索
- 对话管理 — 支持创建、删除、切换多个对话,左侧面板展示完整历史列表
- 导入导出 — JSON 格式的对话数据导入导出,支持跨实例迁移
- 公开分享 — 一键生成无需登录即可访问的分享链接
使用方式
- 进入平台,点击左侧导航栏的「对话」图标
- 点击左上角「+」新建对话(或选择已有对话继续)
- 在底部输入框输入消息,按 Enter 发送
- AI 会以流式方式逐字输出回复
对话配置
| 配置项 | 默认值 | 说明 |
|---|---|---|
| 上下文窗口大小 | 20 条 | 发送给模型的最大历史消息数,值越大对话越连贯但消耗更多 Token |
| 默认模型 | 可动态切换 | 在「设置」中选择当前使用的模型 |
| 流式模式 | 开启 | 关闭后将等待完整响应再一次性展示 |
提示:对话标题由 AI 自动生成,你也可以双击标题手动修改为更符合你记忆习惯的名称。
Agent 智能体
Agent 智能体是平台最具创新性的能力。它不只是"对话",而是一个能够自主思考、调用工具、分步完成复杂任务的智能助手。
工作原理
接收任务
用户用自然语言描述需要完成的任务。
分析与规划
Agent 分析任务需求,决定是否需要外部工具辅助,并选择最合适的工具。
执行工具调用
自动构造工具参数并发起调用,获取返回结果。
迭代推理
根据工具返回结果判断任务是否完成。如未完成,继续调用其他工具(最多 5 轮)。
综合回答
整合所有信息,生成最终的结构化回答。
功能亮点
- 透明的推理过程 — 每个工具调用步骤的输入、输出、耗时都可展开查看
- 完整的历史记录 — Agent 对话和所有工具步骤都会持久化保存
- 灵活的工具配置 — 通过自定义工具模块添加任意 HTTP API 作为 Agent 能力
- 安全的执行环境 — 工具调用在服务端执行,参数经过模板化处理避免注入风险
典型使用场景
| 场景 | 示例任务 | 涉及工具 |
|---|---|---|
| 数据分析 | "查询本周销售数据并生成分析报告" | 数据查询 API、报表生成 |
| 智能客服 | "帮我查一下订单 #12345 的物流状态" | 订单查询、物流追踪 |
| 运维巡检 | "检查一下各服务的健康状态" | 监控 API、告警查询 |
| 信息聚合 | "汇总竞品最近一周的产品动态" | 新闻检索、内容抓取 |
最佳实践:描述任务时尽量清晰具体。例如"帮我查本周北京地区的销售额,并和上周做对比"比"帮我看下数据"效果好得多。
知识库 RAG
知识库模块实现了完整的检索增强生成(Retrieval-Augmented Generation)流程,让 AI 的回答基于你的私有文档,而非仅依赖模型训练数据。
文档处理流水线
上传文档
支持 PDF、TXT、Markdown 格式。也支持通过飞书文档 URL 直接导入。
智能解析
自动识别文档格式,提取正文内容,保留文档结构信息。
语义分块
按语义边界切分文档(默认 512 字符),相邻块保留 64 字符重叠以保持上下文连贯。
向量化存储
使用 Embedding 模型将每个文档块转换为高维向量,存入向量数据库。
智能检索与回答
用户提问后,系统执行以下流程:
- 将用户问题向量化,在向量数据库中检索最相似的文档片段
- 按相关性分数过滤低质量结果(可配置阈值)
- 可选的 LLM 重排序 —— 用大模型对检索结果做二次精排
- 将筛选后的文档片段作为上下文注入 Prompt
- LLM 生成回答,并标注引用了哪些源文档的哪些段落
功能特性
- 多知识库隔离 — 按主题或部门创建独立知识库,数据完全隔离
- 文档摘要生成 — 上传后可用 AI 自动生成文档概要
- 出处精确引用 — 回答中标注来源文档名称和具体段落
- 飞书文档导入 — 配置飞书应用凭证后可直接导入在线文档
- 知识库对话 — 在知识库上下文中进行多轮连续对话
- 质量可衡量 — 统计面板展示检索命中率和相关性分数分布
配置项
| 配置 | 默认值 | 说明 |
|---|---|---|
| 相关性阈值 | 0.3 | 低于此分数的检索结果将被过滤,值越高越严格 |
| LLM 重排序 | 关闭 | 开启后精准度更高,但会增加一次 LLM 调用延迟 |
| 分块大小 | 512 字符 | 较大的分块保留更多上下文,但检索精度会下降 |
| 分块重叠 | 64 字符 | 相邻块的重叠部分,防止关键信息被切断 |
工具与工作流
工具模块允许你将企业内部的任意 HTTP API 封装为 Agent 可调用的能力,工作流模块则将多个步骤编排为可自动执行的流程。
自定义工具
每个工具由以下要素组成:
| 要素 | 说明 | 示例 |
|---|---|---|
| 名称 | 工具唯一标识,Agent 据此识别工具 | query_order |
| 描述 | 功能说明,Agent 据此判断何时使用 | "根据订单号查询订单状态" |
| HTTP 模板 | 请求方法、URL、Headers、Body | GET https://api.example.com/orders/{{id}} |
| 参数 Schema | JSON Schema 定义参数类型和约束 | {"id": {"type": "string"}} |
| 批量配置 | (可选)按数量或列表分批处理 | 每批 10 条,列表参数自动拆分 |
工具管理
- 可视化创建 — 表单化配置工具各项属性,无需编码
- 在线测试 — 传入参数即可测试工具是否正常工作
- 启用/禁用 — 灵活控制 Agent 可使用的工具范围
- 导入/导出 — JSON 格式备份和跨实例迁移工具配置
- 预置工具 — 系统内置常用工具模板,首次启动自动加载
工作流引擎
将多个处理步骤编排为自动化流程:
- 触发方式 — 手动执行、Cron 定时调度、Webhook 外部回调
- 节点类型 — LLM 推理、工具调用、条件分支、数据映射与转换
- 执行监控 — 实时查看每个节点的执行状态、输入输出和耗时
- 错误处理 — 节点失败时支持重试、跳过或终止流程
提示词模板
提示词模板帮助团队将 AI 交互的最佳实践沉淀为可复用的标准化模板,降低使用门槛,提升输出质量。
适用场景
- 任务标准化 — 为翻译、摘要、代码审查等常见任务预设高质量 Prompt
- 团队共享 — 经过验证的提示词模板全团队共享,无需重复摸索
- 角色预设 — 为不同岗位定制专属 AI 助手人设(如法务助手、HR 助手)
- 变量注入 — 模板支持
{{变量名}}占位符,使用时动态填充上下文
模板结构
名称:周报生成助手
描述:根据本周工作内容自动生成结构化周报
模板内容:
你是一位专业的技术文档撰写者。请根据以下工作内容,
生成一份结构化的周报,包含:本周完成、进行中、下周计划。
本周工作内容:
{{work_content}}
数据洞察
全面的使用统计面板,帮助你了解平台使用情况、评估 AI 效果、控制成本。Dashboard 为默认登录首页。
统计维度
| 维度 | 关键指标 | 业务价值 |
|---|---|---|
| 调用趋势 | 日/周/月调用量曲线、同比环比 | 了解使用规律,合理规划资源 |
| 模型分布 | 各模型使用占比和 Token 消耗 | 优化模型选择,控制成本 |
| 类型分布 | 对话/Agent/RAG 各功能使用占比 | 了解团队偏好,指导功能迭代 |
| RAG 质量 | 检索命中率、相关性分数分布 | 评估知识库质量,优化配置参数 |
| 用量配额 | Token 消耗趋势、API 调用次数 | 预算管理,避免超额使用 |
分享协作
支持将对话成果安全便捷地分享给同事或外部人员。
分享方式
- 公开链接 — 一键生成无需登录的分享链接,对方可直接浏览完整对话内容
- 对话导出 — 将对话以 JSON 格式导出为文件,支持跨实例导入
- 知识库问答分享 — 分享 RAG 对话时同步展示引用的原文出处
- Agent 对话分享 — 完整展示 Agent 的工具调用步骤和推理过程
安全说明:公开分享链接无需登录即可访问,请确认分享内容不含敏感信息。如需收回,可在对话设置中关闭分享。
消息通知
实时事件推送系统,确保重要事件不被遗漏。通知在页面右上角实时弹出,也可在通知面板中查看历史记录。
通知类型
- 文档处理完成 — 知识库文档解析和向量化完成时通知
- 配额告警 — 使用量接近配额上限时预警
- 任务结果 — Agent 任务和工作流执行完成后通知
- 审批请求 — 工作流中需要人工审批的节点
- 系统公告 — 管理员发布的全局通知
通知管理
- 支持标记单条/全部已读
- 支持删除不需要的通知
- 未读计数实时更新,红点提醒
- 基于 SSE 实现,页面打开即自动连接,无需刷新
模型管理
统一管理接入平台的大语言模型,支持运行时动态切换,无需重启服务。
核心能力
- 模型池管理 — 查看所有已配置模型及其状态
- 运行时切换 — 一键切换当前使用的模型,立即生效
- 多 Key 轮转 — 配置多个 API Key 自动轮转,提升可用性和并发能力
- 配置热更新 — 修改 API 地址或密钥后自动重建客户端连接
兼容的模型服务
Octopus 兼容所有实现 OpenAI Chat Completions API 标准的模型服务:
| 模型服务 | 代表模型 | 部署方式 |
|---|---|---|
| OpenAI | GPT-4o、GPT-4、GPT-3.5-turbo | 云端 API |
| 智谱 AI | GLM-4 系列 | 云端 API |
| 通义千问 | Qwen 系列 | 云端 API |
| DeepSeek | DeepSeek-V3、DeepSeek-Coder | 云端 API |
| Ollama | Llama、Mistral、Gemma 等 | 本地部署 |
| vLLM / LMStudio | 任意开源模型 | 本地/私有部署 |
私有化部署:通过 Ollama 或 vLLM 在本地部署开源模型,配合 Octopus 可实现完全离线运行,数据不出内网。
用户与权限
基于业界标准的 JWT + RBAC 安全体系,保障平台访问安全和数据隔离。
认证机制
- JWT Token 认证 — 登录后获取 access token(短期有效)+ refresh token(长期有效)
- 无感刷新 — access token 过期后前端自动使用 refresh token 换取新 token
- 安全存储 — 密码采用 bcrypt 哈希存储,数据库中不保存任何明文密码
- 路由保护 — 除登录接口和公开分享外,所有 API 均需携带有效 Token
权限与配额
- 基于角色的访问控制(RBAC),按角色分配功能权限
- 使用配额管理 —— 按用户或团队维度设置 API 调用上限
- 配额用尽时系统自动阻止并发送告警通知
- 管理员可在 Dashboard 查看各用户的使用统计
生产环境安全清单:
1. 修改默认管理员密码(admin/admin)
2. 更换 JWT_SECRET_KEY 为随机长字符串
3. 配置 HTTPS(通过 Nginx 等反向代理)
4. 按需限制 API 访问的 IP 范围
系统设置
通过 Web 管理界面或 API 修改平台运行时配置,所有改动即时生效,无需重启服务。
设置管理方式
- Web 界面 — 登录后点击左侧「设置」面板,表单化修改各项配置
- API 接口 — 通过
GET/PUT /settings接口程序化管理配置 - 环境变量 — 首次部署通过
.env文件初始化配置
可配置项
- LLM API 地址与密钥
- 默认模型选择与模型列表
- 对话上下文窗口大小
- RAG 检索相关性阈值
- LLM 重排序开关
- 飞书应用集成凭证
- JWT Token 有效期
- 通知推送配置
持久化机制:通过 Web 界面或 API 修改的设置会自动同步到 .env 文件,重启后配置不会丢失。
架构总览
Octopus 采用前后端分离的分层架构,后端基于 Python FastAPI,前端为 Vue 3 SPA。各层职责清晰,松耦合设计便于扩展和维护。
系统架构图
┌─────────────────────────────────────────────────────┐
│ 前端 (Vue 3 SPA) │
│ 对话 │ Agent │ 知识库 │ 工具 │ 统计 │ 设置 │
└────────────────────────┬────────────────────────────┘
│ HTTP / SSE
┌────────────────────────▼────────────────────────────┐
│ API 网关 (FastAPI) │
│ 认证 (JWT) │ 路由 │ 请求验证 (Pydantic) │
├─────────────────────────────────────────────────────┤
│ 服务层 (Service) │
│ ChatService │ AgentService │ RAGService │ ... │
├─────────────────────────────────────────────────────┤
│ AI 层 (Intelligence) │
│ LLMClient │ TaskAgent │ Retriever │ Embedder │
├─────────────────────────────────────────────────────┤
│ 基础设施 (Infrastructure) │
│ SQLite │ ChromaDB │ 文件存储 │ MCP Client │
└─────────────────────────────────────────────────────┘
核心请求流
| 场景 | API 入口 | 处理链路 |
|---|---|---|
| 智能对话 | POST /conversations/{id}/chat |
ConversationService → 上下文截取 → LLMClient → 流式输出 |
| Agent 任务 | POST /agent-conversations/{id}/chat |
AgentService → TaskAgent → 工具调用循环 → 综合回答 |
| 知识库问答 | POST /kb-conversations/{id}/chat |
KBConversationService → 向量检索 → 重排序 → LLM 生成 |
| 实时通知 | GET /notifications/stream |
SSE 连接 → 异步队列 → 事件推送 |
设计要点
- 单体但分层 — 通过清晰的层次划分获得微服务的可维护性,同时保持部署的简洁性
- 异步优先 — FastAPI + asyncio 提供高并发处理能力
- 零外部依赖 — SQLite + ChromaDB 嵌入式存储,不依赖外部数据库服务
- 热更新 — 核心组件(LLMClient、配置)支持运行时更新,无需重启
技术栈
后端技术
| 技术 | 版本 | 用途 |
|---|---|---|
| Python | 3.10+ | 后端开发语言 |
| FastAPI | - | Web 框架,高性能异步,自动 OpenAPI 文档 |
| SQLAlchemy | - | ORM 框架,数据模型定义与查询 |
| SQLite | - | 嵌入式关系型数据库 |
| ChromaDB | - | 嵌入式向量数据库,知识库语义检索 |
| Pydantic | - | 数据模型验证与序列化 |
| python-jose + bcrypt | - | JWT 认证与密码安全 |
| httpx | - | 异步 HTTP 客户端(工具调用、LLM API) |
前端技术
| 技术 | 用途 |
|---|---|
| Vue 3 (Composition API) | 前端框架,响应式 UI 开发 |
| TypeScript | 类型安全,提升代码可维护性 |
| Vite | 极速构建工具与开发热更新 |
| Element Plus | 企业级 UI 组件库 |
| Pinia | 轻量状态管理 |
| Vue Router | 路由管理,含全局鉴权守卫 |
API 概览
Octopus 提供完整的 RESTful API,涵盖平台所有功能。API 按模块组织,遵循统一的设计规范。
认证方式
除公开接口外,所有 API 请求需在 Header 中携带 JWT Token:
Authorization: Bearer <your-access-token>
API 模块一览
| 模块 | 路径前缀 | 主要功能 | 认证要求 |
|---|---|---|---|
| 认证 | /api/auth |
登录、Token 刷新、修改密码 | 公开 |
| 对话 | /conversations |
对话管理、聊天、流式聊天、导入导出 | 需认证 |
| Agent 对话 | /agent-conversations |
Agent 对话管理、任务执行 | 需认证 |
| 知识库 | /knowledge |
KB 管理、文档上传/导入、查询 | 需认证 |
| KB 对话 | /kb-conversations |
知识库对话管理 | 需认证 |
| 工具 | /custom-tools |
工具 CRUD、测试、导入导出 | 需认证 |
| 模型 | /models |
模型列表、模型切换 | 需认证 |
| 统计 | /stats |
用量统计、趋势分析、RAG 质量 | 需认证 |
| 通知 | /notifications |
通知列表、实时推送、已读管理 | 需认证 |
| 设置 | /settings |
系统配置读写 | 需认证 |
交互式文档:启动服务后访问 /docs 路径可打开自动生成的 Swagger UI,支持在线调试所有 API。
部署指南
Octopus 设计为极简部署 —— 无需外部数据库、消息队列或缓存服务。以下提供多种部署方式供选择。
方式一:直接部署
适合快速体验和小规模使用:
# 1. 安装 Python 依赖
pip install -r requirements.txt
# 2. 构建前端静态文件
cd frontend && npm install && npm run build && cd ..
# 3. 配置环境变量
cp .env.example .env
# 编辑 .env,填入 API 地址和密钥
# 4. 启动服务
python -m uvicorn app.main:app --host 0.0.0.0 --port 8000
方式二:Docker 部署
适合生产环境,便于管理和迁移:
# 构建镜像
docker build -t octopus .
# 运行容器(挂载数据卷确保持久化)
docker run -d \
--name octopus \
-p 8000:8000 \
-v $(pwd)/data:/app/data \
--env-file .env \
octopus
方式三:多 Worker 部署
高并发场景下使用多个 Worker 进程:
python -m uvicorn app.main:app \
--host 0.0.0.0 \
--port 8000 \
--workers 4
生产环境最佳实践
| 措施 | 说明 | 优先级 |
|---|---|---|
| HTTPS | 通过 Nginx 反向代理配置 SSL 证书 | 必须 |
| 修改密码 | 首次登录后立即修改默认管理员密码 | 必须 |
| 更换 JWT 密钥 | 生成随机字符串替换默认的 JWT_SECRET_KEY | 必须 |
| 定期备份 | 定时备份 app.db 和 chroma_data 目录 | 强烈建议 |
| Worker 数量 | 根据 CPU 核数和并发量调整 Uvicorn workers | 建议 |
| 访问限制 | 通过防火墙或 Nginx 限制 IP 访问范围 | 建议 |
配置说明
所有配置通过 .env 文件管理,也可在部署后通过 Web 界面的设置页面动态修改。
完整配置项
| 配置项 | 必填 | 默认值 | 说明 |
|---|---|---|---|
OPENAI_API_BASE |
是 | - | LLM API 端点地址(OpenAI 兼容格式) |
OPENAI_API_KEY |
是 | - | LLM API 访问密钥 |
OPENAI_API_KEY_EXTRA |
否 | - | 备用 API Key,支持多 Key 轮转 |
OPENAI_MODEL |
否 | 自动检测 | 默认使用的模型名称 |
EMBEDDING_MODEL |
否 | - | 文本向量化模型(用于知识库) |
DATABASE_URL |
否 | sqlite:///./app.db |
SQLite 数据库文件路径 |
CHROMA_PERSIST_DIR |
否 | ./chroma_data |
ChromaDB 持久化存储目录 |
CONTEXT_WINDOW_SIZE |
否 | 20 | 对话上下文窗口(历史消息条数) |
RELEVANCE_THRESHOLD |
否 | 0.3 | RAG 检索相关性过滤阈值 |
ENABLE_LLM_RERANK |
否 | False | 是否启用 LLM 重排序 |
JWT_SECRET_KEY |
否 | 内置默认值 | JWT 签名密钥(生产环境必须修改) |
JWT_EXPIRE_MINUTES |
否 | 30 | Access Token 有效期(分钟) |
FEISHU_APP_ID |
否 | - | 飞书应用 ID(需飞书导入时配置) |
FEISHU_APP_SECRET |
否 | - | 飞书应用密钥 |
最小化配置示例
# .env - 最小可用配置
OPENAI_API_BASE=https://api.openai.com/v1
OPENAI_API_KEY=sk-your-api-key-here
OPENAI_MODEL=gpt-4o
升级与备份
数据备份
Octopus 的所有持久化数据集中在以下位置,备份时复制即可:
| 路径 | 内容 | 重要性 |
|---|---|---|
app.db |
主数据库(用户、对话、工具、配置等) | 核心数据 |
chroma_data/ |
向量数据库(知识库索引) | 可从文档重建 |
.env |
运行时配置文件 | 配置信息 |
备份建议:生产环境建议至少每日备份 app.db,可通过 cron 定时任务自动完成。chroma_data 可按需备份,丢失后可从源文档重新构建。
升级步骤
备份数据
复制 app.db、chroma_data/、.env 到安全位置。
拉取新版本
git pull origin main
更新依赖
pip install -r requirements.txt
cd frontend && npm install && npm run build && cd ..
重启服务
数据库 Schema 变更会在启动时自动处理,通常无需手动迁移。
常见问题
支持哪些大语言模型?
任何兼容 OpenAI Chat Completions API 接口标准的模型都可以接入,包括但不限于:OpenAI GPT 系列、智谱 GLM-4、通义千问 Qwen、DeepSeek、Ollama/vLLM 部署的开源模型。只需配置对应的 API 地址和密钥即可。
数据安全性如何保障?
Octopus 的所有数据(对话记录、知识库文档、用户信息)均存储在本地,不依赖任何第三方云存储服务。对外的唯一网络请求是 LLM API 调用。如需完全离线运行,可通过 Ollama 等工具在本地部署模型。
知识库支持多大的文档?
理论上没有硬性大小限制。大文档会被自动分块处理,处理时间与文档长度成正比。实测建议单个文档不超过 10MB(约 200-300 页 PDF),以获得最佳处理速度和用户体验。
如何对接飞书文档?
在系统设置中配置飞书应用的 App ID 和 App Secret,确保该应用拥有文档读取权限。配置完成后即可在知识库中通过飞书文档 URL 直接导入。系统会优先使用 MCP 协议导入,若 MCP 服务不可用则自动回退到飞书 Open API。
Agent 一次最多能调用多少次工具?
默认上限为每轮对话 5 次工具调用。这是为了防止 Agent 陷入无限循环。如果任务需要更多步骤,建议:拆分为多次对话交互,或优化工具粒度使单次调用覆盖更多操作。
支持多用户同时使用吗?
支持。FastAPI 基于 Python asyncio 异步架构,天然支持高并发。生产环境可通过 --workers 参数增加 Uvicorn 工作进程数量来提升并发处理能力。各用户数据通过认证体系完全隔离。
如何重置管理员密码?
如果忘记管理员密码,可删除 app.db 数据库文件后重启服务,系统会重新创建默认 admin/admin 账号。注意:这会清除所有数据,请务必提前备份。未来版本将提供命令行重置工具。
可以同时部署多个实例吗?
可以,但由于使用 SQLite 文件数据库,多实例不应共享同一个 app.db 文件。如需多节点部署,建议每个实例使用独立的数据目录,或等待未来版本对 PostgreSQL 的支持。
更新日志
v1.0 — 2025 年首个正式版
Octopus 平台正式发布,包含以下完整功能模块:
- 智能对话 — 多轮流式对话、上下文窗口、自动标题、对话历史管理
- Agent 智能体 — 多轮工具调用循环、推理步骤可视化、对话持久化
- 知识库 RAG — 文档解析、语义分块、向量检索、出处引用、LLM 重排序
- 自定义工具 — HTTP 模板定义、批量处理、在线测试、导入导出
- 工作流引擎 — 多节点编排、定时调度、Webhook 触发
- 模型管理 — 多模型动态切换、多 Key 轮转、配置热更新
- 提示词模板 — 可复用模板库、变量注入、团队共享
- 用户认证 — JWT 双 Token 认证、RBAC 权限、配额管理
- 数据洞察 — 多维度统计分析、趋势图表、RAG 质量评估
- 消息通知 — SSE 实时推送、未读管理
- 分享协作 — 公开链接分享、对话导入导出
- 飞书集成 — MCP + Open API 双通道文档导入