octo-server is a free, open source collaboration & communication project written in Go and released under Apache-2.0. It has 1,104 GitHub stars, 174 forks and 29 open issues, and was last pushed 11 hours ago. On this registry it ranks #46 of 62 tracked projects in Collaboration & Communication, with 5 head-to-head comparisons available. It gained 42 stars over the last 30 tracked days.

What is octo-server?

octo-server is the Go backend at the centre of OCTO, an open workplace built for humans and AI agents, and it is aimed at teams that want to self-host a collaboration platform where Lobster agents participate in conversations as first-class members.

What it is

octo-server is the Go backend of the OCTO platform, licensed under Apache-2.0. It exposes REST and WebSocket APIs consumed by octo-web and octo-admin, orchestrates business logic and Lobster (AI agent) scheduling, and acts as the control plane for the WuKongIM instant-messaging core. It sits inside a wider ecosystem that includes octo-web, octo-android and octo-ios clients, octo-matter for tasks and todos, octo-smart-summary for AI summaries, octo-admin for administration, plus the shared octo-lib Go library and octo-adapters for third-party integrations. Clients, adapters, matter, summary and admin all meet at this server.

The concrete problem it solves is fragmentation of platform logic: instead of each client reimplementing conversations, access control, file handling, organisation structure and agent scheduling, the server centralises them behind one API surface. Agents are treated as participants rather than an external addition, because routing, session state and tool-call execution for OpenClaw-powered digital doubles live inside the server in internal/agent/. Storage and messaging stay swappable: MySQL-compatible SQL migrations and object-storage adapters ship in the box, and WuKongIM is driven over a thin control-plane boundary. On the deployment side, the older docker/octo/ and docker/tsdd/ Compose stacks that used to live in this repository have been retired in favour of the single OOTB stack in Mininglamp-OSS/octo-deployment.

Key capabilities

  • REST and WebSocket handlers under internal/api/ covering conversation, user, group, file, org and webhook endpoints.
  • Lobster agent orchestration in internal/agent/: routing, a session store and tool-call execution, so agents can be spawned or resumed during request handling.
  • A WuKongIM control-plane client in internal/im/ handling channel, message and presence operations.
  • A five-stage request pipeline: authenticate by token, cookie or DH-sealed WebSocket frame; authorise through org-aware RBAC, per-channel ACL and agent-identity gating; execute business logic; fan out IM messages and adapter triggers; respond with a unified JSON envelope carrying tracing and metrics tags.
  • Pluggable persistence with SQL migrations in migrations/ and MySQL and Redis repositories in internal/repository/, plus object-storage adapters.
  • Adapter registration and dispatch through internal/adapter/ for external channel bridges.
  • A one-command Docker Compose stack, the official OOTB deployment, bringing up server, admin, web, matter, smart-summary, WuKongIM, MySQL, Redis, MinIO and nginx together.

Who uses it and how

  • Teams that want the whole platform running locally or on their own infrastructure use the OOTB Compose deployment, which provisions eleven components including MySQL, Redis, MinIO and nginx in one command.
  • Developers running a standalone binary build the Go service and point it at a local WuKongIM instance and a MySQL-compatible database, using the bundled configs/tsdd.yaml template.
  • Client teams building for Web and PC, Android or iOS consume the REST and WebSocket APIs from octo-web, octo-android and octo-ios.
  • Operations and moderation staff work through octo-admin, while task tracking and AI summarisation route through octo-matter and octo-smart-summary.
  • Integrators bridging OCTO to third-party systems extend it through octo-adapters, which the server dispatches to when a channel requires an external bridge.

Getting started

Clone the repository, run go build -o octo-server ., then start ./octo-server --config ./configs/tsdd.yaml against a local WuKongIM instance and a MySQL-compatible database. For a full stack, use the official OOTB Docker Compose deployment at Mininglamp-OSS/octo-deployment; QUICKSTART.md and BUILDING.md cover the end-to-end walkthrough and cross-repo build notes.

How it compares

No comparable or competing products are named in the available facts, and no list of paid alternatives is provided. On the evidence here, octo-server stands alone in this registry.

When to use it โ€” and when not to

A self-hoster must operate a MySQL-compatible database, Redis, object storage such as MinIO, a WuKongIM instance and, in the OOTB topology, nginx, so anyone wanting a hosted messaging product with no infrastructure responsibility should not pick it. Teams uninterested in agent orchestration would carry that capability without using it, and the repository currently shows 29 open issues with no release or versioning information in the facts provided. The external octo-deployment repository is now the single source of truth for Compose stacks, so older in-repo deployment material is no longer authoritative.

project readme (upstream, from github) โ€” read inline

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

License ็ฎ€ไฝ“ไธญๆ–‡


๐ŸŒ Read in: English ยท ็ฎ€ไฝ“ไธญๆ–‡

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 and octo-admin, orchestrates business logic and Lobster (AI agent) scheduling, and drives the 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

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 for an end-to-end walkthrough, and 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. 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

graph TD
  subgraph Clients[Clients]
    Web[octo-web<br/>Web / PC]
    Android[octo-android<br/>Android]
    iOS[octo-ios<br/>iOS]
  end

  subgraph Core[Core Services]
    Server[octo-server<br/>Backend API]
    Matter[octo-matter<br/>Task / Todo]
    Summary[octo-smart-summary<br/>AI Summary]
    Admin[octo-admin<br/>Admin Console]
  end

  subgraph Shared[Shared Libraries & Integrations]
    Lib[octo-lib<br/>Core Go Library]
    Adapters[octo-adapters<br/>Third-party Adapters]
  end

  Web --> Server
  Android --> Server
  iOS --> Server
  Admin --> Server
  Server --> Matter
  Server --> Summary
  Server --> Adapters
  Server -.uses.-> Lib
  Matter -.uses.-> Lib
  Adapters -.uses.-> Lib
Repository Language Role
octo-server Go Backend API ยท business orchestration ยท Lobster agent scheduling
octo-matter Go Task / Todo / Matter micro-service
octo-smart-summary Go LLM-powered conversation summarisation
octo-web TypeScript / React Web & PC (Electron) client
octo-android Kotlin / Java Native Android client
octo-ios Swift / Objective-C Native iOS client
octo-admin TypeScript / React Admin console (tenant / org / user / channel management)
octo-lib Go Shared core library (protocol, crypto, storage, HTTP)
octo-adapters TypeScript / Python Third-party integrations (IM bridges, AI channels)

๐Ÿงญ Philosophy

OCTO ships under three shared principles that apply to every repository in this matrix:

  1. Local-first. Anything that can run on the user's own box โ€” chats, embeddings, agents โ€” should. Your data stays yours; cloud is a choice, not a requirement.
  2. Humans judge, AI thinks and acts. Humans focus on taste (what matters, what's right, what to ship). Lobster agents โ€” OpenClaw-powered digital doubles โ€” carry the thinking and execution load.
  3. Release-as-product. Every open-source cut is shipped as a self-contained product, not a code dump: one squash per release, Apache 2.0, no internal baggage, reproducible from this repo alone.

๐Ÿค Contributing

We love pull requests! Before you open one, please read:

For security issues please follow SECURITY.md instead of the public tracker.

๐Ÿ“„ License

Apache License 2.0 โ€” see LICENSE for the full text and NOTICE for third-party attributions.

๐Ÿ™ Acknowledgments

octo-server is a derivative work of:

See NOTICE for the exhaustive Go module license inventory and third-party attribution block.


Made with ๐Ÿ™ by OCTO Contributors ยท Mininglamp-OSS

Frequently asked questions

Is octo-server free to use?

octo-server is open source under the Apache-2.0 licence. There is no licence fee and no seat count โ€” you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does octo-server do?

๐Ÿ™ The Go backend powering OCTO โ€” an open workplace built for humans ร— AI agents. REST & WebSocket APIs, Lobster (AI agent) orchestration, and WuKongIM real-tim

What is octo-server written in?

octo-server is primarily written in Go. Its source is publicly available at https://github.com/Mininglamp-OSS/octo-server, and it has 1,104 GitHub stars.