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.1.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.1-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kollabor_webui-0.7.1.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.1.tar.gz
Algorithm Hash digest
SHA256 d1eef5e357ae7f0cefc159417cd3f7f45faede47fc45afb1315dd72cdeecf13e
MD5 d0fd4b8784b390e676b8b5ab514dc4d6
BLAKE2b-256 bd9a26c98729d5c7736ebff2206e6d9c1f50cf49d9c186d0da7a2e6f97358efa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kollabor_webui-0.7.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4f22bf0acdc2590b77cf107c7f91ac44be2f6e346c526e5105e72b4d7fce0908
MD5 092828823e75411c3bae46238754cead
BLAKE2b-256 0298c2f124b42fb69ef6ffa302c64d17f6a8267a3c8b39c9340eac4503ddc888

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

This release

0.7.1 This release

2 files

0.7.0

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