How mininglamp-oss/octo-server works
OCTO Server is the Go backend for OCTO: clients use its REST and WebSocket APIs for workplace, identity, and messaging features, while it coordinates Lobster agents and real-time delivery through WuKongIM. The graph follows the README’s request stages and documented integrations, using paths present in the supplied tree. The README describes some internal layers not present in that tree; their implementation wiring is therefore not inferred from unsampled source.
Main entry points: modules.go API modules · message Conversations · main.go Server entry · db.go SQL storage
Components 18
Request entry
- Server entry
main.go - Authentication
pkg/auth/runtime.go - API modules
internal/modules.go
Workplace features
- Users and roles
modules/user - Spaces and groups
modules/space - Conversations
modules/message - Message search
modules/messages_search - File services
modules/file
Agents and integrations
- Agent orchestration
modules/ai_team/service.go - Bot APIs
modules/bot_api - Webhook adapters
modules/incomingwebhook
Runtime services
- SQL storage
pkg/db/db.go - Redis storage
pkg/db/redis.go - WuKongIM
Other components
- Web client
- Admin client
- Lobster agents
- External bridges
Connections 20
- Web client → Server entry: REST / WebSocket
- Admin client → Server entry: REST / WebSocket
- Server entry → Authentication: authenticate
- Server entry → API modules: dispatch requests
- API modules → Users and roles: handle identity
- API modules → Spaces and groups: handle membership
- API modules → Conversations: handle conversations
- API modules → Message search: handle search
- API modules → File services: handle files
- API modules → Agent orchestration: coordinate agents
- API modules → Bot APIs: serve bot requests
- API modules → Webhook adapters: dispatch webhooks
- Agent orchestration → Lobster agents: schedule sessions
- Webhook adapters → External bridges: bridge events
- Conversations → WuKongIM: fan out messages
- Users and roles → SQL storage: read / write
- Spaces and groups → SQL storage: read / write
- Conversations → SQL storage: read / write
- Conversations → Redis storage: use cache
- File services → External bridges: use object storage