Skip to main content

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 /sessions
  • GET /sessions
  • DELETE /sessions/{session_id}
  • POST /sessions/{session_id}/message
  • POST /sessions/{session_id}/cancel
  • POST /sessions/{session_id}/permission
  • POST /sessions/{session_id}/permissions/mode
  • GET/POST/PUT/DELETE /profiles...
  • GET/POST/PUT/DELETE /mcp/servers...
  • GET/POST /sessions/{session_id}/mcp...
  • GET /hub/agents
  • POST /hub/messages
  • WS /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-engine
  • fastapi >= 0.115
  • uvicorn[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

kollabor_webui-1.0.0.tar.gz (21.1 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-1.0.0-py3-none-any.whl (21.3 kB view details)

Uploaded Python 3

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

Hashes for kollabor_webui-1.0.0.tar.gz
Algorithm Hash digest
SHA256 b420a78edb420a30b289d50fb238dea10653ff5c554e579e92a87ce6f1646ae1
MD5 162f9835ee4e18731239eb4fb3322455
BLAKE2b-256 d1580bdb7ae3f7ce3141a10fd8af65f3284fe496171fd69cb2d02f8b58b9396b

See more details on using hashes here.

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

Hashes for kollabor_webui-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6cbcfe6af4140c2b3f098faad9f4b809aac22684e4eb9c20ba0e5fc0f9b9d8a2
MD5 55141cd013daf4f064faf461897e931b
BLAKE2b-256 30221cda1b902f578d4cbdb1ac1e90855c20be9428fa7e4ee78f7bbd6b2fa6f9

See more details on using hashes here.

Supported by

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