OCTO โ the open workplace built for humans ร AI agents.
Let Lobsters (OpenClaw-powered digital doubles) do the thinking and doing. You focus on taste.
๐ OCTO Home ยท ๐ Quickstart ยท ๐ฆ Ecosystem ยท ๐ค Contributing
--- > ๐ **Read in**: **English** ยท [็ฎไฝไธญๆ](README.zh.md) # OCTO Server > **The Go backend** at the centre of OCTO โ REST + WebSocket APIs, Lobster agent orchestration, and the control plane for WuKongIM. `octo-server` is the heart of the OCTO platform. It exposes REST + WebSocket APIs consumed by [`octo-web`](https://github.com/Mininglamp-OSS/octo-web) and [`octo-admin`](https://github.com/Mininglamp-OSS/octo-admin), orchestrates business logic and Lobster (AI agent) scheduling, and drives the [`WuKongIM`](https://github.com/WuKongIM/WuKongIM) IM core for real-time messaging. ## ๐ Why OCTO Server - **One anchor for the whole platform.** Clients, adapters, matter, summary, and admin all meet at `octo-server`. Deploy and scale one backend; everything else speaks to it. - **Lobster-orchestration first class.** Routing, session, and tool-call execution for OpenClaw-powered digital doubles are built into the server, not bolted on. Agents are treated as first-class conversation participants. - **Pluggable storage & IM.** MySQL-compatible SQL migrations and object-storage adapters ship in the box; WuKongIM is driven over a thin control-plane boundary so the IM core remains swappable. ## ๐ Quickstart ```bash git clone https://github.com/Mininglamp-OSS/octo-server.git cd octo-server go build -o octo-server . ./octo-server --config ./configs/tsdd.yaml ``` The default dev config expects a local WuKongIM instance and a MySQL-compatible database. See the bundled `configs/tsdd.yaml` template for the standalone-binary path, [`QUICKSTART.md`](./QUICKSTART.md) for an end-to-end walkthrough, and [`BUILDING.md`](./BUILDING.md) for cross-repo build notes. For a one-command Docker Compose stack (server + admin + web + matter + smart-summary + WuKongIM + MySQL + Redis + MinIO + nginx), use the **official OOTB deployment** at [`Mininglamp-OSS/octo-deployment`](https://github.com/Mininglamp-OSS/octo-deployment). The older `docker/octo/` and `docker/tsdd/` compose stacks that used to live in this repo have been retired in favour of that single source of truth. ## ๐ฆ Modules / Architecture High-level layout: | Path | Purpose | |---|---| | `cmd/` | Service entry points (`octo-server`, subcommands) | | `internal/api/` | REST + WebSocket handlers โ conversation, user, group, file, org, webhook | | `internal/service/` | Business logic โ access control, Lobster orchestration, IM fan-out | | `internal/repository/` | SQL + cache repositories (MySQL, Redis) | | `internal/im/` | Control-plane client for WuKongIM (channel / message / presence) | | `internal/agent/` | Lobster routing, session store, tool-call execution | | `internal/adapter/` | Adapter registration + dispatch surfaces | | `configs/` | YAML config schema + dev / prod examples | | `migrations/` | SQL schema migrations | | `docs/` | Architecture notes, API reference, diagrams | What the server does each request: 1. **Authenticate** โ token / cookie / DH-sealed WebSocket frame. 2. **Authorise** โ org-aware RBAC, per-channel ACL, agent-identity gating. 3. **Execute** โ run business logic, possibly spawning / resuming a Lobster agent session. 4. **Fan out** โ enqueue IM message via WuKongIM, trigger adapters if the channel requires an external bridge. 5. **Respond** โ unified JSON envelope (or WebSocket frame) with tracing + metrics tags. ## ๐ OCTO Ecosystem ```mermaid graph TD subgraph Clients[Clients] Web[octo-webMade with ๐ by OCTO Contributors ยท Mininglamp-OSS