Octop

TencentCloudMIT活跃维护

自托管的多用户、多智能体 AI 助手,支持长期记忆和本地优先部署,适合团队搭建自己的智能助理服务。

A smarter, self-hosted AI assistant — multi-user, multi-agent.

v1.0.3b4发布于 2026-11-06 02:33 UTC11,843star +87 / 7 天1,641fork同步于 2026-11-10 11:28 UTC

怎么上手

由 README 提炼,执行前请确认
docker compose -f docker/docker-compose.yml up -d
pip install octop
硬件要求按 README 说明

README 未说明显存或 GPU 要求;支持 Linux、Windows、macOS,可 Docker 部署,也可用腾讯云 Lighthouse/CVM 等云主机。

支持 Apple Silicon有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

自托管多用户多智能体 AI 助手,把对话、工作区和凭据都留在自己机器上

自托管的多用户、多智能体 AI 助手,支持长期记忆和本地优先部署,适合团队搭建自己的智能助理服务。

核心能力

  • 单进程同时提供 Web 控制台、CLI、IM 渠道与定时任务
  • 多用户 JWT 隔离,内置专家库与专家市场按场景切换
  • AgentTeams 由协调者调度多个专家处理多步任务
  • 连接器支持 OAuth 与 MCP 网关,接入腾讯文档、会议等资源
  • 工作区后端可选本地磁盘、Docker 沙箱、PostgreSQL 或 COS/S3

容易踩的坑

