Configuration¶
Skippy stores its configuration in config.json in the application directory.
Location: C:\Users\ejb71\SkippyBuddy\config.json
Complete Configuration Reference¶
{
"session_id": "skippy-desktop",
"sync_whatsapp": true,
"whatsapp_number": "+1234567890",
"show_thinking": true,
"thinking_level": "low",
"voice_input_enabled": true,
"voice_output_enabled": true,
"stt_provider": "local-whisper",
"whisper_model": "base",
"tts_provider": "edge",
"edge_voice": "en-GB-RyanNeural",
"edge_rate": "+0%",
"tts_rate": 175,
"tts_voice": null,
"wake_word_enabled": false,
"wake_words": ["hey skippy", "skippy"],
"wake_word_sensitivity": 0.7,
"wake_word_cooldown": 2.0,
"mini_mode_position": [300, 274],
"mini_mode_opacity": 0.9,
"avatar_enabled": true,
"avatar_size": "normal",
"use_pipeline": true,
"smart_routing": true,
"default_model": "claude-sonnet-4-20250514",
"escalation_model": "claude-opus-4-0519",
"enable_local_fallback": true,
"local_model": "qwen2.5:0.5b",
"ollama_url": "http://localhost:11434",
"pipeline_conversation_model": "mistral:7b-instruct",
"pipeline_fast_model": "phi3:mini",
"pipeline_enable_streaming_tts": true,
"pipeline_enable_templates": true,
"pipeline_enable_few_shot": true,
"pipeline_enable_background_claude": true,
"pipeline_temperature": 0.8,
"pipeline_max_tokens": 600
}
General Settings¶
session_id¶
The OpenClaw session identifier. This determines:
- Conversation history storage
- Shared context with other channels (like WhatsApp)
- Model memory
Common Values:
| Value | Use Case |
|---|---|
"main" |
Share with all OpenClaw sessions |
"skippy-desktop" |
Desktop-only session |
"skippy-work" |
Work-related conversations |
sync_whatsapp¶
Enable two-way synchronization with WhatsApp.
| Value | Behavior |
|---|---|
true |
Responses sent to WhatsApp |
false |
Desktop-only mode |
Toggle: Tray menu → 📱 Sync to WhatsApp
whatsapp_number¶
Your WhatsApp phone number for sync. Include country code.
Format: +<country><number> (no spaces or dashes)
show_thinking¶
Display AI reasoning/thinking blocks in chat.
| Value | Behavior |
|---|---|
true |
Shows 🧠 Thinking blocks |
false |
Only final responses shown |
Toggle: Tray menu → 🧠 Show Thinking
thinking_level¶
How much reasoning the AI should use.
| Level | Description | Token Usage |
|---|---|---|
"off" |
No explicit thinking | Lowest |
"minimal" |
Brief reasoning | Low |
"low" |
Moderate reasoning | Medium |
"medium" |
Detailed reasoning | Higher |
"high" |
Extensive reasoning | Highest |
Cost Impact
Higher thinking levels use more tokens and cost more.
Voice Input Settings¶
voice_input_enabled¶
Enable the push-to-talk microphone button.
stt_provider¶
Speech-to-text provider selection.
| Value | Description | Requirements |
|---|---|---|
"local-whisper" |
Offline Whisper STT | faster-whisper package |
"google" |
Google Speech Recognition | Internet connection |
whisper_model¶
Which Whisper model to use for local STT.
| Model | Size | Speed | Accuracy |
|---|---|---|---|
"tiny" |
~75 MB | Fastest | Good |
"base" |
~150 MB | Fast | Better |
"small" |
~500 MB | Medium | Good |
"medium" |
~1.5 GB | Slower | Very Good |
"large-v2" |
~3 GB | Slowest | Best |
Change: Tray menu → Voice → 🧠 Whisper Model
Voice Output Settings¶
voice_output_enabled¶
Speak AI responses aloud.
Toggle: Click 🔇/🔊 button or Tray menu → Voice → 🔊 Speak Responses
tts_provider¶
Text-to-speech engine selection.
| Value | Description | Requirements |
|---|---|---|
"edge" |
Microsoft Edge neural voices | edge-tts package, internet |
"pyttsx3" |
Windows SAPI voices | pyttsx3 package |
edge_voice¶
Which Edge TTS voice to use.
Popular Options:
| Voice ID | Description |
|---|---|
en-US-GuyNeural |
Guy (US Male) |
en-US-JennyNeural |
Jenny (US Female) |
en-US-AriaNeural |
Aria (US Female, Conversational) |
en-GB-RyanNeural |
Ryan (UK Male) |
en-GB-SoniaNeural |
Sonia (UK Female) |
en-AU-WilliamNeural |
William (AU Male) |
Change: Tray menu → Voice → 🗣️ Select Voice
edge_rate¶
Adjust Edge TTS speaking rate.
| Value | Effect |
|---|---|
"+20%" |
20% faster |
"+0%" |
Normal |
"-10%" |
10% slower |
tts_rate¶
Words per minute for pyttsx3 (fallback TTS).
Typical Range: 125-200
tts_voice¶
Specific pyttsx3 voice name. null uses system default.
Pipeline Settings (Local-First AI)¶
use_pipeline¶
Enable the local-first pipeline using Ollama models for instant responses.
pipeline_conversation_model¶
Main Ollama model for generating responses.
| Model | Description |
|---|---|
mistral:7b-instruct |
Good balance of quality and speed |
llama3.1:8b |
Meta's latest model |
qwen2.5:7b |
Good multilingual support |
pipeline_fast_model¶
Quick model for instant acknowledgments ("DING! Let me think...").
pipeline_enable_streaming_tts¶
Stream audio while text is still generating.
pipeline_enable_background_claude¶
Use Claude for complex tasks (code analysis, etc.) in the background.
pipeline_temperature¶
Controls response creativity (0.0 = focused, 1.0 = creative).
pipeline_max_tokens¶
Maximum response length in tokens.
enable_local_fallback¶
Enable Ollama as fallback when Claude is unavailable.
local_model¶
Fallback model when primary models fail.
ollama_url¶
Ollama API endpoint.
Smart Routing Settings¶
smart_routing¶
Enable intelligent routing between local models and Claude.
default_model¶
Claude model for background/escalation tasks.
escalation_model¶
Claude model for very complex tasks.
Avatar Settings¶
avatar_enabled¶
Show the animated Skippy avatar.
avatar_size¶
Avatar display size.
| Value | Size |
|---|---|
"small" |
Compact |
"normal" |
Standard |
"large" |
Big |
Wake Word Settings¶
wake_word_enabled¶
Enable hands-free activation with wake words.
Requires Additional Setup
Wake word detection requires additional dependencies.
wake_words¶
Phrases that activate Skippy.
wake_word_sensitivity¶
Detection sensitivity (0.0 = strict, 1.0 = loose).
wake_word_cooldown¶
Seconds to wait between wake word activations.
Mini Mode Settings¶
mini_mode_position¶
Screen position [x, y] for mini mode window.
mini_mode_opacity¶
Mini mode window transparency (0.0 = invisible, 1.0 = solid).
Example Configurations¶
Minimal (Chat Only)¶
{
"session_id": "main",
"sync_whatsapp": false,
"show_thinking": false,
"voice_input_enabled": false,
"voice_output_enabled": false
}
Full Voice Experience¶
{
"session_id": "skippy-voice",
"sync_whatsapp": true,
"whatsapp_number": "+1234567890",
"show_thinking": true,
"thinking_level": "low",
"voice_input_enabled": true,
"voice_output_enabled": true,
"stt_provider": "local-whisper",
"whisper_model": "small",
"tts_provider": "edge",
"edge_voice": "en-US-AriaNeural",
"edge_rate": "+10%"
}
Fast & Cheap¶
{
"session_id": "skippy-fast",
"sync_whatsapp": false,
"show_thinking": false,
"thinking_level": "off",
"voice_input_enabled": true,
"voice_output_enabled": false,
"stt_provider": "local-whisper",
"whisper_model": "tiny"
}
Maximum Intelligence¶
{
"session_id": "skippy-smart",
"sync_whatsapp": true,
"whatsapp_number": "+1234567890",
"show_thinking": true,
"thinking_level": "high",
"voice_input_enabled": true,
"voice_output_enabled": true,
"stt_provider": "local-whisper",
"whisper_model": "large-v2",
"tts_provider": "edge",
"edge_voice": "en-GB-RyanNeural"
}
Editing Configuration¶
Direct Edit¶
- Close Skippy
- Edit
config.jsonwith any text editor - Save and restart Skippy
Via Tray Menu¶
Some settings can be changed through the tray menu:
- 📱 Sync to WhatsApp
- 🧠 Show Thinking
- Voice → 🔊 Speak Responses
- Voice → Select Voice
- Voice → Whisper Model
Changes are saved automatically.
Reset to Default¶
Delete config.json and restart Skippy. A new default config will be created.
Configuration Validation¶
If config.json is malformed:
- Skippy logs error to
logs/error_<timestamp>.log - Falls back to default settings
- Overwrites invalid config with defaults