Nightingale AICopilot 每页快捷提示词(recommend_action)规范与实现解析

发布时间:2026/9/15 19:03:27

Nightingale AICopilot 每页快捷提示词(recommend_action)规范与实现解析 Nightingale AICopilot 每页快捷提示词recommend_action规范与实现解析【免费下载链接】nightingaleNightingale is to monitoring and alerting what Grafana is to visualization.项目地址: https://gitcode.com/GitHub_Trending/ni/nightingaleNightingale夜莺的 AI 助手 AICopilot 在新会话创建后会在空白对话面板上展示一组快捷提示词按钮用户点击即可一键发起一轮高质量对话。本文基于仓库中的共享规范文档 doc/api/ai-chat-recommend-action.md完整介绍这些快捷提示词的设计约定、各页面explorer、dashboards、alert_rule 等的预设文案、它们如何被组装成/message/new请求以及后端如何依据content走「创建意图快路径」或「通用 agent」的确定性路由并补充对应源码实现细节。读完本文你将掌握为任意页面新增或修改快捷提示词的标准步骤以及从点击按钮到工具执行的全链路原理。一、背景什么是每页快捷提示词recommend_action当用户在前端某个页面如指标探索器、仪表盘列表、告警规则列表新建一个 AICopilot 会话时空白会话面板上会出现若干个快捷提示词按钮其文案由/chat/new请求中携带的page字段决定。需要特别注意的是这些预设提示词是硬编码在前端并维护的不再由后端/chat/new接口下发。本规范文档的作用是作为前后端共享的约定——前端据此维护按钮文案与请求组装后端据此解析处理路径。从源码结构看会话对象会持久化页面来源信息models/ai_assistant.go 中AssistantChat.PageFrom的类型AssistantPageInfo包含Page页面类型与Param页面级上下文例如 explorer 页可携带datasource_type、datasource_id。二、设计约定快捷提示词如何变成一条消息每个快捷提示词最终都会被前端组装成一次/message/new调用query字段的填充规则如下字段来源说明query.content本文各页表格中的 text 列直接作为用户消息内容query.action.param/chat/new上使用的param即该会话page_from.param前端把页面级上下文透传给 actionquery.page_from当前会话的page_from与/chat/new请求中携带的一致不要发送action.key该字段已废弃后端不再读取它前端发送前会剥离。处理路径由后端从content确定性解析——创建型文案命中creation关键词快路径其余一律进入general_chat通用 agent。这一点在后端得到了印证models/ai_assistant.go 中AssistantActionKey仅保留general_chat与creation两个 action历史上更多的专用 action 常量已随路由收缩删除。以下是在 explorer 页面点击第一个快捷提示词时前端发出的完整请求示例{ chat_id: ..., query: { content: Generate a query for host CPU usage, action: { param: { datasource_type: prometheus, datasource_id: 1 } }, page_from: { page: explorer, param: { datasource_type: prometheus, datasource_id: 1 } } } }对应到后端数据结构models/ai_assistant.go 的AssistantMessageQuery正是Content、Action、PageFrom三个字段的组合。三、各页面预设提示词总览page来源页面提示词数量建议的 pageparam字段explorer指标探索器3datasource_type,datasource_iddashboards仪表盘列表3busi_group_id可选alert_rule告警规则列表3busi_group_id可选alert_history历史告警列表3可省略active_alert活跃告警列表3可省略notify_tpl通知模板配置4可省略datasource数据源配置3datasource_type,datasource_id可选alert_event_detail告警事件详情3event_id必填可选rule_id,target_ident,datasource_id任何未在上表列出的page值不会展示快捷提示词。后端侧AssistantPageType常量在 models/ai_assistant.go 中目前定义了 7 个页面类型dashboards、alert_history、active_alert、explorer、notify_tpl、datasource、alert_rule文档中的alert_event_detail未出现在该枚举中若需要新增此类页面类型应按下文「添加或修改预设提示词」的步骤同步注册以免/chat/new将其视为未知页面。四、各页面提示词文案明细文案的多语言本地化由前端根据当前 UI 语言就地处理下表列出英文默认与简体中文其他语言由前端从其 i18n 资源中补齐。4.1explorer— 指标探索器#English (default)zh_CN1Generate a query for host CPU usage帮我生成一个查询主机 CPU 使用率的语句2Generate a query for memory usage帮我生成一个查询机器内存使用率的语句3Generate a query for host disk usage帮我生成一个查询机器磁盘使用率的语句param通常携带当前查询编辑器的数据源datasource_type、datasource_id。后端会将其注入提示词并转发到查询工具层。生成的查询语句以 Markdown 代码块形式内嵌在markdown类型回答的正文中。4.2dashboards— 仪表盘列表#English (default)zh_CN1Create a Host machine dashboard帮我创建一个 Host 机器的仪表盘2Create a MySQL dashboard帮我创建一个 MySQL 的仪表盘3Create a Redis dashboard帮我创建一个 Redis 的仪表盘这些提示词会命中后端creation关键词快路径并触发 preflight若param缺少busi_group_id等必需上下文后端会先返回一个form_select表单由用户补充后再继续。4.3alert_rule— 告警规则列表#English (default)zh_CN1Create a CPU usage alert rule with a threshold above 80%创建一条 CPU 使用率超过 80% 的告警规则2Create a host down alert rule based on target heartbeat loss创建一条主机失联的告警规则3Create a disk usage alert rule with a threshold above 85%创建一条机器磁盘使用率超过 85% 的告警规则与dashboards一样这些文案同样命中创建快路径并经过 preflight其中create-alert-rule技能同时要求busi_group_id与datasource_id。4.4alert_history— 历史告警列表#English (default)zh_CN1Summarize alert trends in the current filter range总结当前筛选范围内的告警趋势2Which alert rules fired most frequently哪些告警规则触发最频繁3Break down current alerts by severity, busi group and target按级别、业务组、对象拆解当前告警4.5active_alert— 活跃告警列表#English (default)zh_CN1Summarize the distribution of currently active alerts总结当前活跃告警的分布情况2Which rules or targets have the most active alerts哪些规则或对象的活跃告警最多3Group current active alerts by severity and busi group按级别和业务组汇总当前活跃告警4.6notify_tpl— 通知模板配置#English (default)zh_CN1Add hostname and severity label to the notification template在通知模板中加入主机名和告警级别2Format trigger_value with two decimal places in the template把 trigger_value 保留两位小数3Include a runbook link in the notification template在通知模板中加入排障文档链接4Add alert duration and first triggered time to the template在模板中加入告警持续时间和首次触发时间4.7datasource— 数据源配置#English (default)zh_CN1Diagnose why datasource connection fails with an x509 certificate error数据源连接报 x509 证书错误如何排查2My datasource test returns 401 unauthorized, how to fix数据源测试连通返回 401 怎么解决3Help me write the correct URL for connecting Nightingale to this datasource帮我写这个数据源的正确接入 URL4.8alert_event_detail— 告警事件详情#English (default)zh_CN1Analyze the root cause of this alert event分析这条告警事件的根因2Find similar historical alerts on the same target/rule查找同对象/同规则下的相似历史告警3Show other active alerts on the same target around this time看下同一对象在这个时间点附近还有哪些活跃告警param必须携带event_id后端将其注入提示词上下文使通用 agent 能够调用get_alert_event_detail等工具读取事件详情。同时传入rule_id、target_ident、datasource_id可以减少后续追问。五、后端如何解析处理路径creation 快路径与 general_chat快捷提示词只负责把用户意图变成一条消息真正的路由由后端在 center/router/router_ai_assistant.go 的resolveActionKey中确定性完成纯函数、零 LLM 调用优先级如下fast— 创建动词命中 →creation保住零 LLM 即时弹出业务组表单的 UXimport— 导入现成规则包/模板 → 同样进入creation前置弹表单与 fast 分开是因为导入需要列出/有哪些地浏览包会被 fast 的 queryVerbs 反信号误挡form— 上轮以form_select收尾AwaitingForm且本轮携带action.param即表单提交确定性继承上轮 actiondefault—general_chat通用 agent工具全集 技能目录自取 工具级门。action.key通道已死前端发送前一律剥离action.key后端不存在回退到分类器一说。这一点在 aiagent/chat/actions.go 的 registry 中体现——仅注册general_chat开放输入的默认 action挂全部内置工具走 ReAct与creation创建/新建监控资源的 fast-path两个 handler且init中强制要求general_chat作为兜底。创建意图判定由 aiagent/chat/vocab.go 的HasCreationIntent实现需要同时满足三个信号出现创建动词创建、新建、add、create等见creationVerbs命中creationSkills关键词表如告警规则、仪表盘、屏蔽、订阅、通知规则不出现查询动词反信号查看、查询、已创建、list等。其中creationSkills表aiagent/chat/vocab.go还声明了每个创建技能所需的上下文键create-dashboard仅需busi_group_id面板可跨数据源数据源交给 LLM 自行解决而create-alert-rule需要busi_group_iddatasource_id。Preflight 表单拦截命中creation后aiagent/chat/creation_form.go 的PreflightCreation会检查必填上下文是否齐全。若缺失它先尝试从自然语言文本中解析如用户说在 aadddd 业务组创建仪表盘通过busiGroupIDAfter/busiGroupIDBefore等正则把业务组解析成 ID 注入 Context再尝试跨回合继承此前提交过的值backfillCreationContext仍缺则返回单个form_select响应一次覆盖所有缺失键前端渲染渐进式表单并一次性提交避免多轮往返。六、添加或修改预设提示词规范给出了清晰的三步流程前端在 AICopilot 预设提示词常量表中添加或修改对应page下的条目并在前端 i18n 资源中补充本地化文案文档同步更新本文档中对应的章节表格后端如果是新增page类型还需在 models/ai_assistant.go 的AssistantPageType常量中注册并更新上文「各页面预设提示词总览」表格确保/chat/new不会把新值当作未知页面处理。七、注意事项小结快捷提示词 ≠ 后端接口下发文案硬编码在前端本规范文档是前后端共享的契约修改文案无需改动后端接口action.key勿再使用发送前请剥离处理路径由后端从content确定性解析创建型文案要带全上下文涉及创建仪表盘、告警规则等的快捷提示词建议在page param中尽量携带busi_group_id必要时含datasource_id避免触发 preflight 表单、打断用户流程涉及告警事件详情分析时event_id是必填项路由是确定性的从resolveActionKey的四级优先级fast/import/form/default可以看到整个处理链不依赖 LLM 猜测行为可预期、可测试。通过以上规范与源码对照你可以清楚地知道快捷提示词从前端按钮到后端 action 路由再到preflight 表单/工具执行的完整链路也能够在新增页面或调整文案时严格遵循前后端契约避免出现未知 page、缺参表单回环等问题。【免费下载链接】nightingaleNightingale is to monitoring and alerting what Grafana is to visualization.项目地址: https://gitcode.com/GitHub_Trending/ni/nightingale创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/15 19:03:27

