dsh-auto-title:用一行短标题管理 Harness 会话

前言

在 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):

  1. 在 package.json 依赖中加入 "dsh-auto-title": "link:C:/path/to/dsh-auto-title",执行 pnpm install;
  2. 在同一 package.json 的 dsh.profile.bundles 数组末尾加上 "dsh-auto-title";
  3. 重启 Harness。

装完后在会话「⋯」菜单确认出现 刷新标题。若无 webServer 服务,插件仍会加载,但菜单可能不可用,日志会有 warn。

典型用法

  1. 安装并重启后,正常对话;标题会在每轮后自动更新(除非你已手动改名)。
  2. 需要立刻换标题时:打开会话「⋯」→ 刷新标题。
  3. 希望标题更短时,在 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。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