Citation and evidence

Octop

8 min full readUpdated 17 references

This article's verification

Report a problem with this article

More

Use this article

Raw MarkdownExplore connections

Improve this page

Suggest editRevision historyDiscussion

Browse categories

AI AgentsOpen Source AI

Cite this article

Octop is an open-source, self-hosted AI assistant platform published by Tencent through its TencentCloud project. It supports multiple users and multiple specialist agents, with a web dashboard, command-line interface, messaging integrations, and scheduled tasks. The project targets individuals, households, and small teams.[1]

Octop provides the application and agent-management layer rather than a single large language model. Operators choose the model providers and storage configuration. A local installation can use Ollama, while hosted model APIs and external integrations introduce network connections beyond the machine running Octop.[5]

Project overview

AttributeDetail
ProjectOctop, maintained in the TencentCloud organization.[1]
LicenseMIT.[2]
Language requirementPython 3.12 or later.[4]
BackendFastAPI and uvicorn.[4]
Agent runtimeOctop Harness, based on LangGraph.[3]
InterfacesWeb dashboard, CLI, HTTP API, and WebSocket chat.[3]
Default control-plane databaseSQLite; PostgreSQL is optional.[9]
Default service address127.0.0.1:8088.[10]

Expanded article table

The official announcement page dates the project's open-source introduction to July 10, 2026, and identifies LightClaw ACE as its predecessor.[16] The changelog records the 1.0.0 general-availability release on September 14, 2026. Subsequent releases added features including OAuth single sign-on and a bridge for remote Octop experts; the 1.0.2b5 notes are dated September 29, 2026.[15]

Agents, personas, and teams

An Octop installation can contain several agents for one account. Specialist configurations can be reused through the expert library and shared within the same deployment.[1]

Each agent can have an optional persona selected from 16 MBTI-style templates. These templates supply prompt text in SOUL.md, and a custom system prompt can be appended. The labels describe configured response styles, not a psychological assessment of the software.[8]

AgentTeams is documented as a beta feature.[1]

A team has a host agent and at least two member experts. The host receives the user's messages, rewrites work into assignments, dispatches those assignments, and summarizes the replies. Members retain their own workspaces and conversation checkpoints; the team does not merge them into a shared filesystem. Different members can work concurrently, while calls to the same member are serialized.[7]

Team coordination has operational limits. Stopping the host's current response does not cancel member work that is already queued or running. The team documentation also excludes nested teams and automatic startup of stopped members. Dispatch tracking and the harness inbox are held in memory, so a process restart can lose in-flight work even though stored conversations remain available.[7]

Model configuration

Administrators configure providers and enable their models in a shared available-model pool. Agents can use the default model or an explicit override; personal settings can also specify model and reasoning preferences. The provider guide describes automatic routing for individual messages and a preferred-model selection when a request does not call for another model.[5]

Supported configurations include OpenAI-compatible endpoints and Anthropic's API protocol. The local Ollama preset uses http://localhost:11434/v1 and does not require an API key by default. Knowledge-base embeddings can also be local or supplied by an online model. Consequently, local application storage and local model inference are separate configuration choices.[5]

Tools and interaction surfaces

CapabilityDocumented use
Messaging channelsRoute messages from Feishu, DingTalk, QQ, Discord, and WeCom into agents after configuring the platform's credentials.[6]
ConnectorsConnect external services through OAuth applications and Model Context Protocol gateways.[6]
Scheduled tasksCreate cron jobs in the dashboard or through natural-language and slash-command entry points.[6]
Browser controlUse Chromium sessions for web automation, screenshots, and remote browsing.[6]
Remote desktopView a desktop and control its keyboard and pointer from the dashboard.[6]
Document knowledge basesUse retrieval-augmented generation over documents, with optional sharing inside a deployment.[1]
PluginsInstall extensions and enable bundled plugins through the dashboard or CLI.[1]
Programmatic accessManage resources through /api; dashboard chat uses WebSocket streams, while tool-approval continuation has an SSE endpoint.[12]

Expanded article table

These surfaces do not all use the same transport or session. The architecture assigns separate default session keys to dashboard, CLI, and messaging conversations. Cron can either push text directly or invoke an agent and then deliver the result.[3]

Coding-agent integration

Octop supports Agent Client Protocol (ACP) in two directions.[11]

DirectionBehavior
Inboundoctop acp --agent main exposes an Octop agent to an external client such as Zed.[11]
OutboundAn Octop agent uses acp_runner to delegate work to an installed coding-agent CLI.[11]

Expanded article table

Both directions use JSON-RPC over standard input and output rather than an HTTP ACP endpoint. Outbound runners are configured per user, while the tool is enabled per agent. The documented runners include OpenCode and Claude Code, with the latter using an ACP adapter. External CLIs must be installed and authenticated on the host. Their permission prompts can be returned to the Octop conversation for a decision.[11]

Architecture and persistence

The main server combines the agent runtime, messaging gateway, scheduling, and API in one Python process. Its dashboard is a React and TypeScript application served with the backend; the browser accesses the API rather than opening the database directly.[3]

The single-process architecture avoids a separate task worker and an external queue such as Redis or RabbitMQ. Its architecture decision record identifies vertical scaling and CPU-intensive work blocking the event loop as trade-offs. PostgreSQL support does not by itself add horizontally scaled workers.[17]

Octop distinguishes the control plane, conversation checkpoints, agent memory, and workspace documents. Choosing a PostgreSQL database for administrative state is therefore not equivalent to moving every file into PostgreSQL.[9]

Storage layerDocumented arrangement
Control planeSQLite by default, or PostgreSQL for users, agents, channels, settings, and other administrative records.[9]
Conversation checkpointsSQLite by default; PostgreSQL memory configurations can use the corresponding PostgreSQL checkpoint saver.[9]
Agent memoryA workspace SQLite database by default. With a PostgreSQL control plane, memory can reuse its connection in a per-agent schema or be configured separately.[9]
Workspace documentsFiles such as persona text and skills are accessed through a workspace backend. Local files are the default; remote adapters include S3 and Tencent Cloud COS.[3]

Expanded article table

The database-backend decision record specifies a single active Octop writer and does not promise multi-instance writes. It also distinguishes SQLite file backups from PostgreSQL dumps and rejects restoring one engine's backup into the other. Portable memory pack/adopt is not supported for the PostgreSQL backend.[9]

Deployment and configuration

The repository documents Python-package, Docker, and desktop installation options for Windows, macOS, and Linux.[1] For a new server, octop run opens a setup workflow that selects the database, creates an administrator, and configures a model provider. Model configuration can be completed later.[6]

The default data root is ~/.octop/, overrideable with OCTOP_HOME. Process settings are stored in config.json, with environment variables taking precedence. The default loopback bind limits direct access to the same machine; changing the bind address enables access from other machines. TLS, CORS, upload limits, and authentication settings are separately configurable.[10]

CommandPurpose
octop runStart the foreground server.[14]
octop agent listList configured agents.[14]
octop agent useSelect an agent for subsequent commands.[14]
octop chatsAccess chat and session commands.[14]
octop channelManage messaging channels.[14]
octop cronManage scheduled jobs.[14]
octop backupExport or restore backups.[14]
octop --helpInspect the installed command set.[14]

Expanded article table

The CLI reference distinguishes offline database operations, HTTP or WebSocket attachment to a running server, and commands that start an embedded runtime. Their login requirements differ, so the CLI is not simply a wrapper around the web API.[14]

Access controls and data handling

The API distinguishes public routes, authenticated-user routes, resource-owner routes, and administrator routes. Authentication tokens expire, login attempts can be rate-limited, and rotating the JWT secret invalidates existing tokens.[12] Agent ownership checks compare the caller with the agent's stored user ID, with an administrator exception.[3]

Tool approval is configurable. The API documents thread-scoped approval policies including ask, allow_all, and allow_tools; an override does not change global settings. These controls should not be interpreted as an unconditional requirement to approve every tool action.[12]

Shell-command rules are stored as editable YAML. The rule-store implementation seeds bundled rules, validates replacement YAML, and supports resetting to defaults.[13] This is a configurable control, not evidence of a complete security audit or guaranteed containment.

Credentials also need configuration-specific handling. PostgreSQL passwords may be written into config.json by the setup workflow; the configuration guide recommends environment-based credentials and restricted file permissions for production. Agent workspace environment files are excluded from published expert snapshots.[10]

Hosted models, online embeddings, and external connectors still operate across their respective service boundaries, regardless of where Octop's local database is stored.[5][6]

References

  1. ^1 ^2 ^3 ^4 ^5 ^6 ^7TencentCloud. Octop README. Repository snapshot accessed October 7, 2026.
  2. ^Octop. MIT License. Copyright 2026.
  3. ^1 ^2 ^3 ^4 ^5 ^6TencentCloud. Octop Architecture. Accessed October 7, 2026.
  4. ^1 ^2TencentCloud. Octop package metadata. Accessed October 7, 2026.
  5. ^1 ^2 ^3 ^4Octop documentation. How to Configure LLM Providers and Models in Octop. Accessed October 7, 2026.
  6. ^1 ^2 ^3 ^4 ^5 ^6 ^7TencentCloud. Octop User Guide. Chinese-language guide. Accessed October 7, 2026.
  7. ^1 ^2TencentCloud. Expert team mode. Chinese-language design and behavior documentation. Accessed October 7, 2026.
  8. ^TencentCloud. Personas. Accessed October 7, 2026.
  9. ^1 ^2 ^3 ^4 ^5 ^6TencentCloud. ADR 002: Dual Database Backends. July 20, 2026.
  10. ^1 ^2 ^3TencentCloud. Configuration. Accessed October 7, 2026.
  11. ^1 ^2 ^3 ^4TencentCloud. ACP integration. Accessed October 7, 2026.
  12. ^1 ^2 ^3TencentCloud. API Reference. Accessed October 7, 2026.
  13. ^TencentCloud. ToolGuardRulesStore implementation. Accessed October 7, 2026.
  14. ^1 ^2 ^3 ^4 ^5 ^6 ^7 ^8 ^9TencentCloud. CLI Reference. Accessed October 7, 2026.
  15. ^TencentCloud. Octop Changelog. Entries for 1.0.0, 1.0.1, and 1.0.2b5.
  16. ^TencentCloud. Octop open-source announcement. Announcement dated July 10, 2026. Accessed October 7, 2026.
  17. ^TencentCloud. ADR 001: Single-Process, No External Queue. June 2026.

Improve this article

Add missing citations, update stale details, or suggest a clearer explanation. Every suggestion is reviewed for sourcing before it goes live.

v1 · 1,655 words · full history

Fact-checks are independent of edits: a reviewer re-verifies the article against its sources and stamps the date. How we verify

Research and drafting on this wiki are AI-assisted, under named human editorial standards. How AI is used here

Reviewer note: Independent full-article review against 17 primary and research references, October 7, 2026. Checked subject identity, specifications, availability, limitations and citation support.

Cite this page: AI Wiki. "Octop." aiwiki.ai, updated 6 Oct 2026, fact-checked 6 Oct 2026. CC BY 4.0. https://aiwiki.ai/wiki/octop

Suggest edit