Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[Bug]: 会话 AI 标题由云端调度随机丢失且永不补发,约 10% 主会话永久停留在首句兜底标题

未关闭
#128 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
需要澄清
活跃度
活跃
技术栈
shell, sqlite
领域
backend, desktop

调研方向

Start by tracing the app.asar createSession path and the handling of titleGenerationEnabled, then compare session.title_source with model_usage.query_source in db.sqlite. Confirm where cloud title scheduling is represented and whether any retry or manual regeneration entry point exists. Done should include a defined recovery path for sessions that remain at first_input.

由索引模型根据 Issue 内容生成。

描述

GUI version

3.14.4 (7912)

Operating system

Windows

Reproduction steps
  1. 新建一个主会话(任意工作区、任意模型),发送首条消息
  2. 首轮回复完成后,等待 AI 标题生成(实测为首轮后 1.5–10 分钟的云端延迟调度)
  3. 约 10% 的主会话其标题请求从未被调度下发,标题永久停留在第一句前 50 字的兜底文案(本地库 session.title_source='first_input')
  4. 该会话后续继续多轮对话也不会再触发标题生成——没有任何重试/补发机制
Expected behavior

每个主会话最终都应获得 AI 标题,建议任选其一或组合:

  1. 云端调度失败/超时后自动重试或补发(例如在会话下一轮请求时顺带补生成);
  2. 把标题生成改到客户端本地发起(类似 DSH 的 session-title 插件:本地控制触发时机、输出上限、超时),或暴露相应配置项;
  3. 至少在会话 UI 提供「重新生成 AI 标题」的手动入口,失败可见而非静默。
Actual behavior

标题生成请求由云端 agent 服务延迟调度,随机丢失且永不补发;一旦丢失,该会话在任务列表中永久显示第一句话的截断文本。客户端(app.asar)内只有「按固定 system prompt 识别 + 记账」的逻辑,titleGenerationEnabled 仅为 createSession 布尔参数(自动化会话被强制 false),不存在任何延迟/重试/模型/提示词配置项;失败完全静默,用户除手动重命名外无任何补救手段。

Evidence

本机(重度使用,Windows)约 10 天的本地统计(2026-09-20 ~ 09-30,来自 db.sqlite 的 session.title_source 与 model_usage.query_source 字段,不含隐私内容):

  • query_source='session_title' 请求共 73 次:72 completed / 1 error —— 请求一旦发出,成功率 ≈ 99%
  • 近 7 天 69 个主会话:62 个成功生成 AI 标题(90%),3 个永久卡在 first_input
  • 关键证据:卡住的 3 个会话在 model_usage 中 session_title 请求次数均为 0 —— 失败发生在云端调度下发之前,而不是生成失败
  • 首轮 main_turn 请求全部 completed 成功的会话同样被跳过(丢失与首轮成败无关)
  • 3.12.3 → 3.14.4 多个版本均复现

  • I removed credentials and private project information from this report.
主要语言
Shell
星标
89
派生
7
平均合并
2 小时 46 分钟
30 天内合并 PR
1

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

CommandCodeAI/desktop 的其他 Issue

查看 CommandCodeAI/desktop 的全部 Issue

相似的 Issue

更多 Shell/Bash Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。