From 7bb85aac418f3849496c8a5082394679f1c82b58 Mon Sep 17 00:00:00 2001 From: Nexus Agent Date: Fri, 12 Jun 2026 03:16:12 +0800 Subject: [PATCH] =?UTF-8?q?feat(servers):=20=E6=96=B0=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=99=A8=20Agent=20=E5=AE=89=E8=A3=85/=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E5=BC=95=E5=AF=BC=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修正仅有 API Key 误判为已装 Agent;列表与展开详情提示安装/升级并提供一键操作。 Co-authored-by: Cursor --- .../2026-06-12-server-agent-action-hint.md | 33 +++++++++ .../components/servers/ServerAgentHint.vue | 68 +++++++++++++++++++ .../components/servers/ServerInlineDetail.vue | 15 ++++ .../servers/useServerFormDialog.ts | 5 ++ frontend/src/pages/ServersPage.vue | 54 ++++++++++++++- frontend/src/types/api.ts | 5 ++ server/api/servers.py | 30 ++++++-- server/utils/agent_version.py | 68 +++++++++++++++++++ tests/test_agent_version.py | 36 ++++++++++ 9 files changed, 307 insertions(+), 7 deletions(-) create mode 100644 docs/changelog/2026-06-12-server-agent-action-hint.md create mode 100644 frontend/src/components/servers/ServerAgentHint.vue diff --git a/docs/changelog/2026-06-12-server-agent-action-hint.md b/docs/changelog/2026-06-12-server-agent-action-hint.md new file mode 100644 index 00000000..0653d6cd --- /dev/null +++ b/docs/changelog/2026-06-12-server-agent-action-hint.md @@ -0,0 +1,33 @@ +# 2026-06-12 新服务器 Agent 安装/升级提示 + +## 摘要 + +新添加的服务器不再因预生成 `agent_api_key` 误显示「离线」;列表与展开详情明确提示需安装或升级 Agent,并提供一键操作。 + +## 动机 + +用户添加服务器后 CPU/内存/心跳为空,界面无指引。根因:仅有 DB 中的 API Key 被当作「已装 Agent」,实际从未安装。 + +## 涉及文件 + +- `server/utils/agent_version.py` — `agent_is_installed`、`compute_agent_guidance` +- `server/api/servers.py` — 列表/详情返回 `agent_action*`;状态判定修正 +- `frontend/src/components/servers/ServerAgentHint.vue` — 提示条(新增) +- `frontend/src/components/servers/ServerInlineDetail.vue` — 展开详情提示 +- `frontend/src/pages/ServersPage.vue` — 列表「需安装/需升级」芯片、单台安装/升级 +- `frontend/src/composables/servers/useServerFormDialog.ts` — 创建后 toast +- `frontend/src/types/api.ts` — 类型 +- `tests/test_agent_version.py` — 单测 + +## 迁移 / 重启 + +需重启 API;前端构建部署。 + +## 验证 + +```bash +.venv/bin/pytest tests/test_agent_version.py -q +cd frontend && npm run type-check +``` + +添加服务器 → 状态应为「未知」→ 展开行见「尚未安装 Agent」→ 点「安装 Agent」。 diff --git a/frontend/src/components/servers/ServerAgentHint.vue b/frontend/src/components/servers/ServerAgentHint.vue new file mode 100644 index 00000000..da616654 --- /dev/null +++ b/frontend/src/components/servers/ServerAgentHint.vue @@ -0,0 +1,68 @@ + + + diff --git a/frontend/src/components/servers/ServerInlineDetail.vue b/frontend/src/components/servers/ServerInlineDetail.vue index ddc82f98..c800d0a3 100644 --- a/frontend/src/components/servers/ServerInlineDetail.vue +++ b/frontend/src/components/servers/ServerInlineDetail.vue @@ -1,5 +1,15 @@