Implement comprehensive config system and clean up codebase
Major changes: - Add Pydantic-based configuration system (bot/config.py, bot/config_manager.py) - Add config.yaml with all service URLs, models, and feature flags - Fix config.yaml path resolution in Docker (check /app/config.yaml first) - Remove Fish Audio API integration (tested feature that didn't work) - Remove hardcoded ERROR_WEBHOOK_URL, import from config instead - Add missing Pydantic models (LogConfigUpdateRequest, LogFilterUpdateRequest) - Enable Cheshire Cat memory system by default (USE_CHESHIRE_CAT=true) - Add .env.example template with all required environment variables - Add setup.sh script for user-friendly initialization - Update docker-compose.yml with proper env file mounting - Update .gitignore for config files and temporary files Config system features: - Static configuration from config.yaml - Runtime overrides from config_runtime.yaml - Environment variables for secrets (.env) - Web UI integration via config_manager - Graceful fallback to defaults Secrets handling: - Move ERROR_WEBHOOK_URL from hardcoded to .env - Add .env.example with all placeholder values - Document all required secrets - Fish API key and voice ID removed from .env Documentation: - CONFIG_README.md - Configuration system guide - CONFIG_SYSTEM_COMPLETE.md - Implementation summary - FISH_API_REMOVAL_COMPLETE.md - Removal record - SECRETS_CONFIGURED.md - Secrets setup record - BOT_STARTUP_FIX.md - Pydantic model fixes - MIGRATION_CHECKLIST.md - Setup checklist - WEB_UI_INTEGRATION_COMPLETE.md - Web UI config guide - Updated readmes/README.md with new features
This commit is contained in:
56
config.yaml
Normal file
56
config.yaml
Normal file
@@ -0,0 +1,56 @@
|
||||
# ============================================
|
||||
# Miku Discord Bot - Configuration
|
||||
# ============================================
|
||||
# This file contains all non-secret configuration
|
||||
# Secrets (API keys, tokens) go in .env
|
||||
|
||||
# Service Endpoints
|
||||
services:
|
||||
llama:
|
||||
url: http://llama-swap:8080
|
||||
amd_url: http://llama-swap-amd:8080
|
||||
|
||||
cheshire_cat:
|
||||
url: http://cheshire-cat:80
|
||||
timeout_seconds: 120
|
||||
enabled: true # Set to false to disable Cheshire Cat integration
|
||||
|
||||
face_detector:
|
||||
startup_timeout_seconds: 60
|
||||
|
||||
# AI Models
|
||||
models:
|
||||
text: llama3.1
|
||||
vision: vision
|
||||
evil: darkidol # Uncensored model for evil mode
|
||||
japanese: swallow # Llama 3.1 Swallow model for Japanese
|
||||
|
||||
# Discord Bot Settings
|
||||
discord:
|
||||
language_mode: english # Options: english, japanese
|
||||
api_port: 3939 # FastAPI server port
|
||||
|
||||
# Autonomous System
|
||||
autonomous:
|
||||
debug_mode: false # Enable detailed decision logging
|
||||
# Mood settings can be configured per-server via API
|
||||
|
||||
# Voice Chat
|
||||
voice:
|
||||
debug_mode: false # Enable manual commands and notifications
|
||||
# When false (production), voice operates silently
|
||||
|
||||
# Memory & Logging
|
||||
memory:
|
||||
log_dir: /app/memory/logs
|
||||
conversation_history_length: 5 # Messages to keep per user
|
||||
|
||||
# Server Settings
|
||||
server:
|
||||
host: 0.0.0.0
|
||||
log_level: critical # For uvicorn (access logs handled separately)
|
||||
|
||||
# GPU Configuration
|
||||
gpu:
|
||||
prefer_amd: false # Prefer AMD GPU over NVIDIA
|
||||
amd_models_enabled: true
|
||||
Reference in New Issue
Block a user