feat(webui): add initial webui with websocket chat flow

This commit is contained in:
Xubin Ren
2026-04-18 18:51:53 +00:00
parent 6bfb75ed03
commit 9ed3031a42
76 changed files with 7088 additions and 38 deletions
+45
View File
@@ -0,0 +1,45 @@
# nanobot webui
The browser front-end for `nanobot web`. Built with Vite + React 18 +
TypeScript + Tailwind 3 + shadcn/ui. Talks to the gateway over the WebSocket
multiplex protocol; session metadata comes from the embedded REST surface on
the same port.
## Layout
```
webui/ source tree (this directory)
nanobot/web/dist/ build output, shipped in the Python wheel
```
## Develop
```bash
cd webui
bun install # npm install also works
bun run dev # http://127.0.0.1:5173 (proxies /api /webui /auth -> 8765)
```
In a separate shell, start the gateway with the WebSocket channel:
```bash
uv run nanobot gateway # or `nanobot web` once you've built once
```
If the gateway listens on a non-default port, point the dev server at it:
```bash
NANOBOT_API_URL=http://127.0.0.1:9000 bun run dev
```
## Build
```bash
bun run build # writes ../nanobot/web/dist (consumed by `nanobot web`)
```
## Test
```bash
bun run test # vitest, jsdom-style happy-dom environment
```