feat: 实现用户画像、占卜历史与后端用户管理模块
This commit is contained in:
@@ -18,6 +18,7 @@ Protocol verification status:
|
||||
|
||||
- Submit run: `POST /api/v1/agent/runs`
|
||||
- Stream events: `GET /api/v1/agent/runs/{threadId}/events?runId=...`
|
||||
- History snapshot: `GET /api/v1/agent/history`
|
||||
|
||||
## Run request contract
|
||||
|
||||
@@ -166,6 +167,73 @@ Frontend should combine:
|
||||
- structural divination data from `DIVINATION_DERIVED`
|
||||
- interpretation text from `TEXT_MESSAGE_END`
|
||||
|
||||
## History snapshot contract
|
||||
|
||||
`GET /api/v1/agent/history` is the canonical replay source for frontend history list and result reconstruction.
|
||||
|
||||
### Required response shape
|
||||
|
||||
```json
|
||||
{
|
||||
"scope": "history_day",
|
||||
"threadId": "uuid|null",
|
||||
"day": "2026-04-05|null",
|
||||
"hasMore": false,
|
||||
"messages": [
|
||||
{
|
||||
"id": "uuid",
|
||||
"seq": 12,
|
||||
"role": "assistant",
|
||||
"content": "...",
|
||||
"timestamp": "2026-04-05T12:34:56+00:00",
|
||||
"agent_output": {
|
||||
"status": "success",
|
||||
"sign_level": "中上签",
|
||||
"summary": "...",
|
||||
"conclusion": ["..."],
|
||||
"focus_points": ["..."],
|
||||
"advice": ["..."],
|
||||
"keywords": ["..."],
|
||||
"answer": "...",
|
||||
"key_points": ["..."],
|
||||
"result_type": "structured_payload",
|
||||
"suggested_actions": ["..."],
|
||||
"divination_derived": {
|
||||
"binaryCode": "101001",
|
||||
"changedBinaryCode": "100001",
|
||||
"guaName": "山火贲"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "uuid",
|
||||
"seq": 11,
|
||||
"role": "user",
|
||||
"content": "我最近换工作是否合适?",
|
||||
"timestamp": "2026-04-05T12:34:12+00:00",
|
||||
"attachments": [
|
||||
{
|
||||
"mimeType": "image/png",
|
||||
"url": "https://...signed..."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Rules:
|
||||
|
||||
- `assistant` message MUST provide `agent_output` when backend has valid worker output metadata.
|
||||
- `agent_output.divination_derived` uses the same shape as `DIVINATION_DERIVED.divination` payload.
|
||||
- Frontend reconstructs divination result page from `agent_output` data, not from local mock data.
|
||||
- `agent_output.sign_level` allowed values: `上上签` / `中上签` / `中下签` / `下下签`.
|
||||
|
||||
### Breaking change note
|
||||
|
||||
- `ui_schema` is removed from history response and is no longer part of this project protocol.
|
||||
- This repository currently accepts non-backward-compatible protocol evolution (no production compatibility burden).
|
||||
|
||||
## Error contract linkage
|
||||
|
||||
- All errors use RFC7807 with extension `code` and optional `params`.
|
||||
|
||||
Reference in New Issue
Block a user