Mininglamp-OSS/octo-server

🐙 The Go backend powering OCTO — an open workplace built for humans × AI agents. REST & WebSocket APIs, Lobster (AI agent) orchestration, and WuKongIM real-time messaging control plane.

OCTO Server – What It Is

OCTO Server is the Go‑based backend that powers the OCTO platform, a suite of tools for human‑AI collaboration. It provides a unified REST and WebSocket API that client apps (web, Android, iOS, admin console) talk to, and it coordinates the “Lobster” AI agents (built on OpenClaw) as well as real‑time messaging via the WuKongIM engine.


Core Features (as described in the README)

Feature What It Does
Unified API layer Exposes REST + WebSocket endpoints for conversations, users, groups, files, organisations, and webhooks.
Lobster agent orchestration Schedules, routes, and manages sessions for OpenClaw‑powered digital‑double agents; handles tool‑call execution.
Real‑time messaging control plane Drives WuKongIM (an IM core) to fan‑out messages, presence updates, and channel events.
Auth & RBAC Token / cookie / DH‑sealed WebSocket authentication, organisation‑aware role‑based access control, per‑channel ACLs.
Pluggable storage Uses MySQL‑compatible migrations for relational data and Redis for caching; object‑storage adapters are included.
Adapter framework Allows third‑party adapters (e.g., external IM bridges, AI channels) to be registered and dispatched.
Modular architecture Clear package layout (api, service, repository, im, agent, adapter) makes the codebase extensible.

How It Fits Into the OCTO Ecosystem

Clients (web, Android, iOS) → octo‑server ←→ octo‑matter (tasks)
                                 │            └─ octo‑smart‑summary (LLM summarisation)
                                 └─ octo‑admin (admin UI)
                                 └─ octo‑adapters (third‑party integrations)
                                 └─ octo‑lib (shared Go library)

The server is the central hub: every client request passes through it, which then may trigger a Lobster agent, store data, or push a message through WuKongIM. Other micro‑services (Matter, Smart‑Summary) are invoked by the server rather than directly by clients.


Getting Started Quickly

# Clone and build
git clone https://github.com/Mininglamp-OSS/octo-server.git
cd octo-server
go build -o octo-server .

# Run with the example config (requires local WuKongIM + MySQL)
./octo-server --config ./configs/tsdd.yaml

For a full stack, the project recommends the octo‑deployment Docker‑Compose repository, which brings up the server together with the web UI, admin console, WuKongIM, MySQL, Redis, MinIO, and Nginx in one command.


Who Might Use This?

  • Product teams building AI‑augmented collaboration tools that need a self‑hosted backend with built‑in agent orchestration.
  • Developers who want a pluggable real‑time messaging layer (WuKongIM) combined with AI‑agent scheduling.
  • Enterprises that value a “local‑first” architecture, keeping chat data and embeddings on‑premise while still leveraging AI agents.

License & Community

The code is released under the Apache 2.0 license. Contributions are welcomed via pull requests, and the repo follows a standard CONTRIBUTING guide and code‑of‑conduct. Security reports should follow the provided SECURITY.md process.


All information above is taken directly from the repository’s README; no external assumptions have been added.

Related

  • Project
  • Project
  • Project
  • Project
  • Project