Skip to main content

Configuration Reference

Exhaustive reference for every Hydra config field and environment variable across all CLaaS backends and the eval harness. For getting-started guides, see the individual backend pages.

Local Backend

See Local GPU Backend for setup instructions.

Hydra Config (claas/core/configs/local.yaml)

defaults:
  - _core_local_schema
  - _self_

mode: local
feedback_log_dir: ./data/feedback
lora_root: /loras
storage_backend: local_fs
allowed_init_base_models:
  - Qwen/Qwen3-8B
vllm_base_url: http://127.0.0.1:8000
feedback_lock_timeout_s: 120.0
feedback_wake_on_failure: true
feedback_min_free_vram_gb: 20.0
feedback_sleep_verify_timeout_s: 30.0
feedback_drain_timeout_s: 30.0
base_model_id: Qwen/Qwen3-8B
attn_implementation: flash_attention_2
completion_cache_size: 100

Environment Variables

These correspond to the LocalConfig dataclass fields and Docker Compose .env variables.
VariableDefaultDescription
TELEGRAM_BOT_TOKEN(required)Bot token from @BotFather
HF_TOKENHuggingFace token for gated models
MODELQwen/Qwen3-8BBase model ID
MAX_MODEL_LEN32768Max sequence length for vLLM
GPU_MEMORY_UTILIZATION0.70GPU VRAM fraction for vLLM
LORA_NAMEopenclaw/assistantLoRA adapter identity
CLAAS_API_PORT8080Host port for CLaaS API
OPENCLAW_PORT18789Host port for OpenClaw gateway
CLAAS_DISTILL_EXECUTION_MODElocalTraining engine
CLAAS_BASE_MODEL_IDQwen/Qwen3-8BBase model for LoRA training
CLAAS_LORA_ROOT/lorasRoot directory for LoRA adapter storage
CLAAS_STORAGE_BACKENDlocal_fsStorage backend: local_fs, modal_volume, or tinker_json
CLAAS_ALLOWED_INIT_BASE_MODELSQwen/Qwen3-8BComma-separated allowlist for /v1/lora/init
CLAAS_COMPLETION_CACHE_SIZE100Completion cache entries to retain
FEEDBACK_LOG_DIR./data/feedbackDirectory for structured feedback JSON logs
VLLM_BASE_URLhttp://127.0.0.1:8000vLLM server URL
VLLM_API_KEYsk-localAPI key for vLLM authentication
CLAAS_ATTN_IMPLEMENTATIONflash_attention_2Attention backend (sdpa, flash_attention_2)
FEEDBACK_LOCK_TIMEOUT_S120Per-LoRA lock timeout in seconds
FEEDBACK_WAKE_ON_FAILUREtrueWake vLLM if the distill step fails
FEEDBACK_MIN_FREE_VRAM_GB20Minimum free VRAM (GB) before training starts
FEEDBACK_SLEEP_VERIFY_TIMEOUT_S30Timeout (s) waiting for vLLM to sleep
FEEDBACK_DRAIN_TIMEOUT_S30Timeout (s) draining vLLM queue before sleep

Tinker Backend

See Tinker SDK Backend for setup instructions.

Hydra Config (claas/core/configs/tinker.yaml)

defaults:
  - _core_tinker_schema
  - _self_

mode: tinker
feedback_log_dir: ./data/feedback
lora_root: /loras
storage_backend: local_fs
allowed_init_base_models:
  - Qwen/Qwen3-8B
vllm_base_url: http://127.0.0.1:8000
tinker_base_model: Qwen/Qwen3-30B-A3B
tinker_state_path: /data/tinker_state.json
completion_cache_size: 100

Environment Variables

These correspond to the TinkerConfig dataclass fields and Docker Compose .env.tinker variables.
VariableDefaultDescription
TELEGRAM_BOT_TOKEN(required)Bot token from @BotFather
TINKER_API_KEY(required)API key for Tinker SDK
MODELQwen/Qwen3-30B-A3BBase model ID (Tinker name)
LORA_NAMEopenclaw/assistantLoRA adapter identity
CLAAS_API_PORT8080Host port for CLaaS API
OPENCLAW_PORT18789Host port for OpenClaw gateway
TINKER_PROXY_PORT8000Host port for Tinker inference proxy
FEEDBACK_BATCH_SIZE4Samples per feedback batch before triggering distill
CLAAS_DISTILL_EXECUTION_MODEtinkerTraining engine
CLAAS_LORA_ROOT/lorasRoot directory for LoRA adapter storage
CLAAS_STORAGE_BACKENDlocal_fsStorage backend (use tinker_json for Tinker)
CLAAS_ALLOWED_INIT_BASE_MODELSQwen/Qwen3-8BComma-separated allowlist for /v1/lora/init
CLAAS_COMPLETION_CACHE_SIZE100Completion cache entries to retain
FEEDBACK_LOG_DIR./data/feedbackDirectory for structured feedback JSON logs
CLAAS_TINKER_API_KEY(required)Tinker SDK API key
CLAAS_TINKER_BASE_MODELQwen/Qwen3-30B-A3BHosted model for distillation
CLAAS_TINKER_STATE_PATH~/.claas/tinker_state.jsonLocal path for Tinker LoRA state file
VLLM_BASE_URLhttp://127.0.0.1:8000URL of the Tinker inference proxy
VLLM_API_KEYsk-localAPI key for inference proxy

See Modal Cloud Backend for setup instructions.

Hydra Config (claas/core/configs/modal.yaml)

defaults:
  - _core_modal_schema
  - _self_

mode: modal
feedback_log_dir: ./data/feedback
lora_root: /loras
storage_backend: modal_volume
allowed_init_base_models:
  - Qwen/Qwen3-8B
vllm_base_url: http://127.0.0.1:8000
feedback_lock_timeout_s: 120.0
feedback_wake_on_failure: true
feedback_min_free_vram_gb: 20.0
feedback_sleep_verify_timeout_s: 30.0
feedback_drain_timeout_s: 30.0
completion_cache_size: 100

Environment Variables

These correspond to the ModalConfig dataclass fields.
VariableDefaultDescription
HF_TOKENHuggingFace token for gated models
CLAAS_DISTILL_EXECUTION_MODEmodalTraining engine
CLAAS_BASE_MODEL_IDQwen/Qwen3-8BBase model for LoRA training
CLAAS_LORA_ROOT/lorasRoot directory for LoRA adapter storage
CLAAS_STORAGE_BACKENDmodal_volumeStorage backend (use modal_volume)
CLAAS_ALLOWED_INIT_BASE_MODELSQwen/Qwen3-8BComma-separated allowlist for /v1/lora/init
CLAAS_COMPLETION_CACHE_SIZE100Completion cache entries to retain
FEEDBACK_LOG_DIR./data/feedbackDirectory for structured feedback JSON logs
VLLM_BASE_URLhttp://127.0.0.1:8000vLLM server URL (within Modal)
VLLM_API_KEYsk-localAPI key for vLLM authentication
FEEDBACK_LOCK_TIMEOUT_S120Per-LoRA lock timeout in seconds
FEEDBACK_WAKE_ON_FAILUREtrueWake vLLM if the distill step fails
FEEDBACK_MIN_FREE_VRAM_GB20Minimum free VRAM (GB) before training starts
FEEDBACK_SLEEP_VERIFY_TIMEOUT_S30Timeout (s) waiting for vLLM to sleep
FEEDBACK_DRAIN_TIMEOUT_S30Timeout (s) draining vLLM queue before sleep
CLAAS_HF_SECRET_NAMEName of Modal Secret containing HF credentials

Eval Harness

See Configuration & Running for setup instructions.

Hydra Config (claas/eval/configs/base.yaml)

mode: tinker
claas_url: http://localhost:8080
base_model: Qwen/Qwen3-30B-A3B

preferences:
  - no_emoji
  - concise
  - identity

metrics:
  - logprob
  - compliance
  - general
  - collapse

collapse_steps: [0, 5, 10, 15, 19]
plots: true

num_steps: 20
batch_size: 4
steps_per_batch: 1
feedback_repetitions: 1
seed: 42
lora_id_prefix: eval
output_dir: ./data/evals

openclaw_url: http://localhost:18789

Config Fields

FieldTypeDefaultDescription
modestrtinkerExecution backend: local, tinker, or modal
claas_urlstrhttp://localhost:8080CLaaS API endpoint
base_modelstrQwen/Qwen3-30B-A3BBase model for LoRA init (use Tinker name in Tinker mode)
preferenceslist[str][no_emoji, concise, identity]Preferences to train and evaluate
metricslist[str][logprob, compliance, general, collapse]Metrics to evaluate per step
num_stepsint20Number of feedback steps per preference
batch_sizeint4Samples per feedback batch
steps_per_batchint1Gradient updates per batch
feedback_repetitionsint1Times to repeat feedback string per sample
collapse_stepslist[int][0, 5, 10, 15, 19]Steps where collapse metric runs
plotsbooltrueGenerate matplotlib plots
seedint42Random seed for reproducibility
lora_id_prefixstrevalPrefix for eval LoRA adapter IDs
output_dirstr./data/evalsDirectory for eval output
openclaw_urlstr | nullhttp://localhost:18789OpenClaw gateway URL (null = use CLaaS proxy directly)

Environment Variables (Secrets)

Secrets are resolved from environment variables at runtime, not stored in config files.
VariableRequired forPurpose
CLAAS_TINKER_API_KEYTinker modeTinker SDK authentication
CLAAS_TINKER_BASE_MODELTinker modeMust match base_model in config
CLAAS_DISTILL_EXECUTION_MODEAPI servertinker, local, or modal
CLAAS_ALLOWED_INIT_BASE_MODELSAPI serverComma-separated allowed models for LoRA init
VLLM_API_KEYLocal modevLLM server auth token
OPENCLAW_GATEWAY_TOKENOpenClaw modeAuth token for OpenClaw gateway
GEMINI_API_KEYgeneral metricGemini-based capability evaluation