octo-web
Health Warn
- License — License: Apache-2.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Warn
- network request — Outbound network request in apps/extension/entrypoints/background.ts
- network request — Outbound network request in apps/extension/entrypoints/offscreen/main.ts
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Web & desktop (Electron) client for the OCTO open workplace — one React + TypeScript codebase shipping browser and PC surfaces, with first-class AI agent UX.
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 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 toocto-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 athttp://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<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:
- CONTRIBUTING.md — workflow, branch model, commit style
- CODE_OF_CONDUCT.md — community expectations
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-serverdrives behind this client.
See NOTICE for the full attribution list and third-party component licenses.
Made with 🐙 by OCTO Contributors · Mininglamp-OSS
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found