Web UI for Kollab Engine
Project description
kollabor-webui
kollabor-webui is the browser UI shell for kollabor-engine.
It serves the static web app, proxies engine configuration to the browser, and connects to the local engine API for sessions, SSE message streams, permission prompts, profiles, MCP, and hub controls.
Current Role
- Serve the single-page web terminal UI from
kollabor_webui/static. - Connect browser sessions to a local engine at
KOLLAB_ENGINE_URL. - Provide multi-session panels, message streaming, cancellation, and export.
- Surface permission prompts and approval mode changes.
- Provide basic profile, MCP, and hub control screens around engine endpoints.
Architecture
| Module/Asset | Responsibility |
|---|---|
__init__.py |
kollabor-webui command entrypoint and uvicorn launcher |
server.py |
FastAPI app serving config and static assets |
static/index.html |
web UI shell |
static/app.js |
engine API client, SSE parser, session UI, controls |
static/style.css |
visual styling for the web terminal |
Usage
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()"
Engine Endpoints Used
POST /sessionsGET /sessionsDELETE /sessions/{session_id}POST /sessions/{session_id}/messagePOST /sessions/{session_id}/cancelPOST /sessions/{session_id}/permissionPOST /sessions/{session_id}/permissions/modeGET/POST/PUT/DELETE /profiles...GET/POST/PUT/DELETE /mcp/servers...GET/POST /sessions/{session_id}/mcp...GET /hub/agentsPOST /hub/messagesWS /ws/hub/feed
Known Gaps
- The UI depends on engine behavior that is still being hardened, especially workspace enforcement, MCP connect behavior, and profile redaction.
- The current visual style is an early terminal-like shell, not yet a polished product UI.
- Error handling is mostly client-side string display; richer typed engine errors would improve UX.
- WebSocket hub streaming still depends on engine polling behavior.
Roadmap
Phase 1: Track engine hardening
- Update UI flows after engine profile redaction, workspace enforcement, and real MCP connect behavior land.
- Improve permission prompt state for timeout, denial, retry, and scopes.
- Add smoke coverage for session creation, message SSE, permissions, and MCP controls against a temporary engine config.
Phase 2: UX maturity
- Replace one-off UI strings with structured state and reusable view components.
- Improve profile/MCP forms and validation feedback.
- Add clearer connection/token setup and recovery flows.
Phase 3: Hub and multi-session polish
- Use live hub events once the engine stream is no longer snapshot/polling based.
- Add richer agent status, output, and message controls.
- Persist useful browser-side preferences without storing secrets.
Development
Targeted validation examples:
python -m py_compile packages/kollabor-webui/src/kollabor_webui/*.py
python -m pytest tests/test_engine_health_api.py -q
Dependencies
kollabor-enginefastapi >= 0.115uvicorn[standard] >= 0.32
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kollabor_webui-1.0.0.tar.gz.
File metadata
- Download URL: kollabor_webui-1.0.0.tar.gz
- Upload date:
- Size: 21.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b420a78edb420a30b289d50fb238dea10653ff5c554e579e92a87ce6f1646ae1
|
|
| MD5 |
162f9835ee4e18731239eb4fb3322455
|
|
| BLAKE2b-256 |
d1580bdb7ae3f7ce3141a10fd8af65f3284fe496171fd69cb2d02f8b58b9396b
|
File details
Details for the file kollabor_webui-1.0.0-py3-none-any.whl.
File metadata
- Download URL: kollabor_webui-1.0.0-py3-none-any.whl
- Upload date:
- Size: 21.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6cbcfe6af4140c2b3f098faad9f4b809aac22684e4eb9c20ba0e5fc0f9b9d8a2
|
|
| MD5 |
55141cd013daf4f064faf461897e931b
|
|
| BLAKE2b-256 |
30221cda1b902f578d4cbdb1ac1e90855c20be9428fa7e4ee78f7bbd6b2fa6f9
|