Octop is a self-hosted assistant platform for households and small teams. A single process serves a web dashboard, a CLI, instant-messaging channels, and cron automation, all sharing one SQLite database under ~/.octop/; restarting rebuilds the entire runtime state from that file. Each user gets multiple agents, and each agent has its own workspace, providers, channels, and scheduled jobs.
It is assembled from four focused runtimes: harness-agent for model routing, tools, skills, and conversation checkpointing; harness-gateway, a multi-platform IM bridge that normalizes inbound messages into one pipeline; harness-memory for hierarchical recall with full-text search that travels with the workspace; and harness-browser for Chrome DevTools Protocol automation with persistent profiles. Rather than an external queue or broker, every surface — web UI, IM, and cron — routes through one in-process HarnessProcessor. The stack is Python 3.12 with FastAPI and uvicorn, a React and TypeScript dashboard, APScheduler for timing, and SQLite in WAL mode through aiosqlite.
Agents are shaped from an expert library scanned at boot plus 16 MBTI persona templates and a custom system prompt, and workspaces can be backed by local disk, Docker containers, PostgreSQL, or COS/S3. Connectors extend reach through OAuth apps and an MCP gateway. Model providers cover OpenAI-compatible APIs, DashScope (Qwen), Ollama, and other presets, configured per agent.
Agent Client Protocol support runs both ways: octop acp --agent main exposes an Octop agent as a stdio ACP server for editors such as Zed and OpenCode, while enabling the acp_runner on an agent lets Octop delegate work outward to OpenCode, CodeBuddy, Claude Code, or Codex behind permission gates.
Features
- Single-process deployment: dashboard, CLI, IM channels, and cron start together with octop run, with all data under ~/.octop/
- Multi-user isolation: JWT authentication with an admin role, per-user agents and workspaces, and a first-run setup wizard
- IM channels: Feishu, DingTalk, QQ, Discord, and WeCom, each configured with its own credentials, alongside the web dashboard and an HTTP/SSE API
- Expert library and personas: switchable specialists scanned at boot plus 16 MBTI persona templates and an interactive quiz
- Bidirectional ACP: an inbound stdio ACP server for editors, and outbound delegation to external coding agents per agent
- Terminal and browser capabilities: an in-browser interactive shell and headless Chromium sessions for automation, screenshots, and remote browsing
- Remote desktop: live screen and input from the dashboard on Linux, Windows, and macOS, with a one-click isolated desktop on headless Linux
- Guardrails: user-editable shell allow and deny rules under ~/.octop/security/tool_guard/, tool approval, and PII redaction
- Pluggable storage: local disk, Docker containers, PostgreSQL, or COS/S3 as agent workspace backends
- Scheduled work: cron jobs triggered by natural language or slash commands, managed from the CLI or a visual dashboard page
- Portable memory: hierarchical recall with full-text search that migrates along with the workspace
- NAS packaging: installable on FnOS devices as a .fpk package, either Docker-backed or native
Integrates with
Claude Code
Terminal-based agentic coding tool that reads your codebase and runs tasks through natural-language commands
Codex
Lightweight coding agent that runs in your terminal
Model Context Protocol
Open protocol plus SDKs for connecting agents to tools and data sources.
-
Ollama
Runs open large language models locally without an API key