欢迎页是业务用户每次「+ 新对话」后看到的第一屏:顶部 Hero 大图 + 能力卡片 + 底部工具标签。本章带你逐个面板配完,保存即刻在前台生效,不用重启。顶部 Hero(图 / 标题 / 副标题 / 布局 / 列数)在品牌主题一并配置,本页只管 3 个 CRUD 面板。
9.1 入口与三面板总览
左侧菜单「界面配置 → 欢迎页」进入 /admin/welcome,页面顶部一行段切换三个面板,各自独立保存:
- 能力卡片:Hero 下方的能力卡 CRUD 列表(标题 / 描述 / 图标 / 颜色 / 启用 / 已上线);支持新增、上下移、删除
- 推荐问题:欢迎页能力卡之下的问题列表(文案 / 备注 / 报告模板 / 启禁),含搜索框和上下移排序
- 底部工具标签:ChatComposer 发送框下方那一排 chip(skill / builtin / separator 三类),含上下移排序

提示: Hero 在哪儿配?顶部欢迎大图(图片 / 标题模板 / 副标题 / 布局 image|icon / 标题色 / 卡片列数 cards_columns)统一在品牌主题 → 顶部欢迎段落配,跟登录页大图、主色一起改一份表单一次性保存。本页只见到 Hero 配出来的结果(在能力卡片预览的上下文中),不在本页编辑。
9.2 能力卡片 CapabilityCards
能力卡告诉用户「这套 AI 能干啥」。这里是 CRUD 列表 —— 不是固定 4 张槽位,可以随便加 / 删 / 排序;卡片列数由品牌主题里的 cards_columns(1 / 2 / 4,默认 4)控制前台一行铺几张。
- 切到「能力卡片」段,看到顶部「实时预览」+ 下方表格(启用的卡按 chat 端真实样式渲染)
- 右上角「新增卡片」按钮投到段行右侧,点开弹出编辑 modal
- 每张卡填:标题 title / 描述 description / 图标 icon(Font Awesome 名,如
cube)/ 颜色 color(预设色名 blue / green / orange / purple / red / teal / pink / gray 或 #hex) - 启用 enabled:关掉后前台不展示,数据保留
- 已上线 online:关掉后 chat 端右上角显示「即将上线」徽章(白字蓝底),用户可看见但点了无效果 —— 用于提前透露能力路线图
- 排序通过每行的「上移 / 下移」按钮;删除点行尾红色垃圾桶
- 点行任意位置(除开关 / 排序 / 删除)打开编辑 modal;保存即时落库
| 字段 | 类型 | 说明 |
|---|---|---|
| title | string | 卡片标题 |
| description | string | 一句话描述 |
| icon | string | Font Awesome 图标名(不带 fa- 前缀),默认 cube |
| color | string | blue / green / orange / purple / red / teal / pink / gray 或 #hex;默认 blue |
| enabled | bool | 关闭则前台隐藏 |
| online | bool | 关闭则前台显示「即将上线」徽章 |

注意: 能力卡不绑定 skill 跳转。这里的卡片是「能力宣传位」(标题 + 描述 + 图标 + 颜色 + 是否上线),不像底部工具标签那样有
capability_kind/capability_value触发能力。前台用户点卡片仅展示效果,真正触发 skill 在「底部工具标签」(见 9.4)。
9.3 推荐问题 WelcomePrompts
能力卡之下还有一排问题卡片——用户点了直接发送,省一次打字。这里集中管,按公司常用场景调整。
- 切到「推荐问题」段,看到列表 + 段行右侧「搜索框(搜文案 / 备注)+ 新增」
- 点「新增」弹 modal,填:提示词文案 text *(10-30 字最佳,最长 200)/ 报告模板 report_template(可选,用户点后自动拼到 question 下方,引导大模型按模板出报告)/ 后台备注 memo(≤120 字,仅后台可见)/ 启用 enabled
- 列表的「模板」列:配了 report_template 显示一个文件图标徽章,没配显示 —
- 排序通过每行「上移 / 下移」按钮(不是 sort_order 数字输入)
- 启用 enabled 行内 36×20 开关切换;删除点行尾垃圾桶;点文案文本本身打开编辑
- 保存即时生效,前台「+ 新对话」就能看到新列表(已发过消息的会话不展示推荐问题)
| 字段 | 类型 | 说明 |
|---|---|---|
| text * | string ≤200 | 用户点击后发送的问题文本 |
| report_template | string(可选) | 用户 pick 此条时自动拼到 question 下方一并发送 |
| memo | string ≤120 | 后台备注,前台不显示 |
| enabled | bool | 关闭后前台不展示但数据保留 |

小贴士: 推荐问题怎么定?看「调用日志 traces」里最常出现的问题模式,把高频意图归纳成 5-8 条挂上去;不在欢迎页堆几十条——用户挑选成本反而高。重要 / 复杂分析题建议配 report_template,让结果稳定可读。
9.4 底部工具标签 ComposerTabs
发送框正下方那一排 chip(用户手册详述),admin 在这里集中维护。支持 skill / builtin / separator 三种类型混排,分隔符在 chat 端是一道竖线。
- 切到「底部工具标签」段,顶部「实时预览(ChatComposer 底部)」按真实样式渲染启用的 tab,下方为表格
- 段行右侧「新增标签」打开编辑 modal
- 每个 tab 填:label(前台显示的中文名 —— 分隔符行不显示文字)/ icon(Font Awesome 名,默认 bolt)
- capability_kind:
skill(绑 skill)/builtin(内置能力)/separator(纯视觉分隔竖线,不可点) - capability_value:kind=skill 填 skill 编码(如
jecloud-data-analysis);kind=builtin 填内置标识;separator 留空 - template:可选模板字符串(部分 skill / builtin 支持),传给目标能力的上下文
- enabled:关闭后该 tab 在 chat 底部隐藏,数据保留
- 排序通过每行「上移 / 下移」按钮;删除点行尾垃圾桶
表格里 kind 列用色块徽章区分:skill(绿)/ builtin(橙)/ separator(灰,整行底色变浅)。分隔符行的「能力」列只显示「— 分隔符 —」字样。
注意: capability_kind=skill 但 skill 未启用,前台 chip 点了无反应。加 tab 前先到Skill 管理确认对应 skill 已上传且 enabled;删 skill 时也记得回头把这里关联的 tab 一起禁用。
9.5 配置流转与即时生效
三个面板 + Hero(在品牌主题)走同一套机制:admin 改 → 写 agent 库 → 前台 chat 读 → 渲染。改完无需重启 docker 容器。
- 保存即落库:每个面板独立 PATCH 到对应 admin 端点(welcome-hero / capability-cards / welcome-prompts / composer-tabs),agent 端 SQLite 立即写入
- chat 端拉取:业务用户「+ 新对话」打欢迎页 / composer 加载时读最新配置
- 已打开的会话不刷新:欢迎页内容只在「新会话」展示;已有会话进去看不到改动是正常的
- 多产品场景:ops 母版(产品配置)走 product bundle 分发,欢迎页是 product 级表
welcome_hero / capability_cards / welcome_prompts / composer_tab,按 product_id 隔离
提示: 没看到改动?三步排查。① admin 端保存有没有提示成功 → ② 业务用户那边「+ 新对话」开一个新会话(不是刷新旧会话)→ ③ 还不行去「调用日志 traces」看相关 admin 端点和 chat 端拉配置的请求有没有报错。