前言¶
在 DeepSeek Harness(DSH)里开很多会话时,侧栏和页头往往还留着首句用户话当标题,长句不好扫一眼,也不方便区分「这是哪次任务」。Harness 自带 sessionTitle 服务,内置 provider 多在首条 prompt 时起名;若希望每轮对话后标题仍跟得上上下文,又要控制长度、并在你手动改名后不再被覆盖,就需要一个专门接在这套服务上的插件。下面介绍社区插件 dsh-auto-title(自动会话标题),维护者为 SarahDeady,在 SkillHub 目录中归类为「模型推理」。
这是什么¶
dsh-auto-title 是 DSH 桌面端插件:把会话上下文提炼成一行标题,宽度不超过 12 个「汉字宽」(一个汉字计 1,其他字符计 0.5,按 UTF-8 列宽记账,不是简单字符个数)。英文产品名:Auto Session Title for DeepSeek Harness。
它注册 Harness 的 sessionTitle provider(automatic: 'all-prompts'),每轮用户发言后重新总结标题;你在侧栏手动改过一次标题后,Harness 会锁定用户标题,插件不再自动覆盖。会话「⋯」菜单里增加 刷新标题,可强制重新提炼;未打开的冷会话也可通过读会话日志写回标题。
核心功能¶
自动提炼与节流¶
每轮对话结束后,插件用当前会话上下文调用模型(ctx.llm.stream({ purpose: 'session-title' })),清洗成单行并限制宽度。同一会话 4 秒内不重复调模型(默认 minAutoIntervalMs: 4000)。子会话(子智能体)不调模型,使用确定性短标题。
用户改名即停¶
侧栏改名走 Harness 标题服务的 rename(),会追加 source: user 的事件并锁定;此后服务不再为用户消息调度自动生成,插件无需额外逻辑。
刷新标题菜单¶
任意会话右键或点「⋯」:
| 状态 | 显示 |
|---|---|
| 空闲 | 刷新标题 |
| 提炼中 | 正在提炼标题…(禁用) |
| 成功 | 菜单关闭,侧栏与页头标题更新 |
| 失败 | 刷新失败,点击重试(悬停可看原因) |
客户端请求 GET /auto-title/refresh?sessionId=…,Host 调用 ctx.sessionTitle.refresh(session),可绕过锁定与节流。会话不在内存时,从 sessionPersistence 读日志、提炼后追加 session/title 并 flush();若侧栏列表未变,可 Ctrl+R 刷新页面。
与内置标题 provider 的关系¶
Harness 的 sessionTitle 只接受一个 provider。本插件在 cordis.patch.yml 中会停用内置 session-title-llm(first-prompt 生成器),把起名交给本插件。若要恢复内置:从 profile 移除本插件 bundle,并在 profile 的 cordis.patch.yml 里去掉对 session-title-llm 的 disabled。
安装与启用¶
前提:已安装 DeepSeek Harness 桌面端,且插件目录已在本地(例如从 GitHub 仓库 取得,当前 package 版本 1.0.2,需 Node >= 22)。
方式一:让 DSH 安装(推荐)¶
在 Harness 里对 Agent 说明本地目录路径,使用 plugin_manager install_bundle 安装该目录。安装成功会返回 "application": "applied"。重启 Harness 使 Host 模块生效。
示例(路径按你的环境替换):
用 plugin_manager install_bundle 安装 `C:\path\to\dsh-auto-title` 这个目录
方式二:手动挂载 profile¶
在 profile 目录(Windows 一般为 C:\Users\<你>\.dsh\profiles\desktop):
- 在
package.json依赖中加入"dsh-auto-title": "link:C:/path/to/dsh-auto-title",执行pnpm install; - 在同一
package.json的dsh.profile.bundles数组末尾加上"dsh-auto-title"; - 重启 Harness。
装完后在会话「⋯」菜单确认出现 刷新标题。若无 webServer 服务,插件仍会加载,但菜单可能不可用,日志会有 warn。
典型用法¶
- 安装并重启后,正常对话;标题会在每轮后自动更新(除非你已手动改名)。
- 需要立刻换标题时:打开会话「⋯」→ 刷新标题。
- 希望标题更短时,在 Host 半修改默认参数(改完重启),例如将
maxTitleUnits从12改为8。
默认调参项(Host 半 DEFAULTS):
| 键 | 默认 | 含义 |
|---|---|---|
maxTitleUnits |
12 |
标题上限(汉字宽) |
maxOutputTokens |
512 |
单次模型输出上限 |
maxMessageChars |
600 |
每条用户消息截断长度 |
maxInputChars |
4000 |
送入消息总字符预算 |
tailMessages |
8 |
除首条外携带的最近消息条数 |
minAutoIntervalMs |
4000 |
同会话两次自动提炼最小间隔 |
适用场景与注意¶
适合:长期在 DSH 桌面端开多会话、希望侧栏标题短且随对话更新、又需要「我改过名就别再改」的开发者或日常用户。
务必了解:
- 面向 桌面端 Web profile;文档写明自动行为主要针对 live(当前进程里打开着的)会话,冷会话依赖日志路径与刷新菜单。
- 模型无可用路由(会话尚未发请求或未配置 provider)时,退回确定性标题,不报错。
- 插件以当前 DSH 进程权限运行;安装前应阅读源码与 MIT 许可证(© 2026 SarahDeady),自行判断是否信任。
- SkillHub 目录(https://www.skillhub.cn/plugins/SarahDeady/dsh-auto-title)是社区插件索引,与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,本介绍事实以仓库 README 为准。
结尾¶
dsh-auto-title 把会话标题收成一行、跟对话走,并在你手动命名后尊重锁定;需要时再一键刷新。目录页:https://www.skillhub.cn/plugins/SarahDeady/dsh-auto-title;源码与完整说明:https://github.com/SarahDeady/dsh-auto-title。