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 ยท ็ฎไฝไธญๆ
OCTO Lib
The Go foundation library that every OCTO backend service builds on โ protocol, crypto, storage, HTTP, logging, event bus.
octo-lib is the shared Go module at the bottom of the OCTO backend stack. It
contains the protocol types, cryptographic primitives, storage adapters, HTTP
helpers, worker pool, and event-bus code that octo-server, octo-matter, and
the adapters layer all import rather than re-implement.
๐ Why OCTO Lib
- One protocol surface. All OCTO services speak the same message / channel / stream types โ defined once, here. No silent drift between services.
- Batteries included, dependencies minimal. RSA / AES / DH / SHA crypto, SSRF-safe URL validation, MySQL / Redis / SQLite adapters, a zap-based structured logger, and a Webhook gRPC client are all a single
import away.
- Stable, versioned Go module. Consumed as a regular
go get dependency; SemVer-tagged; no vendoring required, no magic code generation at build time.
๐ Quickstart
go get github.com/Mininglamp-OSS/octo-lib
Then in your Go code:
import (
"github.com/Mininglamp-OSS/octo-lib/pkg/log"
"github.com/Mininglamp-OSS/octo-lib/pkg/util"
)
func main() {
log.Info("hello octo")
id := util.GenUUID()
log.Info("new id: " + id)
}
See pkg/ for the full package catalogue.
๐ฆ Modules / Architecture
Top-level packages in this module:
| Path |
Purpose |
common/ |
Cache, pagination, message types, constants |
config/ |
App context, config loader, message / group / channel / stream / RTC configs, ES & tracer init |
model/ |
Shared data models (channel, response) |
module/ |
Module registration primitives |
server/ |
HTTP server bootstrap |
testutil/ |
Test helpers |
pkg/cache/ |
In-memory cache |
pkg/db/ |
MySQL / Redis / SQLite adapters |
pkg/keylock/ |
Per-key lock |
pkg/log/ |
Structured logger (zap-based) |
pkg/markdown/ |
Markdown rendering |
pkg/network/ |
HTTP client helpers |
pkg/pool/ |
Worker pool / job dispatcher |
pkg/redis/ |
Redis client helpers |
pkg/register/ |
API & task router registration |
pkg/util/ |
Crypto (AES / RSA / DH / SHA / MD5), base62, decimal, IP, SSRF-safe URL validation, reflection, time, UUID, string / json utils |
pkg/wait/ |
Wait-group helpers |
pkg/wkevent/ |
Event bus |
pkg/wkhook/ |
Webhook gRPC service (proto + generated code) |
pkg/wkhttp/ |
HTTP handler framework |
pkg/wkrsa/ |
RSA utilities |
๐ 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:
- 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.
- 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.
- 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 is built on the excellent work of the open-source community. We'd like to especially thank:
See NOTICE for the full attribution list and third-party Go module licenses.
Made with ๐ by OCTO Contributors ยท Mininglamp-OSS