48 lines
2.3 KiB
JSON
48 lines
2.3 KiB
JSON
{
|
||
"module": "ejabberd",
|
||
"version": "1.0",
|
||
"purpose": "Ejabberd XMPP 服务器运行在 Linux (246),是整个 Agent 通信系统的底层消息总线。所有的 Agent(xxm、mohe、zhiwei、xiaoguo)都通过它建立群聊(MUC)和私聊。",
|
||
"ui_location": "Infrastructure tab → Ejabberd",
|
||
|
||
"human_help": {
|
||
"title": "Ejabberd(XMPP 服务器)",
|
||
"description": [
|
||
"Ejabberd 是一个开源的 XMPP(Extensible Messaging and Presence Protocol)服务器。在这个系统中,它是所有 Agent 之间通信的底层基础设施。",
|
||
"每个 Agent 有一个 JID(Jabber ID,类似邮箱地址),例如 xxm@yoin.fun。Agent 们在 coregroup@conference.yoin.fun 群聊中收发消息。",
|
||
"Ejabberd 如果挂掉,所有 Agent 之间的消息都无法传递。dashboard 本身、WeChat Bridge、Hermes API 等都不依赖 Ejabberd(它们走 HTTP)。"
|
||
],
|
||
"usage": [
|
||
"监控状态:Infrastructure → Ejabberd 显示 ALIVE 或 DOWN",
|
||
"同时能看到当前在线的 JID 列表(online_jids)",
|
||
"如果显示 DOWN:必须立即登录 Linux 恢复"
|
||
],
|
||
"troubleshooting": [
|
||
"Ejabberd 挂掉时:ssh 到 246,运行 systemctl status ejabberd 查看状态",
|
||
"重启:sudo systemctl restart ejabberd",
|
||
"如果 Agent 连不上:检查 ejabberd 配置是否有对应的 JID 注册",
|
||
"端口 3021:客户端连接(C2S),开启 STARTTLS"
|
||
],
|
||
"related": "F 健康 tab 查看 XMPP bot 连接状态、G 规范查看 Agent 通信协议"
|
||
},
|
||
|
||
"ai_spec": {
|
||
"apis": [
|
||
{"method": "GET", "path": "/api/ejabberd", "returns": "{alive, xmpp_bot_connected, online_jids[], bot_jid}", "desc": "Ejabberd 存活状态 + 在线 JID 列表"}
|
||
],
|
||
"dependencies": [
|
||
"Ejabberd 本身不依赖其他服务",
|
||
"Agent 们依赖 Ejabberd 收发消息"
|
||
],
|
||
"constraints": [
|
||
"Dashboard 通过 HTTP API 检测 Ejabberd 健康(非 XMPP 协议直连)",
|
||
"online_jids 从 ejabberd API 获取(mod_admin_extra 需要开启)",
|
||
"xmpp_bot_connected 标识是否有至少一个 xmpp_agent_core 实例在线"
|
||
],
|
||
"related_files": [
|
||
"gateway/scripts/dashboard.py — /api/ejabberd 端点",
|
||
"gateway/scripts/templates/dashboard.html — fI() 状态展示",
|
||
"gateway/scripts/specs/ejabberd.json — 本 spec 文件"
|
||
]
|
||
}
|
||
}
|