docs/10-config.md
Configuration
Vuhlp is configured entirely via environment variables. The daemon auto-loads a .env file from the current working directory (and up to 4 parent levels).
Core environment variables
VUHLP_BIND_HOST/VUHLP_HOST: bind host (default0.0.0.0)VUHLP_PORT: HTTP/WS port (default4000)VUHLP_DATA_DIR: data directory (defaultdata)VUHLP_REPO_ROOT: repo root for tool execution (defaultprocess.cwd())VUHLP_APP_ROOT: vuhlp app root (default derived frompackages/daemon)VUHLP_STALL_THRESHOLD: stall detection threshold (default20)
Provider configuration
Set per-provider transport:
VUHLP_<PROVIDER>_TRANSPORT=cli|api
Supported providers: CLAUDE, CODEX, GEMINI, CUSTOM.
CLI transport
VUHLP_<PROVIDER>_COMMANDVUHLP_<PROVIDER>_ARGSVUHLP_<PROVIDER>_PROTOCOL(raw/stream-json/jsonl; Claude/Codex are forced)VUHLP_<PROVIDER>_STATEFUL_STREAMING(ignored for Claude/Codex)VUHLP_<PROVIDER>_RESUME_ARGSVUHLP_<PROVIDER>_REPLAY_TURNSVUHLP_<PROVIDER>_NATIVE_TOOLS=provider|vuhlp
API transport
VUHLP_<PROVIDER>_API_KEYVUHLP_<PROVIDER>_API_URLVUHLP_<PROVIDER>_MODELVUHLP_<PROVIDER>_MAX_TOKENS
Defaults and enforcement
- Claude CLI is forced to stream-json input/output.
- Codex CLI runs the local fork (
codex vuhlp) with jsonl protocol. - Gemini CLI defaults to stream-json input/output and uses the local bundle when available.
Example (.env)
VUHLP_PORT=4000
VUHLP_DATA_DIR=data
VUHLP_CLAUDE_TRANSPORT=cli
VUHLP_CODEX_TRANSPORT=cli
VUHLP_GEMINI_TRANSPORT=cli
See .env.example for a full template.
