kollabor-webui
kollabor-webui is the browser UI shell for kollabor-engine.
It serves the assistant-ui single-page app, proxies engine configuration to the browser, and connects to the local engine API for sessions, assistant-transport streaming, permission prompts, profiles, MCP, and hub controls.
Architecture
| Module/Asset | Responsibility |
|---|---|
src/kollabor_webui/__init__.py |
kollabor-webui command entrypoint and uvicorn launcher |
src/kollabor_webui/server.py |
FastAPI config endpoint, Vite assets, and SPA fallback |
frontend/src/ |
assistant-ui React/TypeScript source |
frontend/dist/ |
local Vite output (ignored; regenerated for package builds) |
src/kollabor_webui/static/ |
legacy static fallback and packaged assistant-ui output |
The checked-in frontend source is the source of truth. hatch_build.py runs
npm ci and npm run build when npm is available, then force-includes Vite's
frontend/dist output in a wheel under kollabor_webui/static/assistant. The
source checkout also serves frontend/dist directly, which makes editable
installs useful without copying generated files into git. Python-only builds
continue to serve the legacy static/index.html and static/app.js fallback
if Node/npm is unavailable.
Usage
Quickest path — kollab --web-ui spawns the engine and this package together
(reusing an already-running engine on 7433 if one is healthy) and cleans both
up on Ctrl+C or SIGTERM:
kollab --web-ui
To run the two pieces separately (useful when iterating on one of them):
Start the engine:
python -m kollabor_engine serve --host 127.0.0.1 --port 7433
Start the web UI:
KOLLAB_ENGINE_URL=http://127.0.0.1:7433 \
KOLLAB_WEBUI_PORT=8080 \
kollabor-webui
Then open:
http://127.0.0.1:8080
For an editable checkout without installed console scripts:
python -c "from kollabor_webui import main; main()"
Frontend development
cd packages/kollabor-webui/frontend
npm ci
npm run typecheck
npm run build
npm run dev
Vite proxies /api, /sessions, /profiles, /mcp, and /hub to the local
engine while developing. The production build uses relative asset paths, so
FastAPI can serve hashed assets from any mount path and route client-side
navigation back to index.html.
Engine endpoints used
POST /sessionsGET /sessionsDELETE /sessions/{session_id}POST /sessions/{session_id}/assistantPOST /sessions/{session_id}/cancelPOST /sessions/{session_id}/permissionGET /sessions/{session_id}/permissionsPOST /sessions/{session_id}/permissions/modeGET/DELETE /sessions/{session_id}/historyGET/POST/PUT/DELETE /profiles...GET/POST/PUT/DELETE /mcp/servers...GET/POST /sessions/{session_id}/mcp...GET /hub/agentsPOST /hub/messages
Authentication
The browser gets the current engine bearer token from /api/config, which
reads ~/.kollab/engine.token. Frontend requests retry once after a 401 by
refreshing that config, covering engine restarts that rotate the token.
Validation
python -m py_compile packages/kollabor-webui/src/kollabor_webui/*.py
python -m pytest tests/unit/test_webui_auth_wiring.py -q
cd packages/kollabor-webui/frontend
npm run typecheck
npm run build
License
MIT
Metadata
Release files for kollabor-webui 0.10.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kollabor_webui-0.10.5.tar.gz | 468.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kollabor_webui-0.10.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 815.4 kB
Release files / kollabor_webui-0.10.5.tar.gz
| Download URL | kollabor_webui-0.10.5.tar.gz |
|---|---|
| Size | 468.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
64e308869d2b6304bc74847068121c5ff4f8bd6112a5db59e6db767ff4a44834
|
|
BLAKE2b-256 checksum How to use checksums |
ef4d1debbfb3645c5e419af860ab2349efa74fe0d3e13e2bbd8faa2bd4dea078
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / kollabor_webui-0.10.5-py3-none-any.whl
| Download URL | kollabor_webui-0.10.5-py3-none-any.whl |
|---|---|
| Size | 346.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
93a66f42baac975f7e67a36039c4e56516341368fbb4fcb2e28c346a58ee90c8
|
|
BLAKE2b-256 checksum How to use checksums |
485c3fb2d86bb66982fddcf850d3c0a225ae8ab17ba1d0e79491575de16d8a21
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|