Octop 自托管 AI 助手
为家庭和小团队提供多用户、多智能体且数据本地保存的 AI 工作空间。
按维度查看评分与理由
README 描述了按用户隔离的代理与工作区、默认关闭的 API 文档、工具审批、Shell 规则、PII 脱敏以及本地凭据目录;工作流权限也分别限定为 contents:read/issues:write 和发布所需写权限,因此最小权限、确认和敏感数据处理具备具体设计依据,但所给源码没有展示这些运行时控制的实现,不能满分。数据目录、外部 LLM/IM/OAuth/MCP、远程存储和浏览器能力均有说明,但“数据完全留在本机”与可选外部服务之间的出站数据边界、保留策略和脱敏例外没有完整展开。升级前备份、凭据随机生成和安全报告渠道较清楚;然而依赖多采用宽松下限、未见锁文件、供应链校验或漏洞扫描证据,远程一行安装命令也增加了供应链风险。反垃圾工作流会自动加标签、评论并关闭 Issue,虽可由维护者恢复但没有事前人工确认。仓库与作者归属存在 README、包元数据和许可证表述,但许可证仅写“Octop”、包作者仅写贡献者,且题设说明发布者身份未验证,故来源归属仅部分清晰。
README、pyproject、测试配置和发布工作流在 Python 3.12、版本 1.0.0、命令、架构与质量工具方面总体一致,并描述数据库重启恢复、自动迁移和测试分类。扣分在于关键 harness 组件尚未公开且仅以版本下限引用,README 还承认相关仓库链接待补,外部安装脚本和服务的持续可用性无法由材料确认。错误处理证据有限:反垃圾工作流验证手工输入并对部分 API 失败发出警告,安装与密码回退有所说明,但没有覆盖产品运行时、连接器、模型、数据库或代理失败的系统性用户错误消息规范。
材料明确覆盖个人、家庭、小团队和开发者场景,并提供 Web、CLI、IM、HTTP/SSE/WebSocket、多个模型提供商、存储与数据库后端,且列出 macOS、Linux、Windows、Docker、桌面和 NAS 路径,受众与环境适配证据充分。能力边界通过安全责任、可选组件、默认关闭 API 文档、路线图和外部代理委派有所说明,但资源规模仅写“几 GB”,平台差异、连接器限制和离线能力未系统化。触发方式包括自然语言、斜杠命令、cron、IM 和 API,且工具审批有所声称;不过没有给出冲突消解、误触发防护、cron 时区或多入口并发语义的实现证据。
README 的目录、架构图、项目布局、配置、CLI、开发、部署、安全、贡献和链接结构完整,安装方式、先决条件、初始化、升级备份及多平台步骤尤其详尽。命名在 octop 命令和目录中基本稳定,但 README 同时出现“octop chat”与 CLI 表中的“octop chats”,造成可见不一致。示例覆盖主要路径,但没有独立 FAQ 或常见故障排查内容。安全责任、旧版本仅尽力支持、路线图可变及基础资源需求构成一些限制说明,但浏览器、远程桌面、插件和外部代理的风险与限制仍不完整。MIT 正文和 pyproject 元数据一致,许可证满分。版本、变更日志链接和自动打标签流程存在,但未提供 CHANGELOG 内容,无法评价历史质量。SECURITY.md 给出报告邮箱、响应目标和支持范围,贡献路径也清楚;发布者身份仍未验证,维护主体和长期更新责任不够明确。
该产品提供统一仪表板、CLI、IM、API、定时任务、知识库、记忆、插件、浏览器与编码代理委派,产出可通过多种实际工作界面消费,且相对于单一聊天助手具有明显的多用户、多代理和自托管增量价值。扣分在于材料主要是功能描述,缺少真实输出样例、端到端案例或质量指标;成本只粗略说明需要多核 CPU、数 GB 内存及模型/嵌入缓存,未量化模型调用、浏览器、数据库、远程存储和维护成本,也没有收益基准。
多数主张可追溯到 README 的具体命令、目录、架构与配置,并由 pyproject 的版本、依赖、入口点、质量工具以及测试夹具部分交叉印证;发布工作流也支持版本化流程的存在。扣分在于安全隔离、PII 脱敏、审批、重启安全和众多产品能力缺少对应实现文件,测试材料只覆盖前端记忆夹具与环境设置,不能充分佐证核心声明。路线图明确标为可能变化,且文档通常区分当前功能和未来计划;但“隐私永不妥协”“数据留在本地”等营销性表述没有充分区分外部 LLM、OAuth、IM、S3/COS 和浏览器通信所必需的数据外发。
- 不要直接执行 README 中从远程 COS 下载并管道传给 shell 或 PowerShell 的一行安装命令;应先下载、检查并校验脚本或优先使用可审计的源码/PyPI/Docker 构建路径。
- 在启用外部 LLM、IM、OAuth/MCP、COS/S3、浏览器自动化、远程桌面或第三方插件前,确认实际出站数据、凭据存储、权限范围、日志与保留策略;“自托管”不等于所有数据都不会离开主机。
- 部署到非本机接口前应配置 TLS、网络访问控制,轮换 JWT 与管理员凭据,并审查 ~/.octop/security/tool_guard/;API 文档应保持默认关闭,除非确有需要。
- 升级或迁移前运行 octop backup 并验证恢复流程;材料只描述备份和自动迁移,没有提供恢复演练证据。
- 关键 harness 依赖尚未给出仓库链接,依赖版本多为宽松下限;生产采用前应生成锁文件、核查传递依赖与已知漏洞并固定可信制品。
- 自动反垃圾工作流可能误关闭新账号提交的真实 Issue;维护者应监控 pending-maintainer-review 标签并保留明确的人工复核和重新开启流程。
这个 Agent 能做什么,适合哪些场景?
Octop 是一个面向个人、家庭和小团队的开源自托管 AI 助手平台。它在单一进程中组合 FastAPI 服务、React Web 控制台、CLI、即时通信渠道、定时任务以及基于 Harness 组件的智能体运行时。每位用户可以拥有多个独立智能体,并分别配置工作区、模型提供商、渠道、专家或 MBTI 人格、技能与定时任务。系统可通过网页、Feishu、DingTalk、QQ、Discord、WeCom,以及 HTTP、SSE、WebSocket 和双向 ACP 接收任务并返回结果。对话、凭据、智能体工作区和控制面状态默认保存在本机的 ~/.octop/,控制面使用 SQLite,也可改用 PostgreSQL;工作区还支持本地磁盘、Docker、COS 或 S3 后端。它适合希望统一部署私人知识检索、消息渠道、浏览器与终端自动化的团队,但采用者需要自行运行服务、配置模型及渠道凭据并承担安全维护。
消息从 Web UI、IM 渠道或 cron 进入统一的 HarnessProcessor,再被路由到相应用户的 AgentRuntime。HarnessAgent 负责模型路由、工具、技能和对话检查点,harness-gateway 将不同 IM 平台的消息规范化,harness-memory 提供分层记忆与全文检索,harness-browser 通过 CDP 和持久化配置文件执行网页操作。智能体可以检索上传到知识库的文档、调用配置好的模型与 Connector、运行经审批的工具或 shell 命令、操作无头 Chromium、生成回复并通过原渠道返回。octop acp 可把 Octop 智能体作为 stdio ACP 服务提供给 IDE 或终端,也可由 Octop 将编码任务委派给 OpenCode、CodeBuddy、Claude Code 或 Codex。OctopServer 在启动时从 SQLite 或 PostgreSQL 重建用户、智能体、渠道和计划任务状态,并由 FastAPI/uvicorn 暴露 Dashboard、HTTP、SSE 和 WebSocket 接口。
- 希望把聊天记录、凭据和文档保留在自有设备上的个人,可用专属智能体整理笔记、撰写周报并通过工作区维持长期记忆。
- 共享一台自托管服务器的家庭,可由一个管理员管理账户,同时为不同成员分配各自的智能体、专家和工作区。
- 使用 Feishu、DingTalk 或 WeCom 的小团队,可将多个群聊入口接入统一处理流程,并让不同专家智能体承担不同任务。
- 开发者可通过 octop acp 在 IDE 或终端中调用自己的 Octop 智能体,或把编码任务委派给 OpenCode、Claude Code、CodeBuddy 或 Codex。
- 需要重复网页操作的用户,可使用 Browser AI+ 填写表单、截取页面并收集公开信息。
- 需要周期性工作的管理员,可通过自然语言或斜杠命令创建 cron 任务,让智能体按计划执行或推送结果。
这个 Agent 有哪些优点和局限?
- Web 控制台、CLI、IM 渠道、API 和 cron 共用一个进程与统一处理管线,部署结构相对集中,并可在重启后从控制面数据库恢复状态。
- 提供真实的多用户隔离和每用户多智能体配置,包括 JWT、管理员角色、独立工作区、模型、渠道、技能与计划任务。
- 本地优先的数据边界明确:配置、聊天、凭据和工作区默认位于 ~/.octop/,同时支持 SQLite、PostgreSQL、COS、S3 和 Docker 等后端选择。
- 集成面较广,既支持多种即时通信渠道、HTTP/SSE/WebSocket 和 MCP Connector,也支持入站与出站 ACP。
- 内置知识库 RAG、可迁移工作区记忆、浏览器自动化、终端辅助、插件和远程桌面,能覆盖文档问答之外的操作型任务。
- 自托管意味着采用者需要负责升级、备份、TLS、凭据保护、数据库运维以及对外暴露服务时的网络安全。
- 主要能力仍依赖外部模型提供商或本地模型配置;IM 渠道、OAuth Connector、MCP 网关和编码 runner 也分别需要凭据或额外软件。
- 单进程设计简化了启动,但材料没有提供多节点扩展、高可用、外部队列或故障转移方案的证据。
- 浏览器自动化、部分渠道和本地嵌入模型需要安装可选 extras 或额外模型缓存,会增加磁盘、内存和环境准备成本。
- AgentTeams、共享资源池、专家共享、自我演化以及原生 PC/移动客户端仍列在路线图中,不能视为已经交付的能力。
如何安装或部署这个 Agent?
macOS 或 Linux 可运行:curl -fsSL https://finnie-1258344699.cos.ap-guangzhou.myqcloud.com/octop/install.sh | bash。Windows PowerShell 可运行:irm https://finnie-1258344699.cos.ap-guangzhou.myqcloud.com/octop/install.ps1 | iex。安装器使用 uv 在 ~/.octop/venv 中配置隔离的 Python 3.12 环境,因此无需预装 Python;安装后需打开新终端,或执行 source ~/.zshrc 或 source ~/.bashrc。若自行管理 Python,可执行 pip install octop;需要浏览器能力时执行 pip install "octop[browser]"。首次运行 octop init,以创建 SQLite 数据库、JWT 密钥和首个管理员账户;密码至少包含字母和数字且长度不低于 8 位。生产环境也可执行 docker compose -f docker/docker-compose.yml up -d;Docker 首次启动会使用 OCTOP_DEFAULT_PASSWORD,或生成随机密码并写入 /data/.octop/credential.txt。模型提供商、IM 渠道及 Connector 需要另行配置相应 API 或平台凭据。
如何使用这个 Agent?
完成初始化后运行 octop run,并打开 http://127.0.0.1:8088;需要监听其他主机或端口时可运行 octop run --host 0.0.0.0 --port 8088。进入 Dashboard 后配置模型提供商,创建智能体并选择专家或 MBTI 人格,再按需设置 Connectors、IM Channels、Knowledge base、Plugins、ACP 和 Cron。CLI 可使用 octop models、octop provider list、octop channel install、octop skills list --agent main 和 octop cron create --help 管理这些功能。IDE 或终端要直接调用 Octop 智能体时运行 octop acp --agent main;若要向外委派编码工作,则需在 Dashboard 的 ACP 页面配置 runner,并为目标智能体启用 acp_runner。程序可通过 HTTP、SSE 或 WebSocket 接入;交互式 API 文档默认关闭,需在 config.json 中设置 "enable_api_docs": true 后访问 http://127.0.0.1:8088/api/docs。