Spaces:
Running
Running
File size: 4,464 Bytes
3d50167 b0c5e01 3d50167 70b31b7 5168622 3d50167 70b31b7 3d50167 8c89f37 3d50167 add7bfd 3d50167 bcbb712 3d50167 b0c5e01 3d50167 bcbb712 3d50167 6b7272b 3d50167 6b7272b 3d50167 |
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 |
// ===== 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,
LLM_TEMPERATURE: 0.9,
LLM_MAX_TOKENS: 400,
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] };
}
};
|