heimoshuiyu
8ca103342d
fix: Message.ReasoningContent/Reasoning 改为 *string,修复空思考内容在请求转发时被静默丢弃的问题
问题:
在非 passThrough 模式下,客户端发送的 reasoning_content: "" 经过
Go struct 反序列化再序列化后,因 string + omitempty 无法区分空串和
字段缺失,导致空的思考内容被静默丢弃。
根因:
dto.Message.ReasoningContent 和 Message.Reasoning 使用 string(非指针)
加 omitempty,违反 AGENTS.md Rule 6(可选标量字段必须用指针类型)。
修复:
1. Message.ReasoningContent/Reasoning 类型从 string 改为 *string
- nil = 字段缺失 → JSON 省略
- &"" = 显式空串 → JSON 保留 reasoning_content: ""
2. 新增 Message.GetReasoningContent() 辅助方法
3. 更新所有读写处:relay-openai, relay-claude, relay-gemini, ollama
4. 新增测试覆盖空串保留、字段省略、getter 回退逻辑
2026-04-29 13:43:26 +08:00
..
2026-04-09 12:41:51 +08:00
2026-04-15 20:55:01 +08:00
2026-04-17 13:52:34 +08:00
2026-03-01 15:47:03 +08:00
2026-01-14 22:29:43 +08:00
2026-03-01 15:47:03 +08:00
2026-04-04 16:11:13 +08:00
2026-04-23 21:37:03 +08:00
2026-04-29 13:43:26 +08:00
2025-06-30 22:31:12 +08:00
2025-02-18 15:59:17 +08:00
2026-01-26 20:20:16 +08:00
2026-03-31 23:58:10 +08:00
2026-03-01 15:47:03 +08:00
2026-04-29 13:43:26 +08:00
2026-04-26 13:47:37 +08:00
2026-01-26 20:20:16 +08:00
2026-02-28 17:37:08 +08:00
2024-09-26 00:59:09 +08:00
2025-10-11 15:30:09 +08:00
2026-02-12 12:57:27 +08:00
2025-10-11 15:30:09 +08:00
2025-10-11 15:30:09 +08:00
2026-03-01 15:47:03 +08:00
2024-03-20 19:00:51 +08:00
2026-02-22 16:00:27 +08:00
2026-02-22 16:00:27 +08:00
2026-03-02 22:01:53 +08:00
2026-04-18 14:22:54 +08:00
2025-06-19 11:53:42 +08:00