代码应用编辑页交互改版方案

状态:2026-09-30 已定稿并实施(方案 B),实施记录见第 7 节 · 页面 aimp-platform/packages/ui/src/views/code/pages/CodeAppForm.jsx,发布与工具面板是知识应用、代码应用共用的 packages/ui/src/ui-component/appLifecycle/index.jsx

本文给出代码应用编辑页的三版交互方案,供选定后实施。示意图只画内容区,按 1440px 宽绘制;数据取自本机「aimeter 代码助手」(应用 id 1789523086371597)。

1. 要解决的问题

现状截图与批注:1. 数据新鲜度太口语化;2. 状态看起来像按钮;3. 操作按钮分散

现状截图与批注(2026-09-30)。

  1. 「数据新鲜度」标题口语化。页面副标题「勾一组仓库,发布成一个工具。」同样口语化。
  2. 状态用实心色块显示(应用:已启用、当前版本:v2、工具:可用),外观和按钮相同。
  3. 操作分在三组:应用(保存草稿、发布当前草稿、发布历史)、工具(团队下拉框、发布为工具、下线工具、查看工具)、危险操作(停用应用、删除应用)。三组之间隔着发布历史和说明文字,找一个操作要扫完整个页面。

2. 三版共用的改动

3. 候选方案

方案 A:操作集中在页头右上角

页头右侧放「保存草稿」「发布」「更多」三个按钮。「更多」菜单包含查看工具、下线工具、发布历史、停用应用、删除应用。状态行在标题下方。

代价:工具操作收在菜单里,应用首次发布为工具时入口不直观,需要在未发布为工具时把「发布为工具」临时提到页头。页面滚动后按钮离开视口,页头需要吸顶。

aimeter 代码助手

已启用 当前版本 v2 · 2026/09/25 22:49 发布 工具可用 所属团队 数据库团队
智能体工具
版本

基本信息

服务范围

选择工具可以查询的服务。

可选服务3
已选服务2

服务构建状态

工具按各服务的最新构建查询。代码更新后无需重新发布;增减服务后需要重新发布。

服务 当前 commit 构建完成时间 符号数
aimetera40dd6e2026/09/27 22:1558,729
aimeter-schedulera40dd6e2026/09/26 12:3257,015

调用参数

方案 A,「更多」菜单展开。

方案 B:右侧固定的「发布与工具」面板(推荐)

左侧是配置表单,右侧面板随页面吸顶,分三段:

  1. 发布:应用状态、当前版本、草稿是否与当前版本一致、保存草稿与发布、发布历史。
  2. 智能体工具:工具状态、所属团队、工具标识、查看工具与下线工具。
  3. 面板底部:停用应用、删除应用。

aimeter 代码助手

选择一组服务的代码图谱,发布为智能体可调用的代码查询工具。

基本信息

服务范围

选择工具可以查询的服务。

可选服务3
已选服务2

服务构建状态

工具按各服务的最新构建查询。代码更新后无需重新发布;增减服务后需要重新发布。

服务 当前 commit 构建完成时间 符号数
aimetera40dd6e2026/09/27 22:1558,729
aimeter-schedulera40dd6e2026/09/26 12:3257,015

调用参数

方案 B,应用已启用、工具可用。

面板在其他状态下:

  1. 应用已停用:面板顶部出现提示条和「启用应用」,底部不再显示「停用应用」。发布新版本同样会恢复启用,因为 kb 发布会把应用状态置为 published。
  2. 工具同步失败:写出发布记录 errorCode 对应的原因,给「重试同步」。
  3. 尚未发布为工具:工具段只有「发布为工具」一个操作。
① 应用已停用,草稿有未发布的修改
② 发布了新版本,工具同步失败
③ 已发布,尚未发布为工具

方案 B 面板的三种状态。

方案 C:页签加底部固定操作栏

页面分「配置 / 发布记录 / 智能体工具」三个页签。配置页签底部固定一条操作栏:左侧显示是否有未保存的修改,右侧是保存草稿、发布。停用、删除在页头「更多」菜单里。

代价:工具状态和发布记录要切换页签才能看到;发布后要切到「智能体工具」页签确认同步结果。

aimeter 代码助手

已启用 当前版本 v2 · 2026/09/25 22:49 发布 工具可用

基本信息

服务范围

选择工具可以查询的服务。

可选服务3
已选服务2

服务构建状态

工具按各服务的最新构建查询。代码更新后无需重新发布;增减服务后需要重新发布。

服务 当前 commit 构建完成时间 符号数
aimetera40dd6e2026/09/27 22:1558,729
aimeter-schedulera40dd6e2026/09/26 12:3257,015

调用参数

有未保存的修改 发布后生成 v3,工具随之同步

方案 C,配置页签,草稿有未保存的修改。

aimeter 代码助手

已启用 当前版本 v2 · 2026/09/25 22:49 发布 工具可用

智能体工具

应用发布新版本时工具自动同步;下线后可随时重新发布为工具。

查看工具
工具状态可用 · 已同步到 v2 所属团队数据库团队(同应用) 工具名称aimeter 代码助手 工具标识kb_code_1789523086371597

方案 C,「智能体工具」页签,「更多」菜单展开。

4. 推荐与取舍

推荐方案 B。

方案 B 的代价是左侧表单变窄。示意图按 1440px 内容区绘制,实际页面左侧还有约 220px 的导航栏(在 1280px 宽窗口的截图上量得):

浏览器窗口宽度内容区宽度(约)面板 400px 时左栏宽度(约)
1920px1700px1196px
1440px1220px716px
1280px1060px556px

左栏按「内容区宽度 − 左右内边距 80px − 两栏间距 24px − 面板宽度」估算。1280px 窗口下服务范围穿梭框每侧不足 250px。实施时把面板宽度降到 360px;内容区窄于 1100px 时,面板移到表单上方、取消吸顶。

方案 A 改动量最小,但没有解决「首次发布为工具」的入口问题,所以没有选作推荐。

5. 影响面

6. 决定记录

以下三项均已确认:

  1. 采用哪一版:方案 B(2026-09-30 确认)。
  2. 「数据新鲜度」改名为「代码版本」(2026-09-30 确认)。这张表列的是范围内各服务的当前构建(kb 里服务的 current_build_id 指向的那次构建):commit、构建完成时间、符号数,回答的是「工具现在查的是哪个版本的代码」。「服务构建状态」容易被理解成构建中 / 成功 / 失败,没有采用。示意图中的「服务构建状态」以此为准。
  3. 知识应用编辑页同样采用方案 B(2026-09-30 确认)。

7. 实施记录(2026-09-30)

代码在 aimp-platform/packages/ui/src/ui-component/appLifecycle/:AppEditLayout.jsx 是两栏布局,index.jsx 是右侧面板;两个编辑页 CodeAppForm.jsx、RagAppForm.jsx 都改为这套布局。与示意图不同的地方: