前言¶
DeepSeek Harness (DSH) 的侧边栏默认会话标题通常只是模型生成的一句话,难以一眼区分对话的归属日期和工作类型。dsh-session-title-pattern 插件通过模型对整段对话进行总结,将标题统一为「日期|类型|主题」的格式。
核心功能¶
该插件由 cq-guojia 维护,基于 MIT 许可证开源。它主要实现以下功能:
- 自动生成格式化标题:默认将标题拆分为日期、类型和主题三部分。日期取自会话创建时间(本地时区,MMDD 格式);类型跟随界面语言(中文 UI 显示二字,英文 UI 显示一词);主题为对整段对话的总结。
- 支持自定义标题模板:支持使用
{MMDD}、{YYYY}、{type}、{topic}等占位符自由组合格式,如{topic}|{MMDD}。 - 定时重新计算:默认每 10 条消息自动触发一次标题重新计算。
- 指定标题生成模型:可在设置中指定用于生成标题的模型,或选择跟随会话主模型。
- 手动重命名会话:支持通过点击标题旁的按钮或输入
/retitle命令手动修改标题。 - 扩展标题显示宽度:针对上游样式限制,注入 CSS 覆盖最大宽度,使当前会话标题显示更宽。
安装与启用¶
通过官方插件命令安装即可启用,无需额外配置:
dsh plugin --profile web add dsh-session-title-pattern
安装后,插件会随 DSH 进程自动加载,首次会话会在第一条消息后自动生成标题。
配置¶
插件提供两种配置方式:设置界面和配置文件。
设置界面¶
在 DSH 的插件详情页中,可以配置以下参数:
- Recompute every N messages:标题重新计算的间隔,默认为 10。设为 0 则仅在会话创建时计算一次。
- Model for title summaries:用于生成标题的模型,支持选择特定 Provider 或跟随主模型。
- Timeout:模型调用的超时时间(毫秒)。
- Title format / Title length limit:标题模板和长度限制。
配置文件¶
对于脚本化或批量部署,可通过 cordis.patch.yml 进行配置:
- id: session-title-pattern
config:
retitleEvery: 10
template: '{MMDD}|{type}|{topic}'
maxBytes: 80
工作机制与注意事项¶
- 仅处理顶级会话:插件不会对子会话(forked sessions)进行自动命名。
- 本地回退机制:首次标题生成失败时,会使用本地回退标题(日期 + 首条消息前 8 个词/字节)。若标题已存在,后续生成失败将保留旧标题。
- 显示宽度限制:上游样式限制了标题宽度为 220px,插件通过注入 CSS
[class*="_crumbCurrent"]{max-width:min(640px, 60vw) !important;}扩宽当前会话标题。若上游类名变更,此扩展可能失效。 - 依赖版本:要求 DSH 版本 >= 0.1.7-rc.1。
适用场景¶
适合需要长期维护大量会话、希望快速区分工作类型和时间节点的智能体开发者。插件能显著提升侧边栏的信息密度和可读性。