Always-on headless host service for EVO Code clients.
- App repo (
EVO-Code): https://github.com/0xdippo/EVO-Code - Host repo (
EVO-Code-host, this repo): https://github.com/0xdippo/EVO-Code-host
- Rust + Axum daemon (
evo-code-host) suitable for 24/7 running. - Token-authenticated HTTP API and WebSocket endpoint.
- Config-driven allowed repository roots.
- Embedded browser UI served from the same host process.
- Health endpoints:
/healthzand/readyz. - macOS launchd scripts for auto-start and auto-restart.
One host process now serves both:
- Desktop app clients (existing remote mode) via
/api/*+/ws - Browser clients via
/(works on any modern browser-capable device: iPad, tablets, laptops, desktop browsers)
No separate UI server is required.
Host builds require:
- Rust toolchain
- Node.js + npm (used by
build.rsto buildweb/distwhen stale or missing)
Copy config/config.example.toml to ~/.config/evo-code-host/config.toml and set:
listen_addr: usually0.0.0.0:7700service_token: shared token used by app/browser clientsallowed_repo_roots: list of absolute roots this service can operate on
cargo runcargo will trigger the web UI build automatically when required.
The service reads config from:
$EVO_CODE_HOST_CONFIGif set- otherwise
~/.config/evo-code-host/config.toml
./ops/launchd/install.sh
./ops/launchd/status.sh
./ops/launchd/uninstall.shImplemented:
/api/list_shared_repositories/api/open_repository/api/write_repository_file/api/setup_project/api/create_plan_run/api/save_plan/api/approve_plan/api/reject_plan/api/start_run/api/cancel_run/api/list_changed_files/api/load_changed_file_diff/api/apply_review_decision/api/clear_accepted_review_decision/api/commit_accepted_changes/api/run_doctor_checks/api/load_chat_thread/api/send_chat_message/api/cancel_chat_message/ws