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.6
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.6.tar.gz | 468.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kollabor_webui-0.10.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 815.4 kB
Release files / kollabor_webui-0.10.6.tar.gz
| Download URL | kollabor_webui-0.10.6.tar.gz |
|---|---|
| Size | 468.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aac6f7872cdb8cc556c1ae4f57683222d3d5e6f8214ce1a208e1e118e6950383
|
|
BLAKE2b-256 checksum How to use checksums |
41735c09eab427143a8eeabf8c64500dbefadd5ee13a04fd4ad84315c1898fc7
|
| 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.6-py3-none-any.whl
| Download URL | kollabor_webui-0.10.6-py3-none-any.whl |
|---|---|
| Size | 346.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e455c5d4e34116230ebfa1f7edec6df39f5b09a8ff5eddf69b0aae9eeb6e4110
|
|
BLAKE2b-256 checksum How to use checksums |
42c967c6d81660fa7c87b9cdd488eaa01005c92dd74f251db17ba2e0fcd59fa3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|