{
  "ok": true,
  "name": "wrouter",
  "routes": [
    {
      "id": "hbooker",
      "name": "HBooker / 刺猬猫",
      "type": "builtin",
      "routePrefix": "/hbooker",
      "stripPrefix": false,
      "target": "builtin:hbooker",
      "healthPath": "/hbooker/health",
      "configFile": "hbooker.config.local.json",
      "endpoints": [
        "GET /hbooker/health",
        "POST /hbooker/login/guest",
        "GET /hbooker/search?keyword=...",
        "POST /hbooker/search",
        "GET /hbooker/detail?bookId=...",
        "POST /hbooker/detail",
        "GET /hbooker/catalog?bookId=...",
        "GET /hbooker/content?chapterId=...",
        "POST /hbooker/raw"
      ],
      "autoStart": false,
      "startOnRequest": false,
      "status": "ready",
      "pid": null,
      "startedByRouter": false,
      "lastStartedAt": null,
      "lastStoppedAt": null,
      "lastExitCode": null,
      "lastExitSignal": null,
      "lastError": null,
      "health": null
    },
    {
      "id": "qidian",
      "name": "Qidian v2",
      "type": "proxy",
      "routePrefix": "/qidian",
      "stripPrefix": true,
      "target": "http://127.0.0.1:3001",
      "healthPath": "/v2/health",
      "endpoints": [
        "GET /qidian/v2/health",
        "GET /qidian/v2/chapter/content?url=...",
        "GET /qidian/v2/chapter/content?bookId=...&chapterId=...",
        "GET /qidian/v2/chapter/content?bookId=...&chapterId=...&format=text"
      ],
      "autoStart": true,
      "startOnRequest": true,
      "status": "running",
      "pid": 56,
      "startedByRouter": true,
      "lastStartedAt": "2026-06-18T02:03:55.758Z",
      "lastStoppedAt": null,
      "lastExitCode": null,
      "lastExitSignal": null,
      "lastError": null,
      "health": null,
      "cwd": "/app/router/services/qidian-v2",
      "command": "node",
      "resolvedCommand": "/usr/local/bin/node",
      "args": [
        "server.js"
      ],
      "env": {
        "PORT": "3001"
      },
      "restartOnExit": false,
      "startupTimeoutMs": 15000,
      "healthTimeoutMs": 1500
    }
  ],
  "api": [
    "GET /_router/health",
    "GET /_router/services",
    "GET /_router/services/:id",
    "GET /_router/services/:id/logs",
    "POST /_router/services/start-all",
    "POST /_router/services/stop-all",
    "POST /_router/services/:id/start",
    "POST /_router/services/:id/stop",
    "POST /_router/services/:id/restart",
    "GET /hbooker/health",
    "POST /hbooker/login/guest",
    "GET /hbooker/search?keyword=...",
    "POST /hbooker/search",
    "GET /hbooker/detail?bookId=...",
    "POST /hbooker/detail",
    "GET /hbooker/catalog?bookId=...",
    "GET /hbooker/content?chapterId=...",
    "POST /hbooker/raw",
    "GET /qidian/v2/health",
    "GET /qidian/v2/chapter/content?url=...",
    "GET /qidian/v2/chapter/content?bookId=...&chapterId=...",
    "GET /qidian/v2/chapter/content?bookId=...&chapterId=...&format=text"
  ]
}
