{
  "database": {
    "type": "sqlite",
    "sqlite_path": "~/.aisbf/aisbf.db",
    "mysql_host": "localhost",
    "mysql_port": 3306,
    "mysql_user": "aisbf",
    "mysql_password": "",
    "mysql_database": "aisbf"
  },
  "classify_nsfw": false,
  "classify_privacy": false,
  "classify_semantic": false,
  "server": {
    "host": "0.0.0.0",
    "port": 17765,
    "protocol": "http",
    "ssl_certfile": null,
    "ssl_keyfile": null
  },
  "auth": {
    "enabled": false,
    "tokens": [
      "your-secret-token-1",
      "your-secret-token-2"
    ]
  },
  "mcp": {
    "enabled": false,
    "autoselect_tokens": [
      "mcp-autoselect-token-1",
      "mcp-autoselect-token-2"
    ],
    "fullconfig_tokens": [
      "mcp-fullconfig-token-1",
      "mcp-fullconfig-token-2"
    ]
  },
  "dashboard": {
    "enabled": true,
    "username": "admin",
    "password": "8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918"
  },
  "internal_model": {
    "condensation_model_id": "huihui-ai/Qwen2.5-0.5B-Instruct-abliterated-v3",
    "autoselect_model_id": "huihui-ai/Qwen2.5-0.5B-Instruct-abliterated-v3",
    "nsfw_classifier": "michelleli99/NSFW_text_classifier",
    "privacy_classifier": "iiiorg/piiranha-v1-detect-personal-information",
    "semantic_vectorization": "sentence-transformers/all-MiniLM-L6-v2"
  },
  "cache": {
    "type": "sqlite",
    "sqlite_path": "~/.aisbf/cache.db",
    "redis_host": "localhost",
    "redis_port": 6379,
    "redis_db": 0,
    "redis_password": null,
    "redis_key_prefix": "aisbf:",
    "mysql_host": "localhost",
    "mysql_port": 3306,
    "mysql_user": "aisbf",
    "mysql_password": "",
    "mysql_database": "aisbf_cache"
  },
  "response_cache": {
    "enabled": true,
    "backend": "memory",
    "ttl": 600,
    "max_memory_cache": 1000,
    "redis_host": "localhost",
    "redis_port": 6379,
    "redis_db": 0,
    "redis_password": null,
    "redis_key_prefix": "aisbf:response:",
    "sqlite_path": "~/.aisbf/response_cache.db",
    "mysql_host": "localhost",
    "mysql_port": 3306,
    "mysql_user": "aisbf",
    "mysql_password": "",
    "mysql_database": "aisbf_response_cache"
  },
  "tor": {
    "enabled": false,
    "control_port": 9051,
    "control_host": "127.0.0.1",
    "control_password": null,
    "hidden_service_dir": null,
    "hidden_service_port": 80,
    "socks_port": 9050,
    "socks_host": "127.0.0.1"
  },
  "batching": {
    "enabled": false,
    "window_ms": 100,
    "max_batch_size": 8,
    "provider_settings": {
      "openai": {
        "enabled": true,
        "max_batch_size": 10
      },
      "anthropic": {
        "enabled": true,
        "max_batch_size": 5
      }
    }
  },
  "adaptive_rate_limiting": {
    "enabled": true,
    "initial_rate_limit": 0,
    "learning_rate": 0.1,
    "headroom_percent": 10,
    "recovery_rate": 0.05,
    "max_rate_limit": 60,
    "min_rate_limit": 0.1,
    "backoff_base": 2,
    "jitter_factor": 0.25,
    "history_window": 3600,
    "consecutive_successes_for_recovery": 10
  }
}