JSP小区水电费管理系统实战:从JDBC到Tomcat部署全解析

简介:这是一份基于JSPMySQL的B/S架构小区水电费管理系统毕业设计项目,面向计算机相关专业学生或Java Web学习者,可用于毕业设计整体参考、课程设计或项目练手,重点解决从需求分析、功能实现到部署演示的完整流程。压缩包共713个文…

2026/9/15 19:03:27

小红书UGC内容生态与爆款创作技术解析

1. 小红书内容生态现状观察2026年第一季度的社交内容平台呈现出明显的"去中心化创作"趋势。作为国内领先的生活方式分享社区,小红书平台的内容生产机制已经完成了从KOL主导到UGC繁荣的转型。根据我持续三个月的跟踪观察,平台日均新增笔记量突破…

2026/9/15 18:58:27

ODBC数据源配置避坑指南:32/64位选择与SQL Server连接排错

1. 为什么总在第一步翻车:32位与64位ODBC管理器选不对很多人在“添加ODBC数据源”这件事上卡住,不是驱动没装,也不是服务器连不上,而是打开的数据源管理器根本不对。这个细节太容易被忽略,但它恰恰决定了你能不能看到想…

2026/9/15 19:23:28

Django 股票交易管理系统:事务与行级锁保障资金一致性

简介:这是一份基于Django框架的股票交易管理系统完整项目资源,面向有一定Python基础、希望实战Web开发的开发者,也适合计算机专业学生用于课程设计或毕业设计。压缩包共1611个文件,约21.84MB,其中包含31个Python源码文…

2026/9/15 19:23:28

Remix 3、htmx 4与Rslib 1:前端构建与交互范式升级实战指南

1. 这不是一份“新闻简报”,而是一份前端工程师的实战备忘录你点开这期周刊标题——“栗子前端技术周刊第145期 - Remix 3 RC、htmx 4.0、Rslib 1.0…”——第一反应可能是:又一堆新版本号,又一堆要学的东西。但作为在一线写了八年全栈、带过…

2026/9/15 4:54:30

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/15 0:01:16

AI英语单词APP开发:自适应学习算法与移动端优化实践

1. 项目概述 作为一名在移动应用开发领域摸爬滚打多年的老手,我最近完成了一个AI英语单词APP的开发项目。这个项目将传统单词记忆方法与现代AI技术相结合,打造了一款能够智能适应不同用户学习习惯的英语学习工具。 市面上大多数单词APP都存在一个通病&a…

2026/9/15 0:01:16

Flutter与OpenHarmony结合开发手语学习APP实战

1. 项目背景与核心价值作为一名同时接触过Flutter和OpenHarmony的开发者,最近我完成了一个基于Flutter for OpenHarmony的手语学习APP实战项目。这个项目最大的特点在于实现了跨平台框架与国产操作系统深度结合的创新实践——用Flutter开发的应用能完美运行在OpenHa…

2026/9/15 0:01:16

六个月成为机器人工程师:从ROS2到SLAM的实战路径

1. 六个月的紧迫感从哪来:先搞清楚你要成为哪种机器人工程师说实话,六个月的期限并不是一个宽松的时间线。市面上任何一本正经的机器人学教材都超过五百页,ROS2的官方文档可以翻到你怀疑人生,再加上ABB、KUKA这些工业机器人厂家动…

2026/9/15 14:22:53

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/14 13:53:59

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/15 11:42:23

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码