# API 说明 FastAPI 会自动生成交互式 API 文档。启动服务后访问: ```text http://localhost:8102/docs ``` 所有后台接口统一挂载在: ```text /v1/admin ``` ## 常用接口 | 接口 | 方法 | 说明 | | --- | --- | --- | | `/v1/admin/health` | `GET` | 健康检查 | | `/v1/admin/auth/login` | `POST` | 管理员登录 | | `/v1/admin/auth/me` | `GET` | 当前登录用户 | | `/v1/admin/projects` | `GET/POST` | 项目管理 | | `/v1/admin/ontology-schemas/current` | `GET` | 当前 schema | | `/v1/admin/source-profiles` | `GET/POST/PATCH` | 数据源管理 | | `/v1/admin/batches` | `GET` | 批次管理 | | `/v1/admin/entities` | `GET` | 候选实体列表 | | `/v1/admin/conflicts` | `GET` | 冲突列表 | | `/v1/admin/publish-jobs` | `GET/POST` | 发布任务 | | `/v1/admin/graph/overview` | `GET` | 图谱概览 | | `/v1/admin/graph/query` | `POST` | 图谱查询 | | `/v1/admin/plaza/overview` | `GET` | 图谱广场概览 | | `/v1/admin/manual-ingest/extract` | `POST` | 手动抽取 | | `/v1/admin/travel/assistant-query` | `POST` | 旅行客服问答 | | `/v1/admin/super-agent/run` | `POST` | Super Agent 任务 | | `/v1/admin/roles` | `GET/POST` | 角色管理 | | `/v1/admin/users` | `GET/POST` | 用户管理 | | `/v1/admin/areas/tree` | `GET` | 区域树 | | `/v1/admin/notifications` | `GET` | 通知列表 | ## 登录示例 ```bash curl -s http://localhost:8102/v1/admin/auth/login \ -H 'Content-Type: application/json' \ -d '{"username":"admin@example.com","password":"change-me"}' ``` 返回中包含 `access_token`,后续接口可使用: ```bash TOKEN="上一步返回的 access_token" curl http://localhost:8102/v1/admin/auth/me \ -H "Authorization: Bearer $TOKEN" ``` ## 图谱查询示例 ```bash curl http://localhost:8102/v1/admin/graph/overview ``` ```bash curl http://localhost:8102/v1/admin/graph/query \ -H 'Content-Type: application/json' \ -d '{"query":"MATCH (n) RETURN n LIMIT 10"}' ``` ## 旅行客服问答示例 ```bash curl http://localhost:8102/v1/admin/travel/assistant-query \ -H 'Content-Type: application/json' \ -d '{"question":"黄小西三日游多少钱?"}' ``` ## 前端调用 React 管理后台通过 `admin-web/src/api.ts` 访问同源 API。Docker 部署时前端和 API 同在 `http://localhost:8102`,因此无需额外配置跨域代理。 ## 外部服务 LLM 和高德地图相关能力默认关闭或留空。启用前需要在 `.env` 或 Docker Compose 环境变量中配置: - `LLM_API_BASE` - `LLM_API_KEY` - `LLM_MODEL` - `LLM_EXTRACTION_ENABLED=true` - `AMAP_WEB_KEY` - `AMAP_JS_KEY` - `AMAP_SECURITY_JSCODE` - `GAODE_CRAWLER_PATH`