Repolode
Mininglamp-OSS

Mininglamp-OSS/octo-server

Go backend for OCTO, an open workplace where humans and AI agents collaborate, with REST and WebSocket APIs and WuKongIM-based real-time messaging.

Open-source alternative to:Slack

Stars
1,100
Forks
173
Open issues
8
Last commit
yesterday

What is it?

octo-server is the backend service of OCTO, a self-hosted workplace where people and AI agents work in the same conversations. It exposes REST and WebSocket APIs consumed by the OCTO web, admin and mobile clients, and handles business logic such as access control, organisation-aware permissions, and per-channel access rules.

The server also schedules Lobster agents, which are OpenClaw-powered digital doubles that can take part in conversations, manage sessions and execute tool calls. Real-time message delivery is handled by WuKongIM, which octo-server drives through a control-plane client for channels, messages and presence.

Storage uses MySQL-compatible SQL migrations with Redis caching, and object storage adapters are included. The project is written in Go, ships under Apache 2.0, and is a derivative of TangSengDaoDaoServer.

Key features

  • 01REST and WebSocket APIs for conversations, users, groups, files and organisations.
  • 02Lobster agent orchestration covering routing, sessions and tool-call execution.
  • 03Real-time messaging through a WuKongIM control-plane client.
  • 04Org-aware RBAC, per-channel ACL and agent-identity gating.
  • 05MySQL-compatible SQL migrations with Redis and object-storage adapters.

Use cases

  • Running a self-hosted workplace chat where AI agents participate alongside staff.
  • Building a messaging backend that integrates WuKongIM for real-time delivery.
  • Studying how an agent-aware IM server handles auth, permissions and message fan-out.

Quick start

  1. 1

    Clone the repository

    git clone https://github.com/Mininglamp-OSS/octo-server.git
  2. 2

    Enter the project directory

    cd octo-server
  3. 3

    Build the binary

    go build -o octo-server .
  4. 4

    Run the server with the bundled config (needs a local WuKongIM and MySQL-compatible database)

    ./octo-server --config ./configs/tsdd.yaml

Things to know

  • Running it requires a separate WuKongIM instance and a MySQL-compatible database.
  • Full stack deployment is handled by a different repository, octo-deployment.

Topics

FAQ

What is octo-server?
Go backend for OCTO, an open workplace where humans and AI agents collaborate, with REST and WebSocket APIs and WuKongIM-based real-time messaging. octo-server is the backend service of OCTO, a self-hosted workplace where people and AI agents work in the same conversations. It exposes REST and WebSocket APIs consumed by the OCTO web, admin and mobile clients, and handles business logic such as access control, organisation-aware permissions, and per-channel access rules.
Is octo-server free to use? What license does it have?
octo-server is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is octo-server still maintained?
Actively maintained. The last commit to octo-server was on Oct 21, 2026.
What can I use octo-server for?
Running a self-hosted workplace chat where AI agents participate alongside staff. Building a messaging backend that integrates WuKongIM for real-time delivery. Studying how an agent-aware IM server handles auth, permissions and message fan-out.
How do I install octo-server?
Clone the repository: git clone https://github.com/Mininglamp-OSS/octo-server.git Enter the project directory: cd octo-server Build the binary: go build -o octo-server . Run the server with the bundled config (needs a local WuKongIM and MySQL-compatible database): ./octo-server --config ./configs/tsdd.yaml
Where can I get octo-server?
The source code and installation instructions are on GitHub: https://github.com/Mininglamp-OSS/octo-server

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects