前言¶
DeepSeek Harness(DSH)支持插件化扩展,但对话标题仍需手动维护。手动命名耗时,且对话主题变化后标题往往滞后。dsh-auto-rename 插件通过 AI 自动生成并持续刷新标题,同时在重命名对话框中流式展示候选标题,减少手动操作。
插件定位¶
dsh-auto-rename 是一个客户端插件,由维护者 Theflippy978 开发。它为 DSH 提供自动对话命名能力:第一条用户消息由 AI 生成标题,后续每条新消息会重新阅读最近对话并刷新标题,使标题跟随主题演进。
核心功能¶
自动命名与刷新¶
插件会读取最近的人类消息来生成标题。默认情况下,每条新消息都会触发刷新,使标题与当前对话主题保持一致。若关闭「Refresh title as the conversation grows」,则仅第一条消息被命名,后续不再更新。手动重命名对话会固定该标题,不再被自动覆盖。
AI 标题建议对话框¶
在对话页面顶部点击「AI Name」按钮,会弹出一个与 DSH 原生重命名窗口样式一致的对话框。对话框提供以下能力:
- 流式展示候选标题:建议逐个出现,每个候选通过 500 毫秒的从左到右扫描动画呈现。
- 一键应用:点击候选标签即可填充输入框;点击「Regenerate」可获取新候选。
- 原生交互体验:按 Enter 确认,Esc 关闭,输入法组合输入时不会误提交。
模型选择¶
命名默认跟随对话的主模型。插件会列出主机已认证且可调用的模型,用户也可固定选择一个更便宜的模型。模型列表来自主机的 remote.session.modelCatalog(),确保每项都是真实可用的模型。
推理模型处理¶
推理模型会先消耗 token 进行思考,可能导致标题生成失败。插件自动处理四种情况:
- 模型声明可关闭推理时,使用
off级别(部分网关使用off,部分使用none)。 - 模型未声明时,使用最低推理级别。
- 推理模型获得更高的 token 上限(4096,即架构上限),以容纳思考过程。
- 仅在因 token 限制导致生成失败时重试一次,最多重试两次,每次独立超时。
对话框内设置面板会显示当前生效的策略:推理已关闭 / 降级到最低级别 / 非推理模型 / 无法读取模型能力。切换模型会刷新该行和级别列表。
审计追踪¶
插件在每条 session/title 事件的 source.provider 字段中写入 dsh-auto-rename,便于区分哪些标题由本插件生成。
安装与启用¶
通过官方命令安装:
dsh plugin add dsh-auto-rename
从本地仓库安装(需先 checkout):
dsh plugin --profile desktop add <path-to-this-repo>
安装后,插件会自动将 dsh-auto-rename 加入配置包栈,并禁用 DSH 内置的 session-title-llm 行。因为 SessionTitleService.register() 全局仅接受一个提供者,内置行若先注册会阻塞本插件注册。安装后需要重启 DSH,客户端变更支持热重载,但主机侧变更需重启。
典型用法¶
- 安装插件并重启 DSH。
- 在对话页面顶部点击「AI Name」按钮。
- 在弹出的对话框中,候选标题会逐个流式出现,点击任意候选填充输入框,按 Enter 确认。
- 如需调整设置,点击对话框标题行左侧的齿轮图标,展开设置面板,可配置刷新策略、命名模型、推理级别、候选数量、输出 token 上限、超时时间和标题宽度。
适用场景与注意¶
适合需要自动管理对话标题的用户,或希望减少手动操作的开发者。插件以客户端权限运行,安装前应检查源码与许可证(MIT)。
若主机未配置远程会话或模型列表失败,模型选择行会降级为手动「Provider」和「Model」字段,需成对填写否则会报错。
结尾¶
dsh-auto-rename 通过 AI 自动命名和持续刷新,使对话标题与内容同步。插件在重命名对话框中提供流式候选标题,减少手动输入。目录页与源码仓库见下方链接。