# Model Switching (Paid vs Free) This setup adds two model profiles: - `paid` -> `moonshot/kimi-k2.5` with local Ollama fallbacks - `free` -> local Ollama-only stack ## On-demand switch (immediate) ```bash cd /Volumes/Data/openclaw-setups/openclaw-setup-max bash ./scripts/model_profile_switch.sh free ``` Switch back: ```bash bash ./scripts/model_profile_switch.sh paid ``` Notes: - This updates OpenClaw default + fallbacks. - It also pushes `/model ...` to the active `agent:main:main` session by default. ## Show status and available profiles ```bash bash ./scripts/model_profile_switch.sh status ``` ## Schedule auto-switching (example: free from 9pm-7am) 1. Edit config: ```bash cd /Volumes/Data/openclaw-setups/openclaw-setup-max open config/model-schedule.config.json ``` Ensure: ```json { "enabled": true, "dayProfile": "paid", "nightProfile": "free", "dayStartHour": 7, "nightStartHour": 21 } ``` 2. Install schedule launchd job: ```bash bash ./scripts/install_model_schedule_guard_launchd.sh ``` Note: - Installer stages runtime files in `~/Library/Application Support/openclaw-local-model-guard`. - If you edit configs/scripts in this repo, rerun installer scripts to sync stage files. 3. Verify: ```bash launchctl print gui/$(id -u)/ai.openclaw.local.model-schedule-guard tail -n 50 /tmp/openclaw-model-schedule-guard.log /tmp/openclaw-model-schedule-guard.err.log ``` If schedule is enabled, it will override manual model switches on the next run. ## Budget guard (optional but recommended) This warns when high-cost models are left on and can auto-revert. ```bash bash ./scripts/install_model_budget_guard_launchd.sh ``` Or install both schedule + budget: ```bash bash ./scripts/install_local_model_guardrails.sh ``` ## Disable / remove launchd jobs ```bash launchctl bootout gui/$(id -u)/ai.openclaw.local.model-schedule-guard 2>/dev/null || true launchctl bootout gui/$(id -u)/ai.openclaw.local.model-budget-guard 2>/dev/null || true ```