{"supportedInterfaces":[{"url":"https://n9e.zzmserver.com/a2a","protocolBinding":"HTTP+JSON","protocolVersion":"1.0"}],"capabilities":{"streaming":true},"defaultInputModes":["text"],"defaultOutputModes":["text"],"description":"Operate the Nightingale observability platform via natural language: query alert events/rules, dashboards, datasources, hosts, business groups, and run AI-powered troubleshooting and inspection skills.","name":"Nightingale Agent","securityRequirements":[{"schemes":{"x-user-token":[]}}],"securitySchemes":{"x-user-token":{"apiKeySecurityScheme":{"description":"n9e user API token. Manage tokens under user profile in the n9e UI.","location":"header","name":"X-User-Token"}}},"skills":[{"description":"解答\"如何部署 categraf 采集器\"。触发场景：用户问\"怎么装 categraf / categraf 怎么部署 / 用 Docker 跑 categraf / Windows 装 categraf / categraf 怎么注册成系统服务 / categraf 上报到夜莺 / categraf config.toml 怎么写 / 怎么验证 categraf 采集到数据\"。覆盖二进制+systemd、Docker、Windows、K8s 提示、关键配置、常见验证命令。本 skill 是教学/指引型，不调任何工具，输出可粘贴执行的命令与配置片段。","id":"categraf-deploy-guide","name":"categraf-deploy-guide","tags":["n9e"]},{"description":"This skill should be used when the user reports that an alert rule is \"not firing\", \"没发告警\", \"告警不触发\", \"规则没生效\", \"应该报警但没报警\", \"为什么没收到告警\", \"alert rule not firing\", or wants to diagnose why a specific alert rule failed to produce an event/notification. 适用于排查\"告警规则为什么没正常发出告警\"，而不是看已有告警找根因（后者用 ops-troubleshooting）。仅支持 Release 22 及以上版本。","id":"n9e-alert-rule-troubleshoot","name":"n9e-alert-rule-troubleshoot","tags":["n9e"]},{"description":"在夜莺(n9e)环境中创建告警屏蔽规则。当用户要求创建屏蔽规则、屏蔽告警、静默告警、添加告警抑制时使用。","id":"n9e-create-alert-mute","name":"n9e-create-alert-mute","tags":["n9e"]},{"description":"**创建单条告警规则**（用户描述一个告警需求 → 建一条规则）。支持 Prometheus / Loki / ES / OpenSearch / MySQL / PG / TDengine / ClickHouse / Doris / VictoriaLogs / Host 全部数据源。\n⚠️ **不要用这个 skill 做批量导入**——用户给的是 URL 或 YAML 文件、awesome-prometheus-alerts、node-exporter.yml 之类，请改用 n9e-import-prom-rule。\n触发：创建一条 / 加一条告警 / 帮我建个 CPU 告警 / 给 MySQL 加个告警规则 / 我要监控某个指标。","examples":["帮我建一条 CPU 使用率超过 80% 的告警","新增一条 MySQL 慢查询告警规则","给主机内存加个告警，超过 90% 报警","创建告警规则监控 disk_used_percent"],"id":"n9e-create-alert-rule","name":"n9e-create-alert-rule","tags":["n9e"]},{"description":"在夜莺(n9e)环境中创建告警订阅规则。当用户要求创建订阅规则、订阅告警、添加告警订阅、配置告警事件转发时使用。","id":"n9e-create-alert-subscribe","name":"n9e-create-alert-subscribe","tags":["n9e"]},{"description":"在夜莺(n9e)平台上创建监控仪表盘。当用户要求创建仪表盘、监控大盘、Dashboard 时使用。","id":"n9e-create-dashboard","name":"n9e-create-dashboard","tags":["n9e"]},{"description":"在夜莺(n9e)环境中创建通知规则。当用户要求创建通知规则、添加通知策略、配置告警通知方式、设置通知渠道时使用。","id":"n9e-create-notify-rule","name":"n9e-create-notify-rule","tags":["n9e"]},{"description":"This skill should be used when the user asks \"how-to\" or factual questions about the 夜莺(n9e) / Flashcat platform — UI/where-to-click, 业务组/订阅规则/屏蔽规则/edge 模式, Token 使用, 通知 pipeline, 自愈触发条件; OR about categraf input plugin field meanings, metric names, defaults, environment variables, config syntax (e.g. \"[[instances]] 怎么写\", \"ping_average_response_ms 单位\"). NOT for actively troubleshooting an alert or querying metrics.","id":"n9e-doc-qa","name":"n9e-doc-qa","tags":["internal"]},{"description":"生成或修改夜莺(n9e)告警通知消息模板。当用户要求写通知模板、改消息格式、加主机名/恢复值/级别、钉钉/飞书/Lark/邮件/短信/电话模板时使用。","id":"n9e-generate-message-template","name":"n9e-generate-message-template","tags":["n9e"]},{"description":"帮用户判断一台机器到底是 真宕机 / agent 假死 / 网络抖动 / 维护中。当用户问\"为什么这台机器失联\"、\"host 失联告警是不是误报\"、\"categraf 卡住了吗\"、\"心跳停了为啥还能 ping 通\"等触发本技能。核心立场：**agent 失联 ≠ 主机宕机**。只看 target_up==0 / BeatTime 停就下\"宕机\"结论，是社区高频误报根源（炸药、石头、Jayden、Allen、L.、南栀花开、静心 等多次反馈，2025-12 起一个月内 ≥12 次跨群重复）。","id":"n9e-host-health-diagnose","name":"n9e-host-health-diagnose","tags":["n9e"]},{"description":"排查\"categraf 已装/在跑但夜莺机器列表看不到、或显示 unknown / 无指标\"的接入失败问题。当用户问\"新装的机器为什么没出现\"、\"机器列表 OS 都是 unknown\"、\"Helm 装了 3 个采集器只看到 1 个\"、\"agent 注册不进来\"、\"装完 categraf 主机没显示\"时触发。与 n9e-host-host-health-diagnose **互斥**：那个处理\"曾经接入过、现在失联\"，本 skill 处理\"压根没接入进来\"。核心立场：**机器没出现不是一个原因，而是接入链路上某一段断了**。只看 heartbeat.enable 一项就让用户改 categraf，是社区 FAQ 高频翻车点（很多用户改了还是看不到，因为问题在 omit_hostname / ident shell / TLS / token / edge redis / 多集群路由）。","id":"n9e-host-onboard-diagnose","name":"n9e-host-onboard-diagnose","tags":["n9e"]},{"description":"**批量导入 Prometheus 告警规则 YAML 文件**到夜莺（一次性建一组规则）。专用于处理远端 URL 或本地 YAML 文本，自动解析 `groups` / 纯 `rules` 数组 / 单条 rule 三种格式。\n⚠️ **不要用这个 skill 做单条创建**——用户用自然语言描述一条告警需求时，请改用 n9e-create-alert-rule。\n触发：导入 / import / 批量 / URL / .yml 文件 / .yaml 文件 / awesome-prometheus-alerts / node-exporter.yml / prometheus rule file。","examples":["帮我导入 https://raw.githubusercontent.com/.../node-exporter.yml","把这个 yaml 里的告警建到 n9e","导入 awesome-prometheus-alerts 的 mysql 那个文件","批量建一组 redis 的告警规则，从这个文件 ..."],"id":"n9e-import-prom-rule","name":"n9e-import-prom-rule","tags":["n9e"]},{"description":"帮助用户生成、修改或排障夜莺(n9e)告警自愈脚本（task_tpl / ibex 脚本）。当用户要求\"写一个磁盘清理/重启服务/清理日志/dump 进程/reload nginx\"等自愈脚本，或问\"自愈脚本怎么拿告警传过来的参数\"、\"stdin 是什么格式\"、\"timeout 应该填多少\"、\"为什么 is_recovered 永远 false\"、\"为什么自愈脚本拿不到 k8s namespace\"、\"脚本一直 running 怎么办\"时使用。本技能专注**脚本正文层**——若用户要改告警规则、接收人或通知模板，引导到对应 skill。","id":"n9e-modify-task-tpl","name":"n9e-modify-task-tpl","tags":["n9e"]},{"description":"帮助用户修改、新建或排障夜莺(n9e)通知媒介(notify_channel)。当用户要求改钉钉/飞书/企微/邮件/短信/语音/Webhook 等媒介的 URL、请求体、签名、headers、代理、TLS、@人或接收人字段，或问\"怎么接入 X 平台\"、\"为什么发不出去/报 9499/Bad Request\"时使用。本技能专注**媒介通道层配置**——若用户改的是\"消息内容/字段/渲染\"，应改用 n9e-generate-message-template。","id":"n9e-notify-channel-copilot","name":"n9e-notify-channel-copilot","tags":["n9e"]},{"description":"帮助用户在夜莺(n9e)中创建、编辑、复制、排障通知规则(notify_rule)——尤其是把\"P1 工作时间发钉钉+电话、非工作时间只电话\"\"按业务组/标签路由\"\"分级走不同通道\"\"恢复时不打电话\"这类**自然语言需求**拆成正确的 NotifyConfig 数组。当用户要求\"配通知规则 / 编辑通知规则 / 调整路由 / 改适用属性 / 分级通知 / 修复匹配不上 / 拆分接收人\"时使用。本技能专注**通知规则的路由层**——不动通知媒介本身（→ n9e-notify-channel-copilot），不动消息模板（→ n9e-generate-message-template），不查\"为什么没发出\"（→ n9e-alert-rule-troubleshoot 流程 B）。","id":"n9e-notify-rule-copilot","name":"n9e-notify-rule-copilot","tags":["n9e"]},{"description":"在夜莺(n9e)环境中查询告警事件。当用户要求查看告警、查询活跃告警、搜索历史告警、查看告警详情、统计告警事件时使用。","id":"n9e-query-alert-events","name":"n9e-query-alert-events","tags":["n9e"]},{"description":"在夜莺(n9e)环境中查询各种数据源的数据。支持 Prometheus 指标查询、Elasticsearch/Loki 日志查询、ClickHouse/MySQL/PostgreSQL/TDengine/Doris 等 SQL 数据源查询。当用户要求查询指标、查看监控数据、搜索日志、执行 PromQL 或 SQL 查询时使用。","id":"n9e-query-datasource","name":"n9e-query-datasource","tags":["n9e"]},{"description":"为已触发的告警事件推荐自愈动作（半自愈 / auto-heal recommendation）。当用户从告警事件详情页或通知卡片打开 Copilot 问\"这条告警能自愈吗\"、\"推荐个自愈脚本\"、\"帮我处理一下\"、\"一键修复\"时使用。本技能只做**推荐**——不执行；执行走前端按钮调 ibex 接口。需要 context.event_id。","id":"n9e-recommend-self-heal","name":"n9e-recommend-self-heal","tags":["n9e"]},{"description":"This skill should be used when the user asks to \"troubleshoot\", \"diagnose\", \"debug alert\", \"investigate incident\", \"故障定位\", \"告警排查\", \"问题诊断\", \"排障\", \"查告警\", \"分析告警\", \"根因分析\", \"查指标\", \"查日志\", or discusses monitoring/alerting/observability issues in 夜莺(n9e) platform.","id":"ops-troubleshooting","name":"ops-troubleshooting","tags":["internal"]},{"description":"根据自然语言生成 PromQL 查询语句","id":"promql-generator","name":"promql-generator","tags":["n9e"]},{"description":"根据自然语言生成 SQL 查询语句（支持 MySQL/Doris/ClickHouse/PostgreSQL）","id":"sql-generator","name":"sql-generator","tags":["n9e"]}],"version":"1.0.0"}