几天前,我在 GitHub 发布了一个插件,名为 Uptime Kuma Connector,用于 Cheshire Cat AI,又名 Stregatto,也称为 大猫。安装后,它可以回答如下类型的问题:
- 服务 XYZ 是否在线?
- 为什么我无法连接到 XYZ(网站)?
- XYZ 网站是否可用?
- 这是我的问题还是服务的问题?
为了进行这些检查,插件会连接到一个 Uptime Kuma 实例并查询它,确认所请求的服务或网站是否正常运行。
插件如何工作?
插件向 Stregatto 暴露了一个工具,service_status()。当用户输入“我无法访问 Esse3”时,模型会调用该工具,推断请求中的服务名称,并以服务名称作为参数调用该工具。
此时插件会:
- 读取 Uptime Kuma 实例的
/metrics端点,并使用 API key 进行认证; - 通过配置的 别名,精确名称,最后是包含关系(每边至少3个字符)来解析用户请求的名称对应一个或多个监控项;
- 返回给模型 类似“系统可用” 的一句话(而非需要解析的 JSON)。
我选择使用 /metrics 而非 API,因为 Uptime Kuma 没有通用的 REST API,状态页面需要公开数据,而 /metrics 受密钥保护,且包含所有所需信息。
服务状态绝不会“凭空捏造”,最多是无法获取。可能的结果有四种:
- known:服务被识别且状态已知(运行中、宕机、待定、维护中);
- not_monitored:没有匹配的监控项,插件明确告诉模型 不要 推断服务正常;
- ambiguous:匹配多个监控项,建议询问用户具体指哪个;
- unknown:配置缺失、实例不可达或响应无法解析。
插件是 只读 的,不会对 Uptime Kuma 及其监控项做任何修改。
安装与配置
在 Uptime Kuma 中:进入 Settings > API Keys > Add API Key,创建一个 只读 的 API 密钥。请立即复制,因为 Kuma 不会再次显示该密钥。
在 Cheshire Cat AI 中:进入插件页面,搜索 Uptime Kuma Connector,点击 安装,然后点击 配置,最后填写配置参数。
插件的所有设置都在管理面板中:
- 实例 URL:仅填写基础 URL,如
https://kuma.example.org。若为空,连接器将被禁用; - API key:上面创建的密钥;
- 别名映射(可选):每行一条,格式为
U-GOV, UGOV: 12,左侧是用户使用的名称,右侧是监控项 ID。用于服务的“人类”名称与监控名称不匹配的情况——几乎总是如此; - 最大响应大小(KiB) 和 超时(秒):安全限制,默认分别为 1024 KiB 和 2 秒。
小提示:在大猫的设置中,procedural_memory_k 必须 至少为 1,否则工具永远不会被调用,插件看起来像是无效的。
使用示例
来自 Stregatto 查询界面:

以下是这些查询产生的日志示例:

总结
这是一个可以在多种场景中复用的产品;我们用它构建了一个基于 RAG 系统的 帮助台聊天机器人,每天都会多次收到“服务宕机了吗?”的问题,而正确答案并不在任何索引文档中。
该插件采用 GPL-3.0 许可,任何人都可以下载、安装和修改。唯一依赖的是 httpx,但它已包含在 Cheshire Cat AI 核心中,实际上无需额外安装。
如需更多说明或有修改建议,欢迎联系我,或者更好的是,直接在 GitHub 上提交 issue。
来源与参考
- Cheshire Cat AI,官方网站。
- Cheshire Cat AI 1.9.2 版本仓库(本插件基于该版本开发)。
- Uptime Kuma Connector,GitHub 仓库。
*** 注意:本文档是通过 n8n 和 OpenAI 自动翻译生成的。原文版本为意大利语。

