This commit bundles a coordinated fix set across frontend and backend runtime flows:\n\n1) Markdown table overflow UX\n- Wrap rendered markdown tables in a dedicated horizontal-scroll container.\n- Preserve wrapper attributes through sanitize so styles always apply.\n- Keep page-level horizontal scroll disabled while allowing in-container table scroll.\n- Improve table container visual consistency (border/radius/shadow/scrollbar behavior).\n\n2) Code block horizontal jitter\n- Adjust code/pre scrollbar gutter and box model handling to remove left-right jump.\n\n3) Execution mode auto-fallback sync + toast behavior\n- Add expiry-driven frontend sync timer for direct->sandbox fallback state refresh.\n- Ensure permission/execution UI state updates at expiry time.\n- Keep fallback warning toast persistent but avoid false-positive toasts when simply switching to sandbox conversations.\n- Trigger fallback toast only when a real direct-expiry transition is detected.\n\n4) Runtime guidance/notify display consistency\n- Unify live polling rendering behavior with history replay behavior.\n- Restore real-time display of guidance/notify/sub-agent/background-command messages.\n- Keep runtime_mode_notice hidden only in idle state as requested.\n\n5) Backend runtime notice emission policy\n- Suppress runtime mode notice insertion when no task is running (idle path).\n- Preserve notice injection when task is actively running.\n\n6) Tool-call ordering safety for injected completion notices\n- Delay inline sub-agent/background-command completion message insertion until all parallel tool calls in the same assistant turn are finished.\n- Prevent invalid assistant/tool_call ordering that causes provider 400 errors for missing tool_call_id responses.\n\n7) Left panel scrolling behavior\n- Enable vertical scrolling for project files / todo / sub-agent / background-command panels.\n- Hide panel scrollbars while preserving scroll capability.\n\n8) Tavily multi-key selection support\n- Introduce config/search.py with selectable env variable name for Tavily key resolution.\n- Keep existing AGENT_TAVILY_API_KEY naming compatible.\n- Export search config through config package.\n\n9) Dedicated conversation-title model config\n- Add AGENT_TITLE_API_BASE_URL / AGENT_TITLE_API_KEY / AGENT_TITLE_MODEL_ID.\n- Route title generation calls to these dedicated credentials/model with fallback defaults.\n\n10) Supporting updates\n- Update .env.example to document new Tavily and title-generation env vars.\n- Include current custom model profile tweak (kimi-k2.6).\n\nValidated with:\n- npm run build\n- python3 -m py_compile (affected backend/config modules)\n- python3 -m unittest test.test_server_refactor_smoke
145 lines
5.1 KiB
JSON
145 lines
5.1 KiB
JSON
{
|
||
"models": [
|
||
{
|
||
"model_name": "kimi-k2.6",
|
||
"description": "Kimi-k2.6(测试别名),配置与 Kimi-k2.5 一致",
|
||
"visible": true,
|
||
"url": "${API_BASE_KIMI}",
|
||
"apikey": "${API_KEY_KIMI}",
|
||
"multimodal": "image,video",
|
||
"reasoning_capability": "fast,thinking",
|
||
"context_window": 256000,
|
||
"max_output_tokens": 32768,
|
||
"thinkmode_status": {
|
||
"type": "param_toggle",
|
||
"model_id": "kimi-k2.6",
|
||
"fast_extra_parameter": {
|
||
"thinking": {
|
||
"type": "disabled"
|
||
}
|
||
},
|
||
"thinking_extra_parameter": {
|
||
"thinking": {
|
||
"type": "enabled"
|
||
},
|
||
"enable_thinking": true
|
||
}
|
||
},
|
||
"extra_parameter": {},
|
||
"model_description": "你的基础模型是 Kimi-k2.6(测试别名),底层与 Kimi-k2.5 一致,并通过 thinking 参数开启/关闭思考能力。"
|
||
},
|
||
{
|
||
"model_name": "DeepSeek-V4-Flash Max",
|
||
"description": "DeepSeek V4 Flash(reasoning_effort=max),支持快速/思考/深度思考",
|
||
"visible": true,
|
||
"url": "${API_BASE_DEEPSEEK}",
|
||
"apikey": "${API_KEY_DEEPSEEK}",
|
||
"multimodal": "none",
|
||
"reasoning_capability": "fast,thinking",
|
||
"context_window": 1000000,
|
||
"max_output_tokens": 384000,
|
||
"thinkmode_status": {
|
||
"type": "param_toggle",
|
||
"model_id": "deepseek-v4-flash",
|
||
"fast_extra_parameter": {
|
||
"thinking": {
|
||
"type": "disabled"
|
||
}
|
||
},
|
||
"thinking_extra_parameter": {
|
||
"thinking": {
|
||
"type": "enabled"
|
||
},
|
||
"reasoning_effort": "max"
|
||
}
|
||
},
|
||
"extra_parameter": {},
|
||
"model_description": "你是DeepSeek-V4-Flash,一个快捷、高效的通用模型,具备接近旗舰级的推理能力,在简单到中等复杂度任务中表现出色,并支持 1M 上下文,适合追求响应速度与成本效率的使用场景。"
|
||
},
|
||
{
|
||
"model_name": "DeepSeek-V4-Flah High",
|
||
"description": "DeepSeek V4 Flash(reasoning_effort=high),支持快速/思考/深度思考",
|
||
"visible": true,
|
||
"url": "${API_BASE_DEEPSEEK}",
|
||
"apikey": "${API_KEY_DEEPSEEK}",
|
||
"multimodal": "none",
|
||
"reasoning_capability": "fast,thinking",
|
||
"context_window": 1000000,
|
||
"max_output_tokens": 384000,
|
||
"thinkmode_status": {
|
||
"type": "param_toggle",
|
||
"model_id": "deepseek-v4-flash",
|
||
"fast_extra_parameter": {
|
||
"thinking": {
|
||
"type": "disabled"
|
||
}
|
||
},
|
||
"thinking_extra_parameter": {
|
||
"thinking": {
|
||
"type": "enabled"
|
||
},
|
||
"reasoning_effort": "high"
|
||
}
|
||
},
|
||
"extra_parameter": {},
|
||
"model_description": "你是DeepSeek-V4-Flash,一个快捷、高效的通用模型,具备接近旗舰级的推理能力,在简单到中等复杂度任务中表现出色,并支持 1M 上下文,适合追求响应速度与成本效率的使用场景。"
|
||
},
|
||
{
|
||
"model_name": "DeepSeek-V4-Pro Max",
|
||
"description": "DeepSeek V4 Pro(reasoning_effort=max),支持快速/思考/深度思考",
|
||
"visible": true,
|
||
"url": "${API_BASE_DEEPSEEK}",
|
||
"apikey": "${API_KEY_DEEPSEEK}",
|
||
"multimodal": "none",
|
||
"reasoning_capability": "fast,thinking",
|
||
"context_window": 1000000,
|
||
"max_output_tokens": 384000,
|
||
"thinkmode_status": {
|
||
"type": "param_toggle",
|
||
"model_id": "deepseek-v4-pro",
|
||
"fast_extra_parameter": {
|
||
"thinking": {
|
||
"type": "disabled"
|
||
}
|
||
},
|
||
"thinking_extra_parameter": {
|
||
"thinking": {
|
||
"type": "enabled"
|
||
},
|
||
"reasoning_effort": "max"
|
||
}
|
||
},
|
||
"extra_parameter": {},
|
||
"model_description": "你是DeepSeek-V4-Pro,一个面向复杂任务的高性能通用模型,具备突出的 Agent 能力、丰富的世界知识和顶级推理表现,在编程、数学、STEM 与复杂问题分析场景中表现尤为出色,并支持 1M 上下文。"
|
||
},
|
||
{
|
||
"model_name": "DeepSeek-V4-Pro High",
|
||
"description": "DeepSeek V4 Pro(reasoning_effort=high),支持快速/思考/深度思考",
|
||
"visible": true,
|
||
"url": "${API_BASE_DEEPSEEK}",
|
||
"apikey": "${API_KEY_DEEPSEEK}",
|
||
"multimodal": "none",
|
||
"reasoning_capability": "fast,thinking",
|
||
"context_window": 1000000,
|
||
"max_output_tokens": 384000,
|
||
"thinkmode_status": {
|
||
"type": "param_toggle",
|
||
"model_id": "deepseek-v4-pro",
|
||
"fast_extra_parameter": {
|
||
"thinking": {
|
||
"type": "disabled"
|
||
}
|
||
},
|
||
"thinking_extra_parameter": {
|
||
"thinking": {
|
||
"type": "enabled"
|
||
},
|
||
"reasoning_effort": "high"
|
||
}
|
||
},
|
||
"extra_parameter": {},
|
||
"model_description": "你是DeepSeek-V4-Pro,一个面向复杂任务的高性能通用模型,具备突出的 Agent 能力、丰富的世界知识和顶级推理表现,在编程、数学、STEM 与复杂问题分析场景中表现尤为出色,并支持 1M 上下文。"
|
||
}
|
||
]
|
||
}
|