默认监听 8088 端口,首次启动需设置符合策略的 OCTOP_DEFAULT_PASSWORD,否则进入初始化向导;数据默认落在 ~/.octop/,Docker 部署需挂载 /data/.octop 才能持久化;反向代理子路径部署需用 VITE_BASE_PATH 重新构建前端并剥离前缀。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v1.0.3b4
  1. v1.0.3b4最新正式版2026-11-06 · 2026-11-06 02:33 UTC

    新增

    • 工作台增加云主机页:授权后查看腾讯云 CVM,并由常驻运维专家巡检和变更
    • 后台标签页的定时提醒改为系统通知
    • 启动时同步新的预置模型,腾讯云通道支持 HY4

    修复

    • 共享专家能用查看者的自定义 MCP 名称
    • 编辑团队会保存示例头像
    • Docker 精简镜像在编译器已移除后仍能发布

    变更

    • 多实例部署时,腾讯云授权改存在控制面;单机仍用本地文件
    • 云服务器页移到工作台末尾,并注明目前只支持腾讯云 CVM
    • 默认 Docker 标签改为精简版,完整版使用 :<version>-full 和 :full
    • 连接器可按类别筛选,大额 token 用量会缩写
    • 升级 octop-harness 至 1.0.8

    Downloads

    Windows

    Desktop installer (Recommended)
    Portable

    macOS

    Desktop installer (Recommended)
    Portable

    Linux

    Desktop installer (Recommended)
    Portable

    Docker image

    • Lite: ghcr.io/tencentcloud/octop:1.0.3b4 (:latest)
    • Full: ghcr.io/tencentcloud/octop:1.0.3b4-full (:full)

    fnOS NAS

    What's Changed

    Full Changelog: https://github.com/TencentCloud/Octop/compare/v1.0.3b3...v1.0.3b4

  2. v1.0.3b32026-11-04 · 2026-11-04 16:39 UTC
    查看更新说明

    新增

    • PostgreSQL 可存放技能包和知识库。多实例共用定时任务、频道、头像、插件和已发布专家
    • Docker 与飞牛增加精简版。存储后端增加火山引擎 TOS
    • 可预建 LDAP 账号,聊天列表可隐藏任意专家

    修复

    • 专家工作区落到允许的存储根下。共享连接器只有创建者能改
    • 聊天历史不再错序,未答完的提问不会被别的会话接走
    • 超长图片先缩小再发送。失效的默认模型会自动换掉
    • 升级记忆库:长会话分批提炼,重启后不重跑
    • 安装清理不再删掉运行环境。PostgreSQL 上的知识库检索和关怀去重恢复正常

    变更

    • 升级 octop-harness 至 1.0.7
    • 内置专家并入专家市场,安装包不再自带市场目录

    Downloads

    Windows

    Desktop installer (Recommended)
    Portable

    macOS

    Desktop installer (Recommended)
    Portable

    Linux

    Desktop installer (Recommended)
    Portable

    Docker image

    • Lite: ghcr.io/tencentcloud/octop:1.0.3b3 (:latest)
    • Full: ghcr.io/tencentcloud/octop:1.0.3b3-full (:full)

    fnOS NAS

    What's Changed

  3. v1.0.3b22026-11-02 · 2026-11-02 01:15 UTC
    查看更新说明

    新增

    • 账号支持 TOTP 与 Passkey:二次验证、无密码登录和恢复码
    • 新增 ragflow 知识库连接器

    修复

    • 记住登录会自动续期,改密码会退出其他设备。缺 MFA 表的旧库会自动补齐
    • 极简模式里,专家会话超过 10 条可以继续展开。长代码在气泡里换行,已结束的一轮不会在历史加载后再出现一次
    • 停用的会话模型回到 Auto。钉钉和微信切换时,草稿与二维码不再串台,登录回调会保留转发端口
    • 更早回合生成的文件不会再次发出。对话轨迹记下模型实际收到的系统提示

    变更

    • 通行密钥登录默认关闭,要在应用设置里打开。修改密码放在「账户安全」里
    • 虚拟桌面和系统浏览器默认不启动。未选 MBTI 时显示「未设置」
    • 升级 octop-harness 1.0.6

    Downloads

    Windows

    Desktop installer (Recommended)
    Portable

    macOS

    Desktop installer (Recommended)
    Portable

    Linux

    Desktop installer (Recommended)
    Portable

    fnOS NAS

    What's Changed

  4. v1.0.3b12026-10-25 · 2026-10-25 03:36 UTC
    查看更新说明

    新增

    • 建用户时可以同时创建一个默认专家。权限按页面 Tab 拆开,也可以按组折叠
    • 用户组可以限制技能包、知识库、连接器、模型、存储和专家谁能看见
    • 技能包可以共享,并用文件树编辑。创建专家、团队等资源时可以选头像
    • 表单和对话可以让 AI 润色。搜索增加 DeepSeek 与元宝,模型支持 OpenAI Responses API

    修复

    • 云端协同共享后可以直接对话。回复进行中不会被刷新冲掉,也不能删掉这场会话
    • 手机截图写到专家自己的工作区。只改定时任务文案时,间隔任务不再重新计时
    • 浏览器工作台恢复中文输入。主动关怀等对话安静后再发
    • 向导密码随数据目录迁移。Linux 桌面无边框窗口可以拖边缘调整大小

    变更

    • 云端协同默认打码对端地址和账号。共享来的资源在头像上做标记
    • 支持子路径部署。飞牛原生包标记为 x86

    安全

    • 密钥改为加密保存,旧明文仍能读出。插件上传和解压限制了体积

    Downloads

    Windows

    Desktop installer (Recommended)
    Portable

    macOS

    Desktop installer (Recommended)
    Portable

    Linux

    Desktop installer (Recommended)
    Portable

    fnOS NAS

    What's Changed

  5. v1.0.22026-10-18 · 2026-10-18 15:09 UTC
    查看更新说明

    新增

    • 两台 Octop 可以连起来用:通过云端协同使用对方的专家,能聊天,也能改对方工作区里的文件
    • 专家可以组队。主持人负责分派任务和收尾总结,成员的回复会回到聊天,也会同步到即时通讯
    • 新连接器:企查查、OpenAlex、语雀、Obsidian、Agent Mail,以及钉钉命令行(设备码登录后可查通讯录、日程和文档)
    • 可以用公司的 LDAP 账号登录。Telegram 机器人可以限定哪些用户能跟它说话
    • 记忆可以手改「用户档案」和「强记忆」。和已有记忆打架时先请你确认,不会悄悄覆盖;也可以备份和恢复
    • 技能和技能包可以导出成一个 ZIP,换一台机器再导入。技能包可以关掉别人的打包下载
    • 定时任务可以只跑一次,跑完自动停用,仍留在列表里。聊天进行中可以再补一句,不用等这一轮结束
    • 每个专家可以设定默认对话方式:问答、规划或动手。侧栏可以按自己的账号重新排列
    • 语音支持腾讯云边说边出字。当前模型不可用时,可以按健康状态自动换一个
    • 知识库旁边可以按文件夹浏览文档。新增业务流程、知识工作等专家模板。内置助手可以回答产品和用法问题
    • 别的程序可以通过 Agent MCP 网关调用这个 Agent。ONNX 模型可以不连 Hugging Face 直接加载
    • 新增钉钉 CLI 连接器:通过官方钉钉 Workspace CLI(dws)操作通讯录、聊天、日程、文档等;保存后在连接器设置里用设备码登录授权钉钉账号,默认使用钉钉官方应用,也可填写自建应用的 AppKey / AppSecret(#930)
    • 聊天侧栏可置顶专家,并按专家名或会话标题搜索
    • 新增业务流程专家模板,涵盖 SOP、操作手册、流程优化、风险评估、供应商评估和运营报告;中文界面默认使用中文,基于用户提供的材料工作,无需连接器。
    • 自建技能可以单个或批量导出为一个 ZIP;技能包也可以整包导出为同一个 ZIP 格式,再导入到其他专家或技能包(#260)。技能包可以关闭打包下载,关闭后其他用户不能导出 ZIP,创建者和管理员仍可下载
    • 记忆页新增「用户档案」Tab 手动编辑 USER.md,与「强记忆」复用编辑器和会话快照;Agent 文件工具只读。保存后核对 USER.md/MEMORY.md 与普通记忆:手动文档优先,明确冲突转候选审核并提示用户,重复内容避免重复召回。停止的 Agent 也可检查,语义检查不确定或不可用时明确提示,旧版本候选禁止采纳。
    • 记忆页新增「强记忆」Tab,用户可手动编辑 MEMORY.md,支持停止状态的 Agent。每个会话首次加载全文快照并持续复用,修改对新会话生效。用户说「记住」通过 memory_save 保存到 octop-memory,Agent 不再自动改写 MEMORY.md。
    • 聊天侧栏置顶专家;业务流程专家;技能与技能包导出 ZIP
    • 记忆页可手改用户档案与强记忆,冲突转入审核
    • 技能、工具与团队的决策模型;通道插件;模型健康切换
    • 对外 Agent MCP 网关;ONNX 模型可离线加载
    • 对话 mid-turn steering
    • 当前专家记忆备份、恢复与存储维护
    • Telegram 可限制允许的用户 ID
    • Obsidian CLI 连接器;内置连接器目录改为中英文 JSON
    • arXiv 论文检索;Telegram 可限制允许的用户 ID
    • 腾讯云实时语音;记忆提炼预算与超时可配置
    • 云端桥接命令行;会话列表显示进行中与待处理状态
    • 权限选择与自定义侧栏对齐,对话始终可用
    • Agent Mail 连接器(授权、邮件工具、新邮件任务)
    • LDAP 目录登录
    • 专家默认对话模式;输入栏「+」菜单;未开审批时隐藏批准入口
    • 飞牛 ARM 安装包与多架构镜像
    • 邮箱连接器读取含裸非 ASCII 字节邮件头(如未 MIME 编码的中文发件人/主题)时崩溃 Object of type Header is not JSON serializable:search_emails/read_email 改用 email.policy.default 解析并统一 str() 转换,同时自动解码 MIME 编码头为可读文本;正文中声明未知字符集(如 unknown-8bit)时回退 UTF-8 而非抛 LookupError。影响所有基于该通用 IMAP/SMTP 适配器的邮箱(QQ/网易/Gmail 等)。
    • 专家可配置默认对话模式(Ask / Plan / Craft):新建 / 编辑专家及从专家创建时可选,新建对话与无模式粘性的线程(含 IM / CLI / cron 渠道)按该默认解析,缺省为 Craft;已有对话保持各自粘性的模式不变(Fixes #1310)。
    • 记忆提炼调用参数可配置:记忆设置页新增提炼输出预算、单次提炼/批量整理等待超时;API 另支持 extract_extra_body 传递思考开关等厂商参数。参数经 agent 配置透传到 harness 的记忆辅助调用,与提炼时机(空闲/间隔)相互独立,深度思考的本地模型不再必然撑爆默认 120 秒读取超时(Fixes #1360,需配套 octop-harness / octop-memory 的同名变更)。
    • Octop↔Octop 云端桥接,经隧道使用远程专家(聊天与工作区可写;工具/插件/渠道部分可写;技能包、全局 ACP、连接器、知识库仅本机)
    • 内置助手可回答产品与使用问题
    • 可配置 Ollama 本地模型下载目录
    • 账号可自定义侧边栏;角色改为存模板 id(账号侧栏与权限快照,不是运行时角色同步)
    • 侧栏可按账号自定义;角色模板 id 持久化
    • 角色模板、邀请快照与头像;登录页「记住登录状态」
    • 企查查同时支持一键 OAuth 与 API Key
    • 团队产物、工具轨迹与主持人收尾;管理员批量策略与令牌
    • Teams 主持人改写派工,成员回复同步 IM
    • 企查查、OpenAlex 连接器
    • 技能包新增「复制策略」(copy_policy,默认 snapshot 行为不变):创建者/管理员可按包设为 lock(复制出的工作区副本带 origin/locked 水印,非创建者在工作区写接口被拒)或 deny(复制端点 403、前端按钮禁用);复制成功与拒绝均落 audit。锁定副本在 Agent 工具层的写保护依赖 harness 侧配合,已在 issue 中单列(#770)
    • 登录验证码新增极验行为验 v4(#870):设置页配置 captcha_id / captcha_key,登录弹窗完成验证,服务端按官方协议 HMAC-SHA256 签名后到 gcaptcha4 二次校验(form-urlencoded,仅 result=success 放行)
    • 对话支持默认折叠思考与工具过程(浏览器本地偏好)(#718)
    • 对话中可隐藏不常用的共享专家(浏览器本地偏好)(#589)
    • 腾讯云语音新增实时(流式)识别:开启后输入框麦克风为按住说话,边说边显示中间结果、松开即出全文;凭据仅保存在服务端,浏览器只收到开关状态;配置存于语音 provider 的 extra_json,无数据库迁移

    变更

    • 聊天侧栏分成专家、团队、云端三块;还没有团队或云端连接时,可以直接去创建
    • 个性化里的技能、子智能体、工具、插件、性格和记忆可以分别授权,不必一次全开
    • 输入栏不常用的入口收进「+」。没有开启审批时,不再出现批准按钮
    • 飞牛提供 ARM 安装包,安装后走建账号向导
    • 用户消息的复制、编辑按钮一直显示
    • 升级 octop-memory 1.0.2、octop-harness 1.0.4、octop-gateway 1.0.3
    • 升级 octop-harness 1.0.3 与 octop-gateway 1.0.2
    • 头像、技能卡片、个人设置抽屉与登录页外观
    • 升级 octop-harness 与 octop-memory;README 加入 Octop Pet
    • octop-harness 升到 1.0.1;飞牛安装改为建账号向导
    • 更新 README 路线图、锚点与产品名链接
    • README 路线图与产品链接更新
    • 运行时依赖切换为 octop-harness / octop-gateway / octop-memory / octop-browser 1.0.0
    • 升级 harness-agent 至 1.0.14;Dashboard 空状态与聊天输入交互微调
    • 连接器 OAuth 回调对重定向 URL 和错误消息安全编码,拒绝外站和控制字符绕过;弹窗仅向同源窗口发送授权通知,并保留回跳路径的查询参数与片段

    修复

    • 中文 Windows 上,搜索或执行命令碰到编码问题时,不再把整轮对话判失败,也不再把命令输出弄丢
    • 旧版 Word(.doc)在知识库里改为显示抽出的文字,在工作区、对话和技能里改为下载
    • 云端团队刷新页面后,正在生成的成员回复还在。对方拒绝登录时,不会把你自己的账号退出
    • 删掉会话会一并清掉它留下的数据。远程存储卡住时,不再挡住整个服务启动
    • 邮件标题里没有按规范编码的中文,可以正

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Octop is an open-source, self-hosted AI assistant. It's not just a tool — it's a digital life form that can operate in parallel. Through its multi-agent architecture, it builds an intelligent environment that is both independent and collaborative for teams, families, and individuals. Best of all, it runs entirely on your machine — the fully self-hosted design means privacy is never a compromise, while single-process startup makes the powerful web console, CLI, and IM integrations readily accessible.

    Chat through the Web Dashboard, Feishu, DingTalk, QQ, WeChat, Telegram, Discord, WeCom, or programmatic HTTP/SSE/WebSocket. Extend capabilities with the expert library, Connectors (OAuth + MCP), and ACP integration for IDE workflows.

    ✨ Highlights

    FeatureDescription
    👥Multi-user expert teamOne admin, shared household; built-in expert library and expert market — switch specialists per scenario
    🤝Cloud collaborationLink this Octop to another instance to browse peer experts and chat across instances; history stays on the expert's side
    🎭MBTI personas16 personality templates plus an interactive quiz — give each agent a distinct character
    🎯AgentTeams (Beta)A coordinator schedules multiple experts on multi-step work; details
    🔒Security built-inJWT multi-user isolation, tool approval, shell command guardrails, and PII redaction — data stays local
    🔌Connector ecosystemTencent suite (Docs, Meeting, News, …); OAuth and MCP gateway extend resource boundaries — supported connectors
    💾Pluggable workspace backendsLocal disk, Docker sandbox, PostgreSQL, or COS/S3 for agent files — separate from the control-plane DB
    🧠Portable memoryPowered by Octop Memory; memory migrates with the workspace
    📚Knowledge baseRAG over your documents; share corpora within a deployment and ground answers in your private data
    🧩PluginsExtend Octop with third-party plugins; bundled plugins are seeded and toggled on demand
    ↔️ACP bidirectionaloctop acp for IDE/terminal AI; delegate to OpenCode / Claude Code with permission gates
    💻Terminal AI+Interactive shell in the browser — AI-assisted command execution and troubleshooting
    🌐Browser AI+Headless Chromium sessions for web automation, screenshots, and remote browsing
    🖥️Remote desktopLive screen and input from the dashboard on Linux, Windows, and macOS — remote office work and GUI apps; one-click isolated desktop on headless Linux
    🪟Desktop clientNative Windows / macOS / Linux apps (and FnOS packages) alongside the web dashboard
    🏠Self-hostedDashboard, CLI, IM channels, and cron in one octop run — all data under ~/.octop/

    📌 Overview

    Octop is a self-hosted AI assistant platform for households and small teams. It runs a single process that serves a web dashboard, a CLI, IM channels (Feishu, DingTalk, QQ, WeChat, Telegram, Discord, WeCom, and more), and cron automation — all sharing one control-plane database under ~/.octop/ (SQLite by default; PostgreSQL optional).

    Octop's design goal: keep every conversation, workspace, and credential on your own machine, while giving each user a personal team of specialized agents they can switch between per task.

    • Personal assistant — let a dedicated agent write weekly reports, organize notes, and manage your schedule; memory persists with the workspace.
    • Family sharing — one admin account, the whole household; assign different agents and experts per member; share experts and knowledge bases when useful.
    • Team helper — AgentTeams or parallel agents, bridging Feishu / DingTalk / WeCom / WeChat to route tasks into group chats.
    • Developer boost — delegate coding tasks to OpenCode / Claude Code via ACP, or troubleshoot from the terminal with AI assistance.
    • Web automation — use Browser AI+ and remote desktop for forms, screenshots, and GUI apps.
    • Scheduled tasks — configure cron in natural language so the agent pushes or runs jobs on time every day.

    🧠 Core Technology

    LayerTechnology
    LanguagePython 3.12+
    Web frameworkFastAPI + uvicorn
    Agent runtimeOctop Harness
    GatewayOctop Gateway
    Control plane DBSQLite (WAL, default) or PostgreSQL (optional)
    FrontendReact 18 + TypeScript + Vite + Ant Design
    SchedulingAPScheduler
    ACPagent-client-protocol
    Build / qualityhatchling · ruff · mypy · pytest

    Octop is built on the Octop Harness stack — a set of focused runtimes that Octop composes into one process:

    • Octop Harness — Agent runtime: model routing, tools, skills, and conversation checkpointing.
    • Octop Gateway — multi-platform IM channel bridge that normalizes incoming messages into a single processing pipeline.
    • Octop Memory — hierarchical recall with full-text search, so an agent's memory travels with its workspace.
    • Octop Browser — CDP-based browser automation with persistent profiles for web tasks.

    Instead of an external queue or message broker, Octop routes every surface — Web UI, IM, and cron — through one in-process HarnessProcessor. The result is a single, restart-safe process whose entire state is rebuilt from the control-plane database on boot (local SQLite by default; PostgreSQL optional).

    🤔 Features

    Server & auth

    • Multi-user JWT authentication with admin role
    • First-run setup wizard (octop init)
    • Interactive API docs at /api/docs (off by default — set "enable_api_docs": true in config.json to enable)

    Experts

    • Multiple experts per user; each has its own workspace, providers, channels, and cron
    • 16 MBTI persona templates + custom system prompt
    • Expert library scanned at boot (infra/agents/experts/library/); expert market and in-deployment expert sharing
    • AgentTeams (Beta) — coordinator + member experts for multi-step tasks (docs/expert-teams.md)
    • Workspace backends (expert files): local disk, Docker sandbox, PostgreSQL, COS/S3, and other remote stores — distinct from the control-plane database

    Channels & automation

    • IM channels: Feishu, DingTalk, QQ, WeChat, Telegram, Discord, WeCom, and more
    • Proactive cron jobs with natural-language and slash-command triggers
    • Unified message processing across Web UI, IM, and cron surfaces

    Surfaces

    • Web dashboard — chat, experts / teams, connectors, channels, cron, knowledge, plugins, settings
    • Desktop client — native apps for Windows / macOS / Linux; FnOS packages for NAS
    • CLI — octop run, octop chats, octop acp, admin commands
    • HTTP/SSE/WebSocket API — full programmatic access
    • Remote desktop — dashboard control of the host desktop session

    Knowledge & plugins

    • Knowledge base — RAG over your documents; optional sharing within the same deployment
    • Plugins — install and manage third-party plugins (octop plugin); bundled plugins are seeded and toggled on demand from the dashboard

    ACP (Agent Client Protocol)

    Octop supports ACP in two directions:

    1. Inbound — external tools use your Octop agent

      octop acp --agent main   # stdio ACP server for Zed, OpenCode, …
      
    2. Outbound — Octop delegates to external coding agents

      • Dashboard → ACP (/acp): configure runners (global per user)
      • Enable acp_runner per agent, then delegate in chat

    Built-in outbound runners include OpenCode, CodeBuddy, Claude Code, and Codex.

    Full setup: docs/acp.md.

    🧭 Roadmap

    Here are our mid-to-long term plans:

    Shipped

    • Shared resource pool — a central pool of skills and sub-agents that any user can drop into a new expert without rebuilding from scratch.
    • Expert sharing — publish your experts to other users in the same deployment, so good configurations are reused instead of recreated.
    • PC client — native desktop apps for Windows / macOS / Linux alongside the web dashboard and IM channels.

    In progress

    • AgentTeams (Beta) — let one coordinator autonomously schedule and orchestrate multiple experts to tackle multi-step tasks.
    • Mobile client (closed beta) — native mobile apps currently in internal testing.

    Planned

    • Browser & terminal polishing — browser skill recording (capture a workflow and replay it as a skill) and a more capable terminal AI assistant.
    • Self-evolution — automatically distill everyday conversations into reusable skills, so the assistant grows with you.
    • Managed Agents — platform-hosted agent lifecycle (provision, scale, and operate agents without managing the full self-hosted stack yourself).
    • Project — project-scoped workspaces that group agents, files, and conversations around a shared goal.
    • Cloud–edge continuum — run Octop locally while offloading selected tasks to the cloud, so light work stays on-device and heavier jobs use remote capacity when you need it.
    • Plugin marketplace — a curated market to discover, install, and update third-party plugins without leaving Octop.
    • Conversational control plane — deepen Octop’s own skills so chat can cover the full dashboard surface: create experts, wire channels, manage knowledge bases, and scaffold plugins end-to-end.

    This roadmap may shift as the community grows; treat it as indicative only.

    🚀 Quick Start

    Prerequisites

    • macOS / Linux / Windows
    • No pre-installed Python required — the installer uses uv to provision Python 3.12 in an isolated venv under ~/.octop/
    • A modern multi-core CPU with a few GB of RAM for the process plus model/embedding caches; enough disk for the database, agent workspaces, and document corpora

    1. Install

    macOS / Linux — one-line installer (recommended):

    curl -fsSL https://download.octop.cloud/octop/scripts/install.sh | bash
    

    Windows (PowerShell):

    irm https://download.octop.cloud/octop/scripts/install.ps1 | iex
    

    Windows (cmd) — download and run, or from a cloned repo:

    curl -fsSL https://download.octop.cloud/octop/scripts/install.bat -o install.bat
    install.bat
    

    After installation, open a new terminal or reload your shell:

    source ~/.zshrc   # Zsh
    # or
    source ~/.bashrc  # Bash
    

    The installer places octop on your PATH via ~/.octop/bin. Optional extras:

    # Download Playwright Chromium for browser automation (skipped if a system Chrome/Chromium is already present)
    curl -fsSL https://download.octop.cloud/octop/scripts/install.sh | bash -s -- --extras browser
    

    See scripts/README.md for all install options (--version, --from-source, --mirror, Windows flags).

    Desktop app (GUI, no terminal) — grab the artifact for your platform from GitHub Releases:

    PlatformArtifact
    WindowsOctop-desktop-windows-amd64-<version>.exe (64-bit) / Octop-desktop-windows-arm64-<version>.exe (ARM64) — NSIS installer
    macOSOctop-desktop-darwin-arm64-<version>.dmg (Apple Silicon) / Octop-desktop-darwin-amd64-<version>.dmg (Intel)
    LinuxOctop-desktop-linux-amd64-<version>.tar.gz / Octop-desktop-linux-arm64-<version>.tar.gz
    FnOS NASOctop-fnos-docker-lite-<version>.fpk (smaller image) / Octop-fnos-docker-<version>.fpk (full: desktop, OCR, local models) / Octop-fnos-native-amd64-<version>.fpk (x86_64, no Docker) / Octop-fnos-native-arm64-<version>.fpk (ARM64 fallback if no Docker) — install via App Center

    See desktop/README.md for the desktop shell and fnos/README.md for the FnOS packaging guide.

    Alternative — PyPI (if you already manage Python yourself):

    pip install octop
    # optional local ONNX embedding model cache (Models → Local): pip install "octop[local-embedding]"
    # Downloads catalog weights under ~/.octop/embedding_models; not chat, not Memory.
    # Browser automation uses the bundled Playwright package; install Chromium via the installer --extras browser,
    # the dashboard, or: python -m playwright install chromium
    

    From a source checkout with uv:

    uv sync --extra local-embedding
    

    2. Initialize

    octop init
    

    The interactive wizard creates the SQLite database, JWT secret, and first admin account under ~/.octop/.

    3. Run

    # Foreground (API + Web dashboard)
    octop run
    
    # Custom host / port
    octop run --host 0.0.0.0 --port 8088
    
    # Register as a system service (systemd / launchd / Windows service)
    octop service start
    

    Open http://127.0.0.1:8088. With Docker, a valid OCTOP_DEFAULT_PASSWORD creates the admin on first boot (credentials in /data/.octop/credential.txt); if it is unset or rejected, open the setup wizard (unlock password in /data/.octop/octop-login.txt). Interactive octop init / the setup wizard asks you to choose a password (≥8 characters, letters and digits).

    Docker (recommended for production)

    # Build and start
    docker compose -f docker/docker-compose.yml up -d
    
    # China mirror when ghcr.io is unreachable (no local build)
    docker compose -f docker/docker-compose.cn.yml up -d
    
    # Or build manually
    bash docker/docker_build.sh
    docker run -d \
      -p 8088:8088 \
      -v octop-data:/data/.octop \
      -e HOME=/data \
      -e OCTOP_DEFAULT_PASSWORD="<strong-password-or-omit-for-setup-wizard>" \
      octop:latest
    

    Open http://localhost:8088. A valid OCTOP_DEFAULT_PASSWORD creates the admin on first boot and writes credentials to /data/.octop/credential.txt. If it is unset or rejected by the password policy, no admin is created — complete the setup wizard (unlock password in /data/.octop/octop-login.txt). Override the username via OCTOP_ADMIN_USERNAME.

    Password policy: at least 8 characters with letters and digits.

    VariableDefaultDescription
    OCTOP_PORT8088HTTP listen port
    OCTOP_DEFAULT_PASSWORD(unset)First-run admin password (Docker bootstrap). Valid → create admin; unset or rejected → setup wizard
    OCTOP_ADMIN_USERNAMEadminFirst-run admin username
    OCTOP_DATA~/.octopHost data directory (compose bind mount)

    See .env.example for the full list.

    To serve the dashboard under a reverse-proxy subpath (for example https://example.com/octop/), rebuild the frontend with VITE_BASE_PATH=/octop/ and strip that prefix in the proxy (nginx proxy_pass …/;). The default build assumes the domain root.

    Deploy with Cloud

    📑 Contents

    📦 Install options

    MethodPlatformDescription
    Remote one-linermacOS / Linuxcurl …/octop/install.sh | bash
    Remote one-linerWindowsirm …/octop/install.ps1 | iex or install.bat
    Local scriptmacOS / Linuxbash scripts/install.sh
    Local scriptWindowsscripts\install.bat or install.ps1
    PyPIAnypip install octop (optional extras such as local-embedding)
    DockerAnydocker/docker-compose.yml; China mirror: docker/docker-compose.cn.yml

    All install scripts provision an isolated environment at ~/.octop/venv and a ~/.octop/bin/octop wrapper — they do not touch system Python.

    Upgrade

    octop update replaces only the wheel/binary — your ~/.octop/ database, workspaces, secrets, and config.json are preserved:

    octop update          # fetch and install the latest octop, then restart the service if one is registered
    

    The schema migrates automatically on next boot; run octop init only if the setup wizard prompts for a migration. Always back up first (octop backup) before a cross-version upgrade.

    ⚙️ Configuration

    All runtime state lives in ~/.octop/. Manage it via CLI or edit files directly.

    # LLM providers and models
    octop models
    octop provider list
    
    # IM channels
    octop channel list
    octop channel install
    
    # Skills (per agent)
    octop skills list --agent main
    
    # Cron jobs
    octop cron list
    octop cron create --help
    
    # Users (admin)
    octop user list
    

    Supported LLM providers

    OpenAI-compatible APIs, DashScope (Qwen), Ollama, and other presets — configure per agent in the dashboard or via octop provider.

    Supported channels

    ChannelCredentials
    FeishuApp ID, App Secret
    DingTalkApp Key, App Secret
    QQBot AppID, Token
    WeChatQR bind / account credentials; CLI
    TelegramBot Token
    DiscordBot Token; all accessible channels allowed by default, optional channel/DM allowlists; setup and testing
    WeComCorp ID, Agent Secret
    Web DashboardEnabled by default

    Other kinds (e.g. Yuanbao, Xiaoyi, MQTT) are available via the gateway — see channel setup in the dashboard or CLI.

    Supported connectors

    Built-in OAuth / MCP connectors include Tencent Docs, Tencent Meeting, Notion, TickTick, OpenAlex, Feishu CLI, WeCom CLI, Agent Mail, Obsidian, WeKnora, Dify, and more. Names and descriptions are localized (en / zh).

    Full catalog, auth kinds, and MCP modes: docs/connectors.md. Custom MCP servers can be added in the dashboard.

    📖 CLI reference

    CommandDescription
    octop initBootstrap ~/.octop/ (DB, admin, JWT secret)
    octop runStart Octop in the foreground
    octop service startInstall and start as a system service
    octop service stopStop the system service
    octop agentCreate, list, start/stop agents
    octop channelInstall and manage IM channels
    octop chatsREPL and session management
    octop acpStdio ACP server for IDE integration
    octop cronManage scheduled tasks
    octop modelsProvider presets and model resolution
    octop skillsEnable/disable per-agent skills
    octop pluginInstall and manage third-party plugins
    octop backupExport / restore backups
    octop cleanRemove CLI state or wipe ~/.octop/
    octop memory listList running agents eligible for memory maintenance; no database changes.
    octop memory slim [--agent ID]Back up and slim SQLite memory through the running host; uses the selected agent or prompts by number. Shows terminal and dashboard progress. Details
    octop memory slim --allSequentially maintain all eligible running agents, with per-agent progress; stops on the first failure.
    octop updateCheck for and install updates

    In signed-in dashboard or local CLI chat, /memory slim explains maintenance for the current agent; /memory slim --all lists your eligible agents. Add --confirm to start after reviewing the impact. Use /memory status for progress/results. Chat stays available until maintenance is confirmed and begins. External IM maintenance requires verified sender permissions and is not enabled yet.

    Full reference: docs/cli.md.

    🖥️ Web dashboard

    After octop run, open http://127.0.0.1:8088.

    • Chat — real-time conversation with experts and teams
    • Cloud — Tencent CVM fleet overview, instance metrics, and a resident ops expert
    • Experts — create experts, pick templates / MBTI personas, share or publish experts, configure providers
    • AgentTeams (Beta) — coordinator + member experts for multi-step work
    • Connectors — OAuth apps and MCP gateways
    • Channels — IM platform setup
    • Cron — visual cron job management
    • Knowledge base — manage document corpora, semantic retrieval, and in-deployment sharing
    • Plugins — install, enable, and configure plugins
    • Remote desktop — live screen and input from the dashboard
    • ACP — configure outbound coding-agent runners
    • Settings — users, security, TLS, system

    Interactive API docs: http://127.0.0.1:8088/api/docs (disabled by default — enable by setting "enable_api_docs": true in config.json)

    📁 Data directory

    ~/.octop/                          ← install & data root
    ├── config.json                    # process config (optional database section)
    ├── octop.db                       # SQLite — users, agents, channels, cron, …
    ├── secrets/                       # JWT secret, channel tokens
    ├── agents/<agent_id>/             # per-agent workspace (SOUL.md, skills, …)
    ├── security/tool_guard/           # shell command allow/deny rules
    ├── logs/                          # runtime logs
    ├── venv/                          # uv-managed Python (installer layout)
    └── bin/octop                      # PATH wrapper → venv/bin/octop
    

    The control plane can also use PostgreSQL — set database in config.json, or OCTOP_DATABASE_* / the first-run wizard. With PostgreSQL, agent memory reuses the same DSN by default (per-agent schema); to keep file-based memory, set "memory": { "backend": { "type": "sqlite" } } in the agent config. See docs/configuration.md and docs/adr/002-database-backends.md.

    See docs/configuration.md for env vars and config.json. Hosts that cannot reach the public catalog can run a private plugin and expert market; the HTTP contract is in docs/private-market.md. A private SkillHub-compatible skill market is docs/skill-market.md (SKILL_MARKET_ORIGIN).

    🏗️ Architecture

    OctopServer
     ├─ DatabasePool            SQLite (WAL) or PostgreSQL
     ├─ SharedServices       DI root — every repo + config
     ├─ ExpertCatalog        scans agents/experts/library/ at boot
     ├─ UserManager
     │   └─ HarnessAgentManager (per user)
     │       └─ AgentRuntime (per agent)
     │           ├─ HarnessAgent      Agent runtime (octop-harness)
     │           ├─ HarnessProcessor  IM / UI / cron entry point
     │           ├─ ChannelManager    IM connections (octop-gateway)
     │           └─ CronManager       APScheduler
     └─ FastAPI app (uvicorn)
    

    Single process. Restart rebuilds state from the control-plane database (local SQLite by default; PostgreSQL optional).

    See docs/architecture.md, docs/adr/001-single-process-model.md, and docs/adr/002-database-backends.md.

    📁 Project layout

    src/octop/
      config.py    env-var config
      launch.py    OctopServer boot + uvicorn
      infra/       business core (agents, gateway, cron, db, users, …)
      api/         HTTP layer — FastAPI app, routers, JWT, SSE
      cli/         CLI layer — Click commands
      dashboard/   built React SPA (wheel artifact)
    
    dashboard/     frontend source (Vite) — edit here, run make build-frontend
    
    docker/        Docker Compose, entrypoint, build & deploy scripts
    tests/         unit/ + integration/
    

    🛠️ Development

    Prerequisites: Python 3.12+, Node 18+, uv

    # Backend
    make install          # pip install -e ".[dev]"
    make all              # format-all + lint + typecheck + test (ship bar)
    
    # Frontend (separate terminal)
    make dev-frontend     # Vite dev server on :5173 (override with VITE_DEV_PORT)
    make build-frontend   # production build → src/octop/dashboard/
    cd dashboard && npx tsc -b
    

    Individual targets: make test, make lint, make typecheck, make format.

    🔒 Security & privacy

    • Local-first: Config, chats, workspaces, and credentials live under ~/.octop/ on your machine.
    • Multi-user isolation: JWT auth with per-user agents and workspaces.
    • PII redaction & tool approval: sensitive data is redacted before it leaves the workspace, and risky tools or shell commands require explicit approval under the guardrail rules.
    • Tool guardrails: User-editable shell command rules under ~/.octop/security/tool_guard/.
    • No vendor lock-in: Swap LLM providers, storage backends, and channels without rewriting agents.

    🤝 Contributing

    Contributions are welcome:

    1. Fork the repository
    2. Create a feature branch (git checkout -b feature/amazing-feature)
    3. Run make all (backend) or make check-all (full stack) before submitting
    4. Open a Pull Request

    See CONTRIBUTING.md for the full guide. Security issues: SECURITY.md.

    Module boundaries and coding conventions: AGENTS.md.

    📋 Changelog

    See CHANGELOG.md for release history.

    🔗 Related projects

    ProjectDescription
    Octop HarnessAgent runtime — model routing, tools, skills, checkpointing
    Octop GatewayMulti-platform IM channel bridge
    Octop MemoryHierarchical recall and FTS search
    Octop BrowserCDP browser automation with persistent profiles
    Octop PetA desktop pet for Octop

    💬 Community

    WeChat

    Search for 腾讯Octop in WeChat, or scan:

    WeCom Customer Group (CN)

    For the customer WeCom support group, scan:

    Please scan the QR code to join the group. For any questions or assistance, please contact the group admin directly.

    📄 License

    This project is licensed under the MIT License.

    ✨ Contributors

    Thanks to all contributors: