dsh-session-retitle:DeepSeek Harness 会话重命名插件

前言

DSH(DeepSeek Harness)的官方 session-title-first-prompt-llm 仅在会话的第一条消息时自动命名一次。如果后续对话偏离了初始主题,官方逻辑不会更新标题。dsh-session-retitle 插件填补了这个空档:它在会话头部添加了一个「重命名」按钮,允许你手动触发,读取当前会话内容,利用模型生成中文短标题并写回。

核心功能

  • 会话头部重命名按钮:在会话头部右侧添加操作入口。
  • 自动生成标题:读取会话内容,用当前模型生成中文短标题。
  • 零运行时依赖:不 import 任何 @deepseek-ai/* 包,仅发两条 HTTP 路由。
  • 官方服务集成:改名走官方 session-title 服务,包含并发保护与来源钉住。
  • 灵活的输入方式:留空输入框按内容自动起名;填写名字直接使用(不消耗模型调用)。
  • 主题跟随:界面颜色使用 DSH 的 --dsw-alias-* CSS 变量,明暗主题自动生效。
  • 路由回退与容错:支持候选路由回退与同会话并发保护。

安装与启用

  1. 确保 pnpm 已安装在 PATH 上。
  2. 执行安装命令:
dsh plugin --profile web add github:BPTumbleweed/dsh-session-retitle
  1. 重启 DSH 服务。重启后,界面会有 35–45 秒的中断,请耐心等待。加载完成后,请在浏览器中执行 Ctrl+Shift+R 硬刷新,以加载新的客户端按钮。

典型用法

  1. 打开任意一个 DSH 会话。
  2. 在会话头部右侧找到「重命名」按钮并点击。
  3. 在弹出的输入框中:
    - 留空:点击「自动起名」,插件会读取会话内容调用模型生成标题。
    - 填写内容:直接使用你输入的名字,不消耗模型调用。
  4. 几秒后,会话名会更新为新的标题,侧边栏列表同步更新。

配置项

插件通过 profile 的 cordis.patch.yml 覆盖进行配置:

键 默认 说明
routePrefix /dsh-session-retitle 路由前缀
maxTitleBytes 80 标题字节预算
maxDigestBytes 8000 送给模型的会话素材上限
maxDigestItems 16 最多取多少条消息(人类消息 + 助手回复)
timeoutMs 45000 标题模型调用超时
maxOutputTokens 512 标题模型的最大输出 token
provider / model deepseek-official / deepseek-flash 兜底路由配置

注意事项

  • 会话状态限制:只有当前在内存里活着(未归档)的会话能改名,历史归档会话无法操作。
  • 无数据残留:插件不改文件、不写数据目录,移除后不会留下垃圾。
  • 手动覆盖保护:一旦手动改过名字,官方的自动命名不会再覆盖(source.kind = user 会被钉住)。
  • 验证接口:可以通过以下命令验证插件状态(需替换 <端口>):
curl -s http://127.0.0.1:<端口>/dsh-session-retitle/status | head -40

结语

该插件通过极简的交互(一个按钮)解决了 DSH 会话命名滞后的问题,同时保持了与官方服务的兼容性。所有素材仅取人类消息与助手回复,工具结果被过滤,确保标题生成的准确性。

  • 仓库:https://github.com/BPTumbleweed/dsh-session-retitle
  • 维护者:BPTumbleweed
  • 许可证:MIT
羽毛球分组比赛记分
小程序二维码

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

小夜