🔧

Ripperdoc

Configuration

Configuring Ripperdoc models and behavior

Ripperdoc can be configured through configuration files or environment variables.

Configuration Files

Configuration is loaded in order of precedence:

  1. Global: ~/.ripperdoc.json
  2. Project: .ripperdoc/config.json

Project configuration overrides global configuration.

Model Configuration

Basic Model Setup

{
  "model_profiles": {
    "default": {
      "provider": "openai_compatible",
      "model": "deepseek-chat",
      "api_key": "YOUR_DEEPSEEK_KEY",
      "api_base": "https://api.deepseek.com",
      "max_tokens": 4096,
      "temperature": 0.0
    }
  },
  "model_pointers": {
    "main": "default",
    "quick": "default"
  }
}

Multiple Models

You can define multiple model profiles:

{
  "model_profiles": {
    "default": {
      "provider": "openai_compatible",
      "model": "deepseek-chat",
      "api_key": "YOUR_DEEPSEEK_KEY",
      "api_base": "https://api.deepseek.com"
    },
    "reasoner": {
      "provider": "openai_compatible",
      "model": "deepseek-reasoner",
      "api_key": "YOUR_DEEPSEEK_KEY",
      "api_base": "https://api.deepseek.com",
      "thinking_mode": "deepseek"
    },
    "local": {
      "provider": "openai_compatible",
      "model": "llama3.2",
      "api_base": "http://localhost:11434/v1",
      "api_key": null
    }
  },
  "model_pointers": {
    "main": "default",
    "quick": "reasoner"
  }
}

Switch between profiles using the /models command or --model flag (use the profile name from model_profiles):

ripperdoc --model fast

Provider Options

ProviderRequired Env VarAPI Base
openai_compatibleProvider-specificProvider-specific (for example https://api.deepseek.com)
anthropicANTHROPIC_API_KEYhttps://api.anthropic.com
geminiGEMINI_API_KEYGoogle AI API

Custom API Endpoints

For OpenAI-compatible APIs:

{
  "model_profiles": {
    "custom": {
      "provider": "openai_compatible",
      "api_base": "https://your-api-endpoint.com/v1",
      "api_key": "YOUR_CUSTOM_KEY",
      "model": "your-model-name"
    }
  },
  "model_pointers": {
    "main": "custom",
    "quick": "custom"
  }
}

Thinking Mode

For models that support extended thinking (DeepSeek, Claude with extended thinking):

{
  "model_profiles": {
    "reasoning": {
      "provider": "openai_compatible",
      "model": "deepseek-reasoner",
      "api_key": "YOUR_DEEPSEEK_KEY",
      "api_base": "https://api.deepseek.com",
      "thinking_mode": "deepseek"
    }
  },
  "model_pointers": {
    "main": "reasoning",
    "quick": "reasoning"
  }
}

Permission Settings

{
  "permissions": {
    "mode": "default",
    "rules": []
  }
}

See Permissions for detailed configuration.

CLI Options

OptionDescription
--model NAMEUse a specific model profile
--yoloSkip permission prompts
--verboseEnable verbose output
--max-thinking-tokens NSet max thinking tokens

Environment Variables

API keys can be provided in the config file. Environment variables are optional and can be used instead.

VariableDescription
ANTHROPIC_API_KEYOptional if you set api_key in config
OPENAI_API_KEYOptional if you set api_key in config
DEEPSEEK_API_KEYOptional if you set api_key in config
GEMINI_API_KEYOptional if you set api_key in config
RIPPERDOC_MAX_RETRIESMax API retries (default: 10)
RIPPERDOC_API_TIMEOUTAPI timeout in seconds (default: 120)

See Environment Variables for a complete list.