-- 模型资源种子数据。依赖应用启动时写入 interface_definitions。 INSERT INTO model_resources (id, name, capability, interface_type, values, secrets, enabled, is_default) VALUES ('model_001', 'DeepSeek-Chat', 'LLM', 'openai-llm', '{"modelId":"deepseek-chat","apiUrl":"https://api.deepseek.com/v1","temperature":0.7}', '{"apiKey":"replace-me"}', TRUE, TRUE), ('model_002', 'SiliconFlow-TeleSpeechASR', 'ASR', 'openai-asr', '{"modelId":"TeleAI/TeleSpeechASR","apiUrl":"https://api.siliconflow.cn/v1","language":"zh"}', '{"apiKey":"replace-me"}', TRUE, FALSE), ('model_003', 'SiliconFlow-Qwen3-Embedding-4B', 'Embedding', 'openai-embedding', '{"modelId":"Qwen/Qwen3-Embedding-4B","apiUrl":"https://api.siliconflow.cn/v1"}', '{"apiKey":"replace-me"}', TRUE, TRUE), ('model_004', 'SiliconFlow-CosyVoice2-0.5B', 'TTS', 'openai-tts', '{"modelId":"FunAudioLLM/CosyVoice2-0.5B","apiUrl":"https://api.siliconflow.cn/v1","voice":"FunAudioLLM/CosyVoice2-0.5B:anna","speed":1.0,"sourceSampleRate":24000}', '{"apiKey":"replace-me"}', TRUE, FALSE), ('model_005', '讯飞语音识别', 'ASR', 'xfyun-asr', '{"apiUrl":"https://iat-api.xfyun.cn/v2/iat","language":"zh_cn","domain":"iat","accent":"mandarin","dynamicCorrection":false,"frameSize":1280}', '{"appId":"replace-me","apiKey":"replace-me","apiSecret":"replace-me"}', TRUE, TRUE), ('model_006', 'Paraformer 识别', 'ASR', 'dashscope-asr', '{"modelId":"paraformer-realtime-v2","apiUrl":"https://dashscope.aliyuncs.com/api/v1/services/audio/asr","language":"zh"}', '{"apiKey":"replace-me"}', TRUE, FALSE), ('model_007', '讯飞语音合成', 'TTS', 'xfyun-tts', '{"apiUrl":"https://tts-api.xfyun.cn/v2/tts","voice":"xiaoyan","speed":50,"volume":50,"pitch":50,"sourceSampleRate":16000}', '{"appId":"replace-me","apiKey":"replace-me","apiSecret":"replace-me"}', TRUE, TRUE), ('model_008', 'CosyVoice 合成', 'TTS', 'dashscope-tts', '{"modelId":"cosyvoice-v1","apiUrl":"https://dashscope.aliyuncs.com/api/v1/services/audio/tts","voice":"longxiaochun"}', '{"apiKey":"replace-me"}', TRUE, FALSE), ('model_009', 'GPT Realtime', 'Realtime', 'openai-realtime', '{"modelId":"gpt-4o-realtime-preview","apiUrl":"https://api.openai.com/v1/realtime"}', '{"apiKey":"replace-me"}', TRUE, TRUE), ('model_010', 'Gemini Live', 'Realtime', 'gemini-realtime', '{"modelId":"gemini-2.0-flash-live","apiUrl":"https://generativelanguage.googleapis.com/v1beta"}', '{"apiKey":"replace-me"}', TRUE, FALSE), ('model_011', 'text-embedding-3', 'Embedding', 'openai-embedding', '{"modelId":"text-embedding-3-small","apiUrl":"https://api.openai.com/v1/embeddings"}', '{"apiKey":"replace-me"}', TRUE, FALSE), ('model_012', 'StepAudio 2.5 Realtime', 'Realtime', 'stepfun-realtime', '{"modelId":"stepaudio-2.5-realtime","apiUrl":"wss://api.stepfun.com/v1/realtime","voice":"linjiajiejie","inputSampleRate":24000,"outputSampleRate":24000,"prefixPaddingMs":500,"silenceDurationMs":300,"energyAwakenessThreshold":2500}', '{"apiKey":"replace-me"}', TRUE, FALSE) -- Seed defaults must never overwrite resources configured through the UI. ON CONFLICT (id) DO NOTHING;