Skip to content

feat(session-title): 多层级回退标题提取,消除 Dashboard 空标题显示#258

Merged
ThreeFish-AI merged 1 commit into
feature/1.x.xfrom
ThreeFish-AI/fix-session-title-dash-hyphen
Jun 3, 2026
Merged

feat(session-title): 多层级回退标题提取,消除 Dashboard 空标题显示#258
ThreeFish-AI merged 1 commit into
feature/1.x.xfrom
ThreeFish-AI/fix-session-title-dash-hyphen

Conversation

@ThreeFish-AI

@ThreeFish-AI ThreeFish-AI commented Jun 3, 2026

Copy link
Copy Markdown
Owner

问题

Dashboard Session 列表中,部分来自 Claude Code 的 Session 其 title 显示为 en-dash (前端对空标题的兜底展示)。空标题源于 _extract_session_title() 仅从 role=user + type=TEXT 的消息中提取文本,经噪声标签剥离后若为空便无果而终,且标题为 INSERT OR IGNORE 写入一次、永不更新。

改动

多层级回退标题提取:重构 _extract_session_title() 为 4 级逐级回退策略,任一级别命中即返回:

  • Level 1(原有逻辑不变):user TEXT → 噪声剥离 → 首条非空文本
  • Level 2(新增):user TOOL_RESULT → text 截取 → "[Tool output] <snippet>"
  • Level 3(新增):user IMAGE → 计数 → "[1 Image]" / "[N Images]"
  • Level 4(新增):请求元数据 → tool_names / model → "[Tool call] Bash, Read" / "[Session] claude-opus-4-8"

噪声标签白名单增补_NOISE_TAG_PATTERN 新增 artifactMetadata(CC 产物上下文)和 thinking(CC 内联推理标签)。

延迟标题补写:新增 update_empty_session_title() 方法(WHERE title = 条件保证仅覆盖空标题),非首次请求也会尝试为空标题 session 回填,保持幂等性。

测试覆盖:新增 30 个测试用例,覆盖全部回退级别、新噪声标签、各辅助函数及集成级联场景。全量 1575 个测试通过,无回归。

涉及文件

  • src/coding/proxy/routing/executor.py — 核心回退逻辑 + 噪声标签扩展 + 延迟补写调用
  • src/coding/proxy/logging/db.py — 新增 update_empty_session_title()
  • src/coding/proxy/routing/usage_recorder.py — 委托层新增对应方法
  • tests/test_router_executor.py — 30 个新测试用例

- 重构 _extract_session_title 为 4 级逐级回退策略:
  Level 1: user TEXT 噪声剥离(原有逻辑不变)
  Level 2: TOOL_RESULT 文本截取 → '[Tool output] <snippet>'
  Level 3: IMAGE 计数 → '[1 Image]' / '[N Images]'
  Level 4: 元数据兜底 → '[Tool call] Bash, Read' / '[Session] model'
- 噪声标签白名单新增 artifactMetadata、thinking
- 新增 update_empty_session_title 延迟补写机制,
  非首次请求也可为空标题 session 回填
- 补充 30 个测试用例覆盖全部回退级别与新噪声标签

🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist)
Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>
@ThreeFish-AI ThreeFish-AI changed the title feat(session-title): 多层级回退标题提取与延迟补写 feat(session-title): 多层级回退标题提取,消除 Dashboard 空标题显示 Jun 3, 2026
@ThreeFish-AI ThreeFish-AI merged commit 344728d into feature/1.x.x Jun 3, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant