add health endpoint for gateway and everos
This commit is contained in:
65
README.md
65
README.md
@ -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`
|
||||
|
||||
## 运行测试
|
||||
|
||||
|
||||
Reference in New Issue
Block a user