{
  "module": "omlx_server",
  "version": "1.0",
  "purpose": "OMLX 推理服务 — 运行在小果（Mac 192.168.1.122:18003），提供本地 LLM 推理能力。通过 OMLX 框架加载本地模型，为 Agent 提供低延迟推理。",
  "ui_location": "F Tab → AI网关 → OMLX推理服务(小果)",

  "human_help": {
    "title": "OMLX 本地推理服务",
    "description": [
      "小果（Mac Mini）上运行的本地推理服务，使用 OMLX 框架加载 GGUF 格式的本地模型。",
      "提供 OpenAI 兼容接口，延迟低、无需网络、不消耗云端配额。",
      "适合轻量推理、快速响应场景；复杂推理仍走云 Provider。"
    ],
    "usage": [
      "状态在 F Tab 的 AI网关 层查看（小果的远程服务标记为 remote）",
      "Dashboard 运行在 246 Linux，无法直接检测 Mac 端口 → 通过 ejabberd 在线状态推断"
    ],
    "troubleshooting": [
      "如果 OMLX 服务不可达：检查小果的 omlx_server 进程是否运行",
      "如果 Mac 离线：检查 EasyTier VPN 是否连通",
      "日志在小果本地：~/omlx/server.log"
    ],
    "related": "依赖 EasyTier VPN 连通 246 ↔ Mac；依赖本地 GGUF 模型文件"
  },

  "ai_spec": {
    "apis": [
      {"method": "GET", "path": "/v1/health", "returns": "{ok, model_loaded}", "desc": "健康检查 + 模型加载状态"},
      {"method": "POST", "path": "/v1/chat/completions", "body": "OpenAI chat completion 格式", "returns": "OpenAI 格式响应", "desc": "本地 LLM 推理"}
    ],
    "dependencies": [
      "EasyTier VPN — 跨平台网络",
      "本地 GGUF 模型文件",
      "OMLX 框架"
    ],
    "constraints": [
      "仅能在 Mac（192.168.1.122）上运行",
      "首次加载模型较慢（冷启动）",
      "Dashboard 只能通过 XMPP 在线状态间接监控"
    ],
    "related_files": [
      "gateway/scripts/specs/omlx_server.json — 本 spec",
      "config/agents.yaml — agent-003 定义"
    ]
  }
}
