feat: add admin model capability overview
This commit is contained in:
@@ -4,6 +4,12 @@
|
||||
|
||||
## 2026-04-07
|
||||
|
||||
### 管理员模型配置页新增统一能力总览
|
||||
|
||||
- `管理员配置台 -> 模型与接入` 新增了 `统一能力总览`,把 `语言模型 / ASR / 文生图 / 图生图 / 生视频` 五类能力做成了可点击总览卡。
|
||||
- 每张卡都会直接带到对应锚点,管理员不需要再自己判断是去 `系统模型`、`运行时接入` 还是 `Huobao` 的图片/视频配置区。
|
||||
- 这样“所有需要模型的能力都在一个配置页里”不只是文案层成立,实际管理路径也更清楚了。
|
||||
|
||||
### 管理员模型配置页明确覆盖全部模型能力
|
||||
|
||||
- `管理员配置台 -> 模型与接入` 顶部新增了统一能力说明,直接标明这里覆盖 `语言模型 / ASR / 文生图 / 图生图 / 生视频`。
|
||||
|
||||
@@ -5867,6 +5867,69 @@ function renderAdminHuobaoConfigPanel(serviceType, label, description) {
|
||||
`;
|
||||
}
|
||||
|
||||
function renderAdminModelCapabilityOverviewPanel() {
|
||||
const state = getAdminModelAccessState();
|
||||
const textConfigs = safeArray(state.huobao_configs?.text?.items);
|
||||
const imageConfigs = safeArray(state.huobao_configs?.image?.items);
|
||||
const videoConfigs = safeArray(state.huobao_configs?.video?.items);
|
||||
const runtime = state.runtime || {};
|
||||
const systemModels = safeArray(state.system_model_profiles);
|
||||
const cards = [
|
||||
{
|
||||
label: "语言模型",
|
||||
summary: `${formatNumber(systemModels.length)} 条系统模型 / ${formatNumber(textConfigs.length)} 条文本接入`,
|
||||
hint: "主 Agent、策略分析和文案生成默认都走这组配置。",
|
||||
anchorId: "admin-system-models-anchor"
|
||||
},
|
||||
{
|
||||
label: "ASR",
|
||||
summary: runtime.asr?.configured ? `已配置 · ${runtime.asr?.active_device || runtime.asr?.runtime_device_mode || "auto"}` : "未配置",
|
||||
hint: "语音转文字入口,当前会显示实际运行设备和模型。",
|
||||
anchorId: "admin-model-runtime-asr-anchor"
|
||||
},
|
||||
{
|
||||
label: "文生图",
|
||||
summary: `${formatNumber(imageConfigs.length)} 条图片配置`,
|
||||
hint: "封面图、海报图和图片生成都在这里维护。",
|
||||
anchorId: "admin-model-image-anchor"
|
||||
},
|
||||
{
|
||||
label: "图生图",
|
||||
summary: `${formatNumber(imageConfigs.length)} 条图片配置`,
|
||||
hint: "图生图和素材加工与文生图共用同一组图片模型配置。",
|
||||
anchorId: "admin-model-image-anchor"
|
||||
},
|
||||
{
|
||||
label: "生视频",
|
||||
summary: `${formatNumber(videoConfigs.length)} 条视频配置`,
|
||||
hint: "AI 视频、Seedance 2.0 和火山视频引擎统一从这里接。",
|
||||
anchorId: "admin-model-video-anchor"
|
||||
}
|
||||
];
|
||||
return `
|
||||
<div class="panel pad">
|
||||
<div class="panel-head">
|
||||
<div>
|
||||
<h3>统一能力总览</h3>
|
||||
<div class="panel-subtitle">先看每类模型能力当前是否具备可用配置,再点进去做管理员维护。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layout-grid grid-2">
|
||||
${cards.map((item) => `
|
||||
<div class="task-item compact">
|
||||
<h4>${escapeHtml(item.label)}</h4>
|
||||
<p>${escapeHtml(item.hint)}</p>
|
||||
<div class="task-meta">
|
||||
<span class="tag blue">${escapeHtml(item.summary)}</span>
|
||||
<span class="tag clickable-tag" data-action="focus-admin-model-access" data-anchor-id="${escapeHtml(item.anchorId)}">前往配置</span>
|
||||
</div>
|
||||
</div>
|
||||
`).join("")}
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
|
||||
function renderAdminModelAccessPanel() {
|
||||
return `
|
||||
<div id="admin-model-access-anchor">
|
||||
@@ -5885,6 +5948,7 @@ function renderAdminModelAccessPanel() {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin-top:18px;">${renderAdminModelCapabilityOverviewPanel()}</div>
|
||||
${renderAdminModelRuntimePanel()}
|
||||
<div style="margin-top:18px;">${renderAdminSystemModelPanel()}</div>
|
||||
<div style="margin-top:18px;">${renderAdminHuobaoConfigPanel("text", "文本模型服务", "大模型文本、策略、文案与分析模型统一在这里维护。")}</div>
|
||||
|
||||
@@ -273,11 +273,17 @@ test("admin workbench exposes a dedicated model access workspace and actions", (
|
||||
assert.match(loadControls, /\/v2\/admin\/model-access\/overview/);
|
||||
assert.match(admin, /运行时接入/);
|
||||
assert.match(admin, /统一模型配置/);
|
||||
assert.match(admin, /统一能力总览/);
|
||||
assert.match(admin, /语言模型/);
|
||||
assert.match(admin, /ASR/);
|
||||
assert.match(admin, /文生图/);
|
||||
assert.match(admin, /图生图/);
|
||||
assert.match(admin, /生视频/);
|
||||
assert.match(admin, /data-action="focus-admin-model-access"/);
|
||||
assert.match(admin, /admin-system-models-anchor/);
|
||||
assert.match(admin, /admin-model-runtime-asr-anchor/);
|
||||
assert.match(admin, /admin-model-image-anchor/);
|
||||
assert.match(admin, /admin-model-video-anchor/);
|
||||
assert.match(admin, /系统模型/);
|
||||
assert.match(admin, /文生图 \/ 图生图模型服务/);
|
||||
assert.match(admin, /生视频模型服务/);
|
||||
|
||||
Reference in New Issue
Block a user