This flow is for end users who should not need Rust or cargo.
- run Kelvin from a prebuilt Docker runtime image
- complete first-time setup via Docker Compose
- plugins are installed automatically from the index and from image-baked artifacts
git clone https://github.com/AgenticHighway/kelvinclaw.git
cd kelvinclaw
cp .env.example .env
docker compose up -dThe kelvin-init container runs automatically before the gateway and:
- creates
trusted_publishers.jsonif it does not exist - installs the configured model provider plugin from the index (default:
kelvin.echo) - installs
kelvin.clifrom the index - installs all locally-built plugins baked into the image with
--force
Container defaults:
KELVIN_HOME=/kelvinKELVIN_PLUGIN_HOME=/kelvin/pluginsKELVIN_TRUST_POLICY_PATH=/kelvin/trusted_publishers.json
After startup:
docker compose run kelvin-host --prompt "What is KelvinClaw?" --timeout-ms 3000Launch the TUI:
docker compose --profile tui run --rm kelvin-tuidocker compose run kelvin-hostSet KELVIN_MODEL_PROVIDER in .env:
KELVIN_MODEL_PROVIDER=kelvin.anthropic
ANTHROPIC_API_KEY=<your-key>The init container installs the selected provider plugin automatically on startup.
kelvin plugin installrequiressha256in index entries and fails closed on mismatch.- Install-time manifest and payload checks run on every package.
- Runtime admission still enforces trusted publisher signatures via trust policy at load time.