dsh-session-namer:DSH 新建会话命名插件

在 DeepSeek Harness (DSH) 中,新建会话通常由第一条消息自动生成标题。如果第一条消息不完整或噪音较多,生成的标题可能不符合预期。dsh-session-namer 修改了这一流程,在创建会话前增加一步手动命名,确保标题由用户直接定义。

这是一个 DSH 客户端插件,由 CHIP-PHILO-GH 维护。它拦截了新建会话的操作,通过对话框让用户输入名称,从而替代默认的自动标题逻辑。项目采用 MIT 许可证。

核心功能

  1. 新建会话时先弹命名对话框:点击侧栏的「新会话」时,不再直接创建会话,而是先弹出对话框。
  2. 填入名字后永久钉住会话名:确认后,会话建立即使用该名字,不会被后续消息的自动标题覆盖。
  3. 留空则按第一条消息自动命名:在对话框中留空或直接回车,保持 DSH 原有的自动命名行为。
  4. 取消操作不创建会话:按 Esc 或点击取消按钮,不会创建任何会话。
  5. 实时预览与会话名:在对话框中输入时,实时显示会话列表中的显示效果。
  6. 按宿主上限截断提醒:自动检测并按宿主 80 字节上限进行截断提示。
  7. 自动适配主题:自动跟随 DSH 的亮/暗主题与皮肤。

安装与启用

这是一个纯客户端插件,未发布到 npm,需使用本地 link: 方式安装。

  1. 克隆或解压到本地目录,即 <包所在目录>。
  2. 编辑 profile 的 package.json(路径为 $env:DSH_HOME\profiles\<profile>\package.json):
    • 在 dsh.profile.bundles 中添加一行 "dsh-session-namer"。
    • 在 dependencies 中添加一行 "dsh-session-namer": "link:<包所在目录>"。
  3. 建立符号链接:
    New-Item -ItemType Junction `
      -Path "$env:DSH_HOME\profiles\<profile>\node_modules\dsh-session-namer" `
      -Target "<包所在目录>"
  1. 重启 dsh web 生效。客户端插件代码在页面里加载,刷新页面无法生效。

典型用法

  • 点击侧栏的「新会话」按钮。
  • 在弹出的对话框中填入名字并确认,会话将以该名字建立。
  • 留空或直接回车,则按第一条消息自动命名。
  • 按 Esc 或点击取消按钮,不创建会话。

注意事项

  • 依赖声明:插件需声明注入服务 locale, slots, sessions, uiWorkspace。如果缺少声明,插件可能因服务缺失而静默失效。
  • 权限:插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
  • 平台:纯客户端插件,运行在 web 平台。
  • 截断限制:会话名按宿主 80 字节上限截断。

结语

通过这一插件,开发者可以更精确地控制会话的初始命名,提升会话管理的效率。更多技术细节与源码,可参考 GitHub 仓库。

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

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

小夜