Skip to main content

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 /sessions
  • GET /sessions
  • DELETE /sessions/{session_id}
  • POST /sessions/{session_id}/assistant
  • POST /sessions/{session_id}/cancel
  • POST /sessions/{session_id}/permission
  • GET /sessions/{session_id}/permissions
  • POST /sessions/{session_id}/permissions/mode
  • GET/DELETE /sessions/{session_id}/history
  • GET/POST/PUT/DELETE /profiles...
  • GET/POST/PUT/DELETE /mcp/servers...
  • GET/POST /sessions/{session_id}/mcp...
  • GET /hub/agents
  • POST /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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kollabor_webui-0.7.0.tar.gz (116.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kollabor_webui-0.7.0-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

Details for the file kollabor_webui-0.7.0.tar.gz.

File metadata

  • Download URL: kollabor_webui-0.7.0.tar.gz
  • Upload date:
  • Size: 116.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.14

File hashes

Hashes for kollabor_webui-0.7.0.tar.gz
Algorithm Hash digest
SHA256 211403054171cff39298e1c2999ddbd78460f9b78da24a059fa62f6743dc8a31
MD5 535f699aac68df9f8287549d14ebb522
BLAKE2b-256 c80e55dcb7566cbdac4e0ddb0d2adc7ab296a4d08d116e6783041509ac54105c

See more details on using hashes here.

File details

Details for the file kollabor_webui-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: kollabor_webui-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 26.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.14

File hashes

Hashes for kollabor_webui-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ebfff678c388e27f71e230e2c9be2c3303e71c5cdc3755fd0ec9f693e8b678c8
MD5 a9ed1f4b03602893bd00f5e362601560
BLAKE2b-256 b9241725276e781e1e77b97eb37ddc2d4d61ad56e013552bc02345016ebf89df

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.1

2 files

1.0.0

2 files

0.7.2

2 files

0.7.1

2 files

This release

0.7.0 This release

2 files

0.6.1

2 files

0.6.0

2 files

0.5.24

2 files

0.5.23

2 files

0.5.22

2 files

0.5.20

2 files

0.5.19

2 files

0.5.18

2 files

0.5.16

2 files

0.5.15

2 files

0.5.14

2 files

0.5.13

2 files

0.5.12

2 files

0.5.11

2 files

0.5.8

2 files

0.5.7

2 files

0.5.5

2 files

0.4.22

2 files

0.4.21

2 files

0.4.19

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page