feat: 重构 memory 系统,支持 user memory 和 work memory 分离
This commit is contained in:
@@ -0,0 +1,119 @@
|
||||
# Users 协议
|
||||
|
||||
本文档定义 `/api/v1/users` 的用户管理协议。
|
||||
|
||||
Base URL: `/api/v1/users`
|
||||
|
||||
---
|
||||
|
||||
## 端点
|
||||
|
||||
| 方法 | 路径 | 说明 |
|
||||
|---|---|---|
|
||||
| GET | `/me` | 获取当前用户信息 |
|
||||
| PATCH | `/me` | 更新当前用户信息 |
|
||||
| POST | `/search` | 搜索用户 |
|
||||
| GET | `/{user_id}` | 获取指定用户信息 |
|
||||
|
||||
---
|
||||
|
||||
## UserContext 数据结构
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "uuid",
|
||||
"username": "string",
|
||||
"phone": "+14155552671 | null",
|
||||
"avatar_url": "https://... | null",
|
||||
"bio": "string | null",
|
||||
"settings": {
|
||||
"version": 1,
|
||||
"preferences": {
|
||||
"interface_language": "zh-CN",
|
||||
"ai_language": "zh-CN",
|
||||
"timezone": "Asia/Shanghai",
|
||||
"country": "CN"
|
||||
},
|
||||
"privacy": {},
|
||||
"notification": {}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
字段说明:
|
||||
- `id`: 用户唯一标识符 (UUID)
|
||||
- `username`: 用户名,3-30 字符
|
||||
- `phone`: E.164 格式手机号,可为 null
|
||||
- `avatar_url`: 头像 URL,可为 null
|
||||
- `bio`: 个人简介,最大 200 字符,可为 null
|
||||
- `settings`: 用户偏好设置
|
||||
|
||||
---
|
||||
|
||||
## 1) GET `/me`
|
||||
|
||||
获取当前登录用户信息。
|
||||
|
||||
### Request
|
||||
|
||||
无请求体。
|
||||
|
||||
### Response
|
||||
|
||||
`UserContext` 对象。
|
||||
|
||||
---
|
||||
|
||||
## 2) PATCH `/me`
|
||||
|
||||
更新当前用户信息(部分更新)。
|
||||
|
||||
### Request
|
||||
|
||||
```json
|
||||
{
|
||||
"username": "newname",
|
||||
"avatar_url": "https://example.com/avatar.jpg",
|
||||
"bio": "Hello world"
|
||||
}
|
||||
```
|
||||
|
||||
至少提供一个字段。
|
||||
|
||||
### Response
|
||||
|
||||
更新后的 `UserContext` 对象。
|
||||
|
||||
---
|
||||
|
||||
## 3) POST `/search`
|
||||
|
||||
按用户名或手机号搜索用户。
|
||||
|
||||
### Request
|
||||
|
||||
```json
|
||||
{
|
||||
"query": "john"
|
||||
}
|
||||
```
|
||||
|
||||
`query` 最小 1 字符,最大 100 字符。
|
||||
|
||||
### Response
|
||||
|
||||
`UserContext` 对象数组。
|
||||
|
||||
---
|
||||
|
||||
## 4) GET `/{user_id}`
|
||||
|
||||
获取指定用户信息。
|
||||
|
||||
### Path Parameters
|
||||
|
||||
- `user_id`: 用户 UUID
|
||||
|
||||
### Response
|
||||
|
||||
`UserContext` 对象。
|
||||
Reference in New Issue
Block a user