yumoqing 72cd262cdb feat(cockpit): product-grade LLM integration with context + model mgmt
Backend:
- cockpit_chat.dspy: real LLM calls via llm table config, Hermes-style
  context (system prompt + project/iteration + history), auto model
  selection (multimodal if files, text otherwise)
- cockpit_model_options.dspy: returns active models with capabilities
- llm table: added capabilities column (text/vision/multimodal)

Frontend:
- inputed script: no page reload, updates agent bubble with LLM reply
- stats_row refreshed on success, error shown in bubble

DB:
- sd_agent_settings table for per-user agent preferences
2026-07-31 18:06:27 +08:00

79 lines
4.6 KiB
XML

{
"widgettype": "VBox",
"options": {"width": "100%", "height": "100%", "padding": "24px", "gap": "24px"},
"subwidgets": [
{
"widgettype": "HBox",
"options": {"alignItems": "center", "gap": "12px"},
"subwidgets": [
{"widgettype": "Title2", "options": {"text": "开发产线仪表盘"}},
{"widgettype": "Text", "options": {"text": "项目/迭代/Bug实时概览", "cfontsize": 1.1, "color": "#888"}}
]
},
{
"widgettype": "ResponsableBox",
"options": {"gap": "16px", "minWidth": "200px"},
"subwidgets": [
{
"widgettype": "VBox",
"options": {"bgcolor": "#1e293b", "padding": "24px", "borderRadius": "12px", "gap": "8px", "border": "1px solid #334155", "cwidth": 25, "alignItems": "center"},
"subwidgets": [
{"widgettype": "Text", "options": {"text": "-", "cfontsize": 2.5, "color": "#60a5fa", "fontWeight": "bold"}},
{"widgettype": "Text", "options": {"text": "活跃项目", "cfontsize": 1, "color": "#e2e8f0"}},
{"widgettype": "Text", "options": {"text": "Active Projects", "cfontsize": 0.8, "color": "#94a3b8"}}
]
},
{
"widgettype": "VBox",
"options": {"bgcolor": "#1e293b", "padding": "24px", "borderRadius": "12px", "gap": "8px", "border": "1px solid #334155", "cwidth": 25, "alignItems": "center"},
"subwidgets": [
{"widgettype": "Text", "options": {"text": "-", "cfontsize": 2.5, "color": "#4ade80", "fontWeight": "bold"}},
{"widgettype": "Text", "options": {"text": "进行中迭代", "cfontsize": 1, "color": "#e2e8f0"}},
{"widgettype": "Text", "options": {"text": "Active Sprints", "cfontsize": 0.8, "color": "#94a3b8"}}
]
},
{
"widgettype": "VBox",
"options": {"bgcolor": "#1e293b", "padding": "24px", "borderRadius": "12px", "gap": "8px", "border": "1px solid #334155", "cwidth": 25, "alignItems": "center"},
"subwidgets": [
{"widgettype": "Text", "options": {"text": "-", "cfontsize": 2.5, "color": "#fbbf24", "fontWeight": "bold"}},
{"widgettype": "Text", "options": {"text": "待处理Bug", "cfontsize": 1, "color": "#e2e8f0"}},
{"widgettype": "Text", "options": {"text": "Open Bugs", "cfontsize": 0.8, "color": "#94a3b8"}}
]
},
{
"widgettype": "VBox",
"options": {"bgcolor": "#1e293b", "padding": "24px", "borderRadius": "12px", "gap": "8px", "border": "1px solid #334155", "cwidth": 25, "alignItems": "center"},
"subwidgets": [
{"widgettype": "Text", "options": {"text": "-", "cfontsize": 2.5, "color": "#a78bfa", "fontWeight": "bold"}},
{"widgettype": "Text", "options": {"text": "待审批", "cfontsize": 1, "color": "#e2e8f0"}},
{"widgettype": "Text", "options": {"text": "Pending Reviews", "cfontsize": 0.8, "color": "#94a3b8"}}
]
}
]
},
{
"widgettype": "ResponsableBox",
"options": {"gap": "16px", "minWidth": "350px"},
"subwidgets": [
{
"widgettype": "VBox",
"options": {"bgcolor": "#1e293b", "padding": "24px", "borderRadius": "12px", "gap": "16px", "border": "1px solid #334155", "cwidth": 60},
"subwidgets": [
{"widgettype": "Title3", "options": {"text": "迭代进度"}},
{"widgettype": "Text", "options": {"text": "暂无数据,请先创建项目和迭代", "cfontsize": 0.9, "color": "#64748b", "padding": "20px 0"}}
]
},
{
"widgettype": "VBox",
"options": {"bgcolor": "#1e293b", "padding": "24px", "borderRadius": "12px", "gap": "16px", "border": "1px solid #334155", "cwidth": 40},
"subwidgets": [
{"widgettype": "Title3", "options": {"text": "Bug 分布"}},
{"widgettype": "Text", "options": {"text": "暂无Bug数据", "cfontsize": 0.9, "color": "#64748b", "padding": "20px 0"}}
]
}
]
}
]
}