Skip to content

[Bug] /diary 结果状态不一致:提示“日记写入失败”但文件可能已生成,真实失败也不展示原因 #2565

Description

@kimyenhuynh035

相关但不同的历史 Issue:#963 报告的是旧版 macOS 上 /api/diary/write 返回 400;本 Issue 聚焦 v0.449.0 Windows 中“前端失败提示与实际写入结果不一致”及“错误原因被隐藏”的问题。

补充 v0.449.0 / Windows 11 的近期复现证据。

这个 Issue 中提到的“前端不展示服务端具体错误”在当前版本仍然存在,并且已经影响到区分不同类型的 /diary 故障。

环境

  • HanaAgent:v0.449.0
  • OS:Windows 11(build 26100)
  • 使用方式:主助手会话中执行 /diary
  • 聊天模型:GPT 系列模型;正常对话可用
  • 日记目录:工作区下的 OH-Works/日记

观察到的三种不同结果

1. 实际失败,但 UI 只显示通用错误

2026-09-03 10:54,执行 /diary 后,界面长时间显示“正在写日记”,最终只提示“日记写入失败”。

同一时段服务端日志实际为:

[ERROR] [memory-ticker] 滚动摘要 (...) 失败: The usage limit has been reached
[ERROR] [diary] write failed: The usage limit has been reached
这一次确实是额度限制,但 UI 没有展示真实原因,用户无法判断是额度、认证、网络、超时、材料准备还是写盘失败。

2. UI 提示失败,但之后发现日记文件已经存在
近期约有两次,用户执行 /diary 后收到“日记写入失败”,但之后检查日记目录发现当天文件实际上已经生成。

这类情况无法判断是:

后端已成功写盘,但前端没有收到成功响应;
UI / 请求链路超时或状态不同步;
意外触发了重复写入请求。
当前 UI 没有请求 ID、服务端错误详情或最终文件路径,因此用户无法自行区分。

3. UI 提示失败,且确实没有文件
2026-08-31 和 2026-09-01 左右各出现过一次:执行 /diary 长时间等待后提示失败,日记目录中也没有当天文件。

当时默认聊天模型仍有可用额度,正常聊天没有问题。因此“模型完全不可用”不能解释所有失败;/diary 的多阶段流程(补摘要 + 收集材料 + 最终生成)中可能存在独立失败点。

同日成功的对照
2026-09-03 下午再次触发日记流程时,日志先出现材料警告:

[WARN] [diary] material warning: ... stage=date-slice: summary source range is outside the diary date and the session file is unavailable
[WARN] [diary] material warning: ... stage=rolling-summary: terminated
但最终仍成功写入:

[INFO] [diary] 日记已写入: %WORKSPACE%/OH-Works/日记/2026-09-03 |[标题已省略].md
生成内容完整,未明显遗漏上午事项。

这说明材料警告可以降级继续;但当前前端没有向用户说明“警告但已成功”还是“最终失败”。

期望改进
前端在 /diary 失败时展示服务端返回的具体 error,至少区分:

LLM 额度 / 限流
LLM 超时
认证 / Provider 错误
日记材料准备失败
最终文件写入失败
成功时明确展示最终文件路径;若出现材料警告,可显示“已写入,但部分材料补齐失败”的可展开提示。

为一次日记写入提供 requestId / operationId,使前端提示、服务端日志和最终文件可对应,便于定位“UI 报失败但文件已生成”的状态不一致。

如果后端成功写盘但客户端请求或响应中断,UI 不应只显示“日记写入失败”。

附件为一次通用“日记写入失败”UI 截图。API Key、个人路径、会话内容均已省略。

<img width="1671" height="648" alt="Image" src="https://github.com/user-attachments/assets/7029ccdd-5fd2-46a4-835c-58897c61f115" />

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions