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),仅供参考

相关新闻

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

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

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

2026/11/12 20:53:43 阅读更多 →
小红书UGC内容生态与爆款创作技术解析

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

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

2026/11/12 20:53:43 阅读更多 →
Mem0 和结构化记忆方案在 Agent 场景下的对比实测

Mem0 和结构化记忆方案在 Agent 场景下的对比实测

给 Agent 加记忆这件事,Mem0 是目前最主流的开源选择之一。但我们在实际使用中遇到了一些准确率方面的问题,于是用结构化的三层记忆架构做了对比测试,记录一下过程和结论。 为什么关注记忆准确率 如果你在用 Mem0 或类似方案给 Agent 加记忆…

2026/10/25 10:38:05 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/12 5:00:00 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/12 5:13:20 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/12 5:13:20 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/12 18:22:26 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/12 18:22:25 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/12 5:13:20 阅读更多 →

日新闻

周新闻

月新闻