Skip to content

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

"session_id": "skippy-desktop"

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

"sync_whatsapp": true

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

"whatsapp_number": "+1234567890"

Your WhatsApp phone number for sync. Include country code.

Format: +<country><number> (no spaces or dashes)


show_thinking

"show_thinking": true

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

"thinking_level": "low"

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

"voice_input_enabled": true

Enable the push-to-talk microphone button.


stt_provider

"stt_provider": "local-whisper"

Speech-to-text provider selection.

Value Description Requirements
"local-whisper" Offline Whisper STT faster-whisper package
"google" Google Speech Recognition Internet connection

whisper_model

"whisper_model": "base"

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

"voice_output_enabled": false

Speak AI responses aloud.

Toggle: Click 🔇/🔊 button or Tray menu → Voice → 🔊 Speak Responses


tts_provider

"tts_provider": "edge"

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

"edge_voice": "en-GB-RyanNeural"

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

"edge_rate": "+0%"

Adjust Edge TTS speaking rate.

Value Effect
"+20%" 20% faster
"+0%" Normal
"-10%" 10% slower

tts_rate

"tts_rate": 175

Words per minute for pyttsx3 (fallback TTS).

Typical Range: 125-200


tts_voice

"tts_voice": null

Specific pyttsx3 voice name. null uses system default.


Pipeline Settings (Local-First AI)

use_pipeline

"use_pipeline": true

Enable the local-first pipeline using Ollama models for instant responses.


pipeline_conversation_model

"pipeline_conversation_model": "mistral:7b-instruct"

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

"pipeline_fast_model": "phi3:mini"

Quick model for instant acknowledgments ("DING! Let me think...").


pipeline_enable_streaming_tts

"pipeline_enable_streaming_tts": true

Stream audio while text is still generating.


pipeline_enable_background_claude

"pipeline_enable_background_claude": true

Use Claude for complex tasks (code analysis, etc.) in the background.


pipeline_temperature

"pipeline_temperature": 0.8

Controls response creativity (0.0 = focused, 1.0 = creative).


pipeline_max_tokens

"pipeline_max_tokens": 600

Maximum response length in tokens.


enable_local_fallback

"enable_local_fallback": true

Enable Ollama as fallback when Claude is unavailable.


local_model

"local_model": "qwen2.5:0.5b"

Fallback model when primary models fail.


ollama_url

"ollama_url": "http://localhost:11434"

Ollama API endpoint.


Smart Routing Settings

smart_routing

"smart_routing": true

Enable intelligent routing between local models and Claude.


default_model

"default_model": "claude-sonnet-4-20250514"

Claude model for background/escalation tasks.


escalation_model

"escalation_model": "claude-opus-4-0519"

Claude model for very complex tasks.


Avatar Settings

avatar_enabled

"avatar_enabled": true

Show the animated Skippy avatar.


avatar_size

"avatar_size": "normal"

Avatar display size.

Value Size
"small" Compact
"normal" Standard
"large" Big

Wake Word Settings

wake_word_enabled

"wake_word_enabled": false

Enable hands-free activation with wake words.

Requires Additional Setup

Wake word detection requires additional dependencies.


wake_words

"wake_words": ["hey skippy", "skippy", "hey skip", "skip"]

Phrases that activate Skippy.


wake_word_sensitivity

"wake_word_sensitivity": 0.7

Detection sensitivity (0.0 = strict, 1.0 = loose).


wake_word_cooldown

"wake_word_cooldown": 2.0

Seconds to wait between wake word activations.


Mini Mode Settings

mini_mode_position

"mini_mode_position": [300, 274]

Screen position [x, y] for mini mode window.


mini_mode_opacity

"mini_mode_opacity": 0.9

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

  1. Close Skippy
  2. Edit config.json with any text editor
  3. 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:

  1. Skippy logs error to logs/error_<timestamp>.log
  2. Falls back to default settings
  3. Overwrites invalid config with defaults

Backup Your Config

Before making changes:

Copy-Item config.json config.json.backup