add health endpoint for gateway and everos

This commit is contained in:
2026-06-11 10:52:13 +08:00
parent b74923e435
commit 7155704b73
4 changed files with 138 additions and 9 deletions

View File

@ -111,7 +111,55 @@ resource:{user_id}:{resource_id}
`POST /users` 外,所有业务 API 都需要携带 `user_id``user_key`。认证失败返回 `401`
### 1. 创建用户
### 1. 健康检查
```http
GET /health
```
该接口不需要 `user_id``user_key`,用于确认 Gateway API 是否可响应,以及上游 EverOS 是否可访问。
请求示例:
```bash
curl http://127.0.0.1:8010/health
```
EverOS 正常时响应示例:
```json
{
"status": "ok",
"api": {
"status": "ok"
},
"everos": {
"status": "ok",
"base_url": "http://127.0.0.1:8000",
"data": {
"status": "ok"
}
}
}
```
EverOS 不可访问时仍返回 HTTP 200`status` 会变成 `degraded`便于区分“Gateway API 活着”和“上游 EverOS 故障”:
```json
{
"status": "degraded",
"api": {
"status": "ok"
},
"everos": {
"status": "unavailable",
"base_url": "http://127.0.0.1:8000",
"error": "Connection refused"
}
}
```
### 2. 创建用户
```http
POST /users
@ -144,7 +192,7 @@ curl -X POST http://127.0.0.1:8010/users \
`user_key` 需要由调用方保存,后续上传、查询、搜索、修改和删除都要传入。如果同一个 `user_id` 已存在,接口会返回已有 `user_key`
### 2. 上传资源
### 3. 上传资源
```http
POST /resources
@ -212,7 +260,7 @@ curl -X POST http://127.0.0.1:8010/resources \
对外返回的 `uri` 永远是 `resource://{user_id}/{resource_id}`,不会泄露内部 `file://` 路径。
### 3. 查询资源列表
### 4. 查询资源列表
```http
GET /resources?user_id={user_id}&user_key={user_key}
@ -264,7 +312,7 @@ curl "http://127.0.0.1:8010/resources?user_id=u_123&user_key=uk_xxx"
}
```
### 4. 查询资源详情
### 5. 查询资源详情
```http
GET /resources/{resource_id}?user_id={user_id}&user_key={user_key}
@ -322,7 +370,7 @@ curl "http://127.0.0.1:8010/resources/r_xxx?user_id=u_123&user_key=uk_xxx"
这种设计避免通过资源 ID 探测其他用户的数据。`uri` 同样只返回公开 `resource://{user_id}/{resource_id}`,不会泄露内部 URI。
### 5. 删除资源
### 6. 删除资源
```http
DELETE /resources/{resource_id}?user_id={user_id}&user_key={user_key}
@ -352,7 +400,7 @@ curl -X DELETE "http://127.0.0.1:8010/resources/r_xxx?user_id=u_123&user_key=uk_
}
```
### 6. 搜索记忆
### 7. 搜索记忆
```http
POST /memories/search
@ -429,7 +477,7 @@ curl -X POST http://127.0.0.1:8010/memories/search \
}
```
### 7. 修改记忆
### 8. 修改记忆
```http
PATCH /memories/{memory_id}
@ -470,7 +518,7 @@ curl -X PATCH http://127.0.0.1:8010/memories/mem_abc \
}
```
### 8. 删除记忆
### 9. 删除记忆
```http
DELETE /memories/{memory_id}
@ -518,6 +566,7 @@ Gateway 内部通过 `core/everos_client.py` 调用 EverOS
- `add_memory(payload)` -> `POST /api/v1/memory/add`
- `flush_memory(session_id, app_id, project_id)` -> `POST /api/v1/memory/flush`
- `search_memory(payload)` -> `POST /api/v1/memory/search`
- `health_check()` -> `GET /health`
## 运行测试