修复 SuperAgent Open API CSRF 请求头

This commit is contained in:
andy
2026-07-13 09:59:45 +08:00
parent 20eac61cb6
commit dec98b0632
6 changed files with 42 additions and 6 deletions

View File

@@ -268,7 +268,7 @@ POST /api/open/agent-sessions/{sessionId}/messages/stream
第一版建议:
- 后端使用 `DEERFLOW_BASE_URL``DEERFLOW_OPEN_API_KEY` 调用 SuperAgent。
- 状态变更请求使用 CSRF double-submit`X-CSRF-Token``Cookie: csrf_token=<same-token>`
- 状态变更请求使用 CSRF double-submit`X-CSRF-Token``Cookie: csrf_token=<same-token>`;当前共享 Open API client 已自动生成临时随机 token 并同时写入 header / cookie
- 创建 session 时使用 `SUPERAGENT_DEBUG_EML_EXTERNAL_SUBJECT_ID` 作为 `external_subject_id`
- `idempotency_key` 使用 `debug_run_id` 派生,保证同一次 Debug 运行不会重复创建不可追溯请求。
- 发送消息时把 AgentBus-like payload 序列化为 JSON 文本,并附加中文指令,要求 SuperAgent 输出结构化 JSON。

View File

@@ -56,6 +56,7 @@ AgentBus WebSocket 收到邮件
2026-07-12 导入的 `OPEN_AGENT_API_JAVA_SSE_CLIENT.md` 对 Java SSE 调用提出新的强约束。本项目后续 Open API client 必须满足:
- 请求 `messages/stream?include_trace=true` 时生成稳定 `X-Request-ID`
- Open API 请求必须携带 CSRF double-submit`X-CSRF-Token``Cookie: csrf_token=<same-token>` 使用后端临时随机值,不写入配置文件或环境变量。
- 同一业务 SourceMessage 的 `idempotency_key` 在所有尝试中保持不变。
- 初始 POST 成功后保存响应头 `Content-Location`,解析并保存 SuperAgent `run_id`
- SSE 必须按帧解析 `event:``data:``id:` 和 heartbeat comment。