Mininglamp-OSS/octo-admin

🐙 Admin console for the OCTO platform — manage tenants, users, spaces, channels, and Lobster agents. Built with React, TypeScript, Vite & Ant Design.

37

stars

95

commits

TypeScript

primary language

Sep 8, 2026

updated

github.com/Mininglamp-OSS
admin-panel
ai-agents
antd
apache-2
dashboard
im
instant-messaging
lobster
octo
openclaw
open-source
react
tenant-management
typescript
vite

README

OCTO OCTO

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 Admin

Admin console for the OCTO platform — tenants, organisations, users, channels, and Lobster agent configuration from a single pane of glass.

octo-admin is the TypeScript / React console that platform operators use to manage an OCTO deployment. It is a thin front-end over octo-server's admin APIs — no business logic of its own, no side database. Everything you see or click turns into a call into the main OCTO backend.

🌟 Why OCTO Admin

  • Operator console, not a second product. octo-admin only exposes what octo-server already supports through its admin APIs. No shadow schema, no drift between "what the admin UI can do" and "what the backend actually enforces".
  • Separate surface, separate deploy. The admin UI is a distinct bundle so ops can publish it on an internal URL (VPN-only, SSO-gated) while the user-facing octo-web goes on the public edge.
  • Built for day-2 work. Tenant bootstrap, org / user audit, channel moderation, Lobster agent feature-flag toggles, webhook rotation — the screens are tuned for the "run OCTO in production" workflow, not the first-demo one.

🚀 Quickstart

git clone https://github.com/Mininglamp-OSS/octo-admin.git
cd octo-admin
pnpm install
pnpm dev

By default the dev build points at http://localhost:8080 (the same octo-server instance you'd run for octo-web development). Copy .env.example to .env.local and edit VITE_ADMIN_API_* to aim it at a different backend.

For a production build:

pnpm build        # emits static assets under ./dist
# serve ./dist behind an SSO-aware reverse proxy (nginx / envoy / ...)

Docker deployments proxy the primary admin API through API_BACKEND and the Marketplace admin API through MARKETPLACE_BACKEND. Keep Marketplace admin authentication on the user's Octo login token; do not ship marketplace service credentials as VITE_* variables because Vite compiles them into the browser bundle.

📦 Modules / Architecture

Top-level layout:

PathPurpose
src/pages/Route-level views: tenants, orgs, users, channels, agents, audit log
src/components/Admin UI kit — tables, filters, detail drawers, confirm dialogs
src/store/Client state (current operator identity, active tenant scope, permissions)
src/api/Typed client for the octo-server admin API surface
src/locales/i18n resources (English · 简体中文)
docs/Admin workflows, screenshots, deployment notes

octo-admin talks to octo-server over the /admin/* REST surface. It never talks to the primary database directly. Operator authentication is delegated to octo-server (SSO or admin-token), and every mutation must pass backend-side RBAC before it is persisted.

🔗 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
RepositoryLanguageRole
octo-serverGoBackend API · business orchestration · Lobster agent scheduling
octo-matterGoTask / Todo / Matter micro-service
octo-smart-summaryGoLLM-powered conversation summarisation
octo-webTypeScript / ReactWeb & PC (Electron) client
octo-androidKotlin / JavaNative Android client
octo-iosSwift / Objective-CNative iOS client
octo-adminTypeScript / ReactAdmin console (tenant / org / user / channel management)
octo-libGoShared core library (protocol, crypto, storage, HTTP)
octo-adaptersTypeScript / PythonThird-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.


Made with 🐙 by OCTO Contributors · Mininglamp-OSS

Contributors

lml2468

51 commits

an9xyz

35 commits

l-s-c

4 commits

botshen

2 commits

Mininglamp-OSS/octo-admin

🐙 Admin console for the OCTO platform — manage tenants, users, spaces, channels, and Lobster agents. Built with React, TypeScript, Vite & Ant Design.

37

stars

95

commits

TypeScript

primary language

Sep 8, 2026

updated

github.com/Mininglamp-OSS
admin-panel
ai-agents
antd
apache-2
dashboard
im
instant-messaging
lobster
octo
openclaw
open-source
react
tenant-management
typescript
vite

README

OCTO OCTO

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 Admin

Admin console for the OCTO platform — tenants, organisations, users, channels, and Lobster agent configuration from a single pane of glass.

octo-admin is the TypeScript / React console that platform operators use to manage an OCTO deployment. It is a thin front-end over octo-server's admin APIs — no business logic of its own, no side database. Everything you see or click turns into a call into the main OCTO backend.

🌟 Why OCTO Admin

  • Operator console, not a second product. octo-admin only exposes what octo-server already supports through its admin APIs. No shadow schema, no drift between "what the admin UI can do" and "what the backend actually enforces".
  • Separate surface, separate deploy. The admin UI is a distinct bundle so ops can publish it on an internal URL (VPN-only, SSO-gated) while the user-facing octo-web goes on the public edge.
  • Built for day-2 work. Tenant bootstrap, org / user audit, channel moderation, Lobster agent feature-flag toggles, webhook rotation — the screens are tuned for the "run OCTO in production" workflow, not the first-demo one.

🚀 Quickstart

git clone https://github.com/Mininglamp-OSS/octo-admin.git
cd octo-admin
pnpm install
pnpm dev

By default the dev build points at http://localhost:8080 (the same octo-server instance you'd run for octo-web development). Copy .env.example to .env.local and edit VITE_ADMIN_API_* to aim it at a different backend.

For a production build:

pnpm build        # emits static assets under ./dist
# serve ./dist behind an SSO-aware reverse proxy (nginx / envoy / ...)

Docker deployments proxy the primary admin API through API_BACKEND and the Marketplace admin API through MARKETPLACE_BACKEND. Keep Marketplace admin authentication on the user's Octo login token; do not ship marketplace service credentials as VITE_* variables because Vite compiles them into the browser bundle.

📦 Modules / Architecture

Top-level layout:

PathPurpose
src/pages/Route-level views: tenants, orgs, users, channels, agents, audit log
src/components/Admin UI kit — tables, filters, detail drawers, confirm dialogs
src/store/Client state (current operator identity, active tenant scope, permissions)
src/api/Typed client for the octo-server admin API surface
src/locales/i18n resources (English · 简体中文)
docs/Admin workflows, screenshots, deployment notes

octo-admin talks to octo-server over the /admin/* REST surface. It never talks to the primary database directly. Operator authentication is delegated to octo-server (SSO or admin-token), and every mutation must pass backend-side RBAC before it is persisted.

🔗 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
RepositoryLanguageRole
octo-serverGoBackend API · business orchestration · Lobster agent scheduling
octo-matterGoTask / Todo / Matter micro-service
octo-smart-summaryGoLLM-powered conversation summarisation
octo-webTypeScript / ReactWeb & PC (Electron) client
octo-androidKotlin / JavaNative Android client
octo-iosSwift / Objective-CNative iOS client
octo-adminTypeScript / ReactAdmin console (tenant / org / user / channel management)
octo-libGoShared core library (protocol, crypto, storage, HTTP)
octo-adaptersTypeScript / PythonThird-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.


Made with 🐙 by OCTO Contributors · Mininglamp-OSS

Contributors

lml2468

51 commits

an9xyz

35 commits

l-s-c

4 commits

botshen

2 commits

Languages

TypeScript

92.0%

CSS

7.9%