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

发布时间:2026/11/15 2:31:56

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/11/12 19:32:15

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

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

2026/10/24 19:59:35

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

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

2026/10/31 17:33:48

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

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

2026/11/15 2:27:59

临时电工证怎么办理 3个避坑技巧帮你一次过含金量高的考试

临时电工证怎么办理 3个避坑技巧帮你一次过含金量高的考试 怕考不过白交培训费?临时电工证考试确实让人头疼,尤其是对于郑州公路工程的从业者,考前不准备,考后全白搭。别急,今天我就把临时电工证怎么办理、怎么备考、怎么提高通过率的干货全告诉你,保…

2026/11/15 2:27:59

你考的高压电工证理论包过吗?外省证书也能转电子证书

你考的高压电工证理论包过吗?外省证书也能转电子证书 之前考的证在外省能不能转过来?这是很多小伙伴,尤其是像你这样在商丘应届毕业的工程类学生,最关心的问题之一。如果你的高压电工证是在外省考的,现在想在河南使用, 电子证书…

2026/11/15 2:27:59

吉利区特种作业电工证实操考试心里没底怕挂科?内部消息教你稳过

吉利区特种作业电工证实操考试心里没底怕挂科?内部消息教你稳过 实操考试心里没底怕挂科?这是很多准备考吉利区特种作业电工证的考生最真实的感受。尤其是周口市政公用工程行业的朋友们,很多人是第一次接触特种作业考试,对流程、题型、考试内容都一无所知…

2026/11/15 2:27:59

电工证值不值得考?南阳人报名办理电工证全流程详解

电工证值不值得考?南阳人报名办理电工证全流程详解 你还在为找不到工作发愁?特种作业证缺一不可!特别是像电工证这种高需求岗位,没有证连面试机会都没有。电工证值不值得考?答案是肯定的!下面就是南阳初次报考人员必须了解的【报名办理电工证】全流程,…

2026/11/15 2:27:59

本科没有电工证怎么考?郑州报考避坑指南帮你一次过

本科没有电工证怎么考?郑州报考避坑指南帮你一次过 怕考不过白交培训费?本科没有电工证的你,想从事电工相关工作却卡在证书门槛上,别急,郑州报考避坑指南带你理清流程、避开误区,一次拿证不走弯路。本文结合濮阳中小施工企业负责人的实际需求,从现场常…

2026/11/15 0:02:49

电工证考试口诉怎么准备值不值得考

电工证考试口诉怎么准备值不值得考 实操考试心里没底怕挂科,这是大多数准备考电工证的人心里最真实的感受。尤其是面对【电工证考试口诉】环节,很多人不知道该怎么准备,甚至担心自己说不好就被淘汰。其实,只要掌握方法, 值不值得考…

2026/11/15 0:02:49

桑植县考电工证千万别踩坑!报名全流程教你避坑

桑植县考电工证千万别踩坑!报名全流程教你避坑 你是不是也遇到过这种情况:想考个电工证,但不知道从哪儿下手,怕被中介坑,怕花冤枉钱,更怕考了证还不能用?别急,这正是你该看这篇文章的原因。在桑植县考电工证,确实有很多人被坑过,但只要你知道流程、…

2026/11/15 0:02:49

电工证考试口诉怎么准备值不值得考

电工证考试口诉怎么准备值不值得考 实操考试心里没底怕挂科,这是大多数准备考电工证的人心里最真实的感受。尤其是面对【电工证考试口诉】环节,很多人不知道该怎么准备,甚至担心自己说不好就被淘汰。其实,只要掌握方法, 值不值得考…

2026/11/15 0:02:49

桑植县考电工证千万别踩坑!报名全流程教你避坑

桑植县考电工证千万别踩坑!报名全流程教你避坑 你是不是也遇到过这种情况:想考个电工证,但不知道从哪儿下手,怕被中介坑,怕花冤枉钱,更怕考了证还不能用?别急,这正是你该看这篇文章的原因。在桑植县考电工证,确实有很多人被坑过,但只要你知道流程、…

2026/11/13 22:32:11

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/15 2:06:31

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

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

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

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