Skip to content
Mininglamp-OSSPublic

About

Web & desktop (Electron) client for the OCTO open workplace — one React + TypeScript codebase shipping browser and PC surfaces, with first-class AI agent UX.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1.2k stars

Watchers

121 watching

Forks

Latest commit

 

History

2,650 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 Web

Web & PC (Electron) client for the OCTO messaging platform — one React codebase, two shipped surfaces.

octo-web is the TypeScript / React front-end that talks to octo-server over REST + WebSocket. The same codebase ships two ways: as a browser build (the canonical OCTO chat surface), and as an Electron-packaged desktop PC client.

🌟 Why OCTO Web

  • One codebase, two products. Browser + PC (Electron) are built from the same src/ — no parallel React trees, no diverging UX. Branch switches happen at platform-capability boundaries only.
  • Lobster-ready UI. First-class surfaces for AI agent conversations: streaming replies, typing indicator, inline tool-call previews, read receipts, agent-vs-human identity chips.
  • Full bilingual shell. English and Simplified Chinese ship together out of the box; i18n keys live in src/locales/ and are enforced in CI.

🚀 Quickstart

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

By default the web build expects an octo-server instance reachable at http://localhost:8080. Point it at your own server by copying .env.example to .env.local and editing the VITE_API_* values.

📦 Modules / Architecture

Top-level layout:

Path Purpose
src/pages/ Route-level React views (chat, channels, org, settings)
src/components/ Shared UI kit (message bubbles, inputs, agent chips, streaming renderers)
src/store/ Client state (auth, channels, draft, agent orchestration UI state)
src/api/ REST + WebSocket client talking to octo-server
src/locales/ i18n resources (English · 简体中文)
electron/ Electron main/renderer bootstrap for the PC build
docs/ Design docs, architecture notes, screenshots

Key build targets:

pnpm build        # build the browser bundle
pnpm pc:dev       # launch the Electron shell against the dev build
pnpm pc:package   # produce a distributable PC bundle (macOS / Windows / Linux)
pnpm test         # run unit + component tests

The PC Electron shell is intentionally thin — it hosts the same React app and forwards IPC for native capabilities (tray, notifications, file drop, auto- update). The browser build runs without any Electron dependency.

🔗 OCTO Ecosystem

graph TD
  subgraph Clients[Clients]
    Web[octo-web
Web / PC] Android[octo-android
Android] iOS[octo-ios
iOS] end subgraph Core[Core Services] Server[octo-server
Backend API] Matter[octo-matter
Task / Todo] Summary[octo-smart-summary
AI Summary] Admin[octo-admin
Admin Console] end subgraph Shared[Shared Libraries & Integrations] Lib[octo-lib
Core Go Library] Adapters[octo-adapters
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
Loading
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:

  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.

🙏 Acknowledgments

octo-web owes its original scaffolding to:

  • TangSengDaoDaoWeb — our upstream, by the TangSengDaoDao team.
  • WuKongIM — the real-time messaging core that octo-server drives behind this client.

See NOTICE for the full attribution list and third-party component licenses.


Made with 🐙 by OCTO Contributors · Mininglamp-OSS

About

Web & desktop (Electron) client for the OCTO open workplace — one React + TypeScript codebase shipping browser and PC surfaces, with first-class AI agent UX.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1.2k stars

Watchers

121 watching

Forks

Releases

Packages

Used by

Contributors

Languages