Spaces:
Running
Running
File size: 4,492 Bytes
9aa357b e419d9f 9aa357b e419d9f 9aa357b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 |
// ===== KIMI CONFIGURATION CENTER =====
window.KIMI_CONFIG = {
// Default values for all components
DEFAULTS: {
LANGUAGE: "en",
THEME: "dark",
INTERFACE_OPACITY: 0.8,
ANIMATIONS_ENABLED: true,
VOICE_RATE: 1.1,
VOICE_PITCH: 1.1,
VOICE_VOLUME: 0.8,
TTS_ENABLED: true,
LLM_TEMPERATURE: 0.9,
LLM_MAX_TOKENS: 800,
LLM_TOP_P: 0.9,
LLM_FREQUENCY_PENALTY: 0.9,
LLM_PRESENCE_PENALTY: 0.8,
SELECTED_CHARACTER: "kimi",
SHOW_TRANSCRIPT: true,
ENABLE_STREAMING: true,
VOICE_ENABLED: true,
MEMORY_SYSTEM_ENABLED: true
},
// Validation ranges
RANGES: {
VOICE_RATE: { min: 0.5, max: 2.0 },
VOICE_PITCH: { min: 0.5, max: 2.0 },
VOICE_VOLUME: { min: 0.0, max: 1.0 },
INTERFACE_OPACITY: { min: 0.1, max: 1.0 },
LLM_TEMPERATURE: { min: 0.0, max: 1.0 },
LLM_MAX_TOKENS: { min: 10, max: 8192 },
LLM_TOP_P: { min: 0.0, max: 1.0 },
LLM_FREQUENCY_PENALTY: { min: 0.0, max: 2.0 },
LLM_PRESENCE_PENALTY: { min: 0.0, max: 2.0 }
},
// Performance settings
PERFORMANCE: {
DEBOUNCE_DELAY: 300,
THROTTLE_DELAY: 100,
BATCH_SIZE: 10,
MAX_MEMORY_ENTRIES: 1000,
CLEANUP_INTERVAL: 300000 // 5 minutes
},
// UI settings
UI: {
LOADING_TIMEOUT: 1500,
ANIMATION_DURATION: 500,
FEEDBACK_DURATION: 1500,
TAB_SCROLL_THRESHOLD: 50
},
// API settings
API: {
MAX_RETRIES: 3,
TIMEOUT: 30000,
RATE_LIMIT_DELAY: 1000
},
// Error messages
ERRORS: {
INIT_FAILED: "Initialization failed",
DB_ERROR: "Database error",
API_ERROR: "API error",
VALIDATION_ERROR: "Validation error",
NETWORK_ERROR: "Network error"
},
// Debug configuration (centralized)
DEBUG: {
ENABLED: false, // Master debug switch
VOICE: false, // Voice system debug
VIDEO: false, // Video system debug
MEMORY: false, // Memory system debug
API: false, // API calls debug
SYNC: false // Synchronization debug
},
// Available themes
THEMES: {
dark: "Dark Night",
pink: "Passionate Pink",
blue: "Ocean Blue",
purple: "Mystic Purple",
green: "Emerald Forest"
},
// Supported languages
LANGUAGES: {
fr: "French",
en: "English",
es: "Spanish",
de: "German",
it: "Italian",
ja: "Japanese",
zh: "Chinese"
}
};
// Configuration utility functions
window.KIMI_CONFIG.get = function (path, fallback = null) {
try {
const keys = path.split(".");
let value = this;
for (const key of keys) {
if (value && typeof value === "object" && key in value) {
value = value[key];
} else {
return fallback;
}
}
return value;
} catch (error) {
console.error("Config get error:", error);
return fallback;
}
};
// Centralized debug logging utility
window.KIMI_CONFIG.debugLog = function (category, message, ...args) {
if (!this.DEBUG.ENABLED) return;
const categoryEnabled = category === "GENERAL" ? true : this.DEBUG[category];
if (!categoryEnabled) return;
const prefix =
category === "GENERAL"
? "π§"
: {
VOICE: "π€",
VIDEO: "π¬",
MEMORY: "πΎ",
API: "π‘",
SYNC: "π"
}[category] || "π§";
console.log(`${prefix} [${category}]`, message, ...args);
};
window.KIMI_CONFIG.validate = function (value, type) {
try {
const range = this.RANGES[type];
if (!range) return { valid: true, value };
const numValue = parseFloat(value);
if (isNaN(numValue)) return { valid: false, value: this.DEFAULTS[type] };
const clampedValue = Math.max(range.min, Math.min(range.max, numValue));
return { valid: true, value: clampedValue };
} catch (error) {
console.error("Config validation error:", error);
return { valid: false, value: this.DEFAULTS[type] };
}
};
|