본문으로 건너뛰기
E

dsh-autotitle

echouniverse/dsh-autotitle

DeepSeek Harness slash command /title: generate a session title from the conversation with smart trimming and optional confirm

설치

dsh plugin --profile web add github:echouniverse/dsh-autotitle

README

@hanxu131/dsh-autotitle

DeepSeek Harness(DSH) 加一条斜杠命令 /title:根据当前对话生成会话标题,长对话会智能删减后再调用模型。

English · npm · GitHub · 插件开发文档


这是什么?

一句话:/title 给当前会话起一个清楚的名字。

命令做什么
/title读对话 →(太长就删减)→ 用当前模型生成标题 → Web 上可确认 → 写入会话标题
/title 我的标题不调模型,直接把会话标题设成你写的名字

适用场景:

  • DSH Web UIdsh web
  • ACP / DSHACP(Zed 等客户端)
  • 其他挂了 commands 注册表的 DSH profile

开始之前

  1. 已安装 Node.js(建议 ^22.19>=24
  2. 能跑通 DSH,例如:
dsh --version
# 或
npx -p @deepseek-ai/dsh dsh --version
  1. 想清楚你平时用哪个 profile(常见:webacp)。插件要装进你实际启动的那个 profile,不会全局共享。

安装(推荐)

把下面的 web 换成你的 profile 名(例如 acp):

dsh plugin --profile web add @hanxu131/dsh-autotitle

没有全局安装 dsh 时:

npx -p @deepseek-ai/dsh dsh plugin --profile web add @hanxu131/dsh-autotitle

装完必须重启

你用的前端重启什么
Web UI停掉再开 dsh web
DSHACP / Zed重启 ACP / dsh --profile acp 进程

然后在对话里输入 /title 试一下。

升级

dsh plugin --profile web update @hanxu131/dsh-autotitle

卸载

dsh plugin --profile web remove @hanxu131/dsh-autotitle

使用说明

Web UI 确认框

默认 confirm: true 时,Web 会弹出确认:

  1. 接受此标题 — 采用生成结果
  2. 重新生成 — 再调一次模型
  3. 取消 — 不改原标题

也可以在下方「输入你的答案」里写自定义标题再提交。

选项旁边的数字 1 / 2 / 3 只是展示,不能当快捷键(这是 DSH Web UI 的限制)。请用鼠标点选。

ACP / headless

没有确认 UI 时,生成后会直接设为会话标题。


配置(可选)

默认配置在本包的 cordis.patch.yml。要改参数,可在对应 profile 的用户补丁里覆盖同名行,例如 ~/.dsh/profiles/web/cordis.patch.yml

- insert:
    - id: autotitle
      name: '@hanxu131/dsh-autotitle'
      config:
        confirm: true
        maxLength: 60
        language: follow
        prefix:
          enabled: true
          types: [Bug, Feature, Question, Refactor, Docs]
        trim:
          threshold: 15000
          window: 8000
          anchorChars: 500
        maxOutputTokens: 64
        timeoutMs: 30000
配置项默认含义
maxLength60提示模型「标题最多约这么长」
prefix.enabledtrue允许 [Bug] 这类前缀
prefix.types见上可选前缀列表
languagefollowfollow / zh / en
trim.threshold15000估算 token 超过此值才删减
trim.window8000删减后保留最近约多少 token
trim.anchorChars500第一条用户消息锚定截断长度
confirmtrue有确认 UI 时是否询问
maxOutputTokens64生成标题的最大输出 token
timeoutMs30000生成超时(毫秒)

长对话删减策略:保留第一条用户消息(主题锚)+ 最近窗口,中间用 [... N messages omitted ...] 省略。


和内置自动标题的关系

DSH 自带的 first-prompt 自动标题(dsh-session-title-first-prompt-llm)会在首条消息后自动命名。本插件是手动 /title,看整段(可删减)对话,两者互补,不必关掉内置功能。


本地开发

git clone https://github.com/ECHOUniverse/dsh-autotitle.git
cd dsh-autotitle
pnpm install   # 或 npm install
pnpm build
dsh plugin --profile web add link:"$(pwd)"

改完代码后重新 pnpm build,并重启对应 DSH 进程。


链接

资源地址
npmhttps://www.npmjs.com/package/@hanxu131/dsh-autotitle
GitHubhttps://github.com/ECHOUniverse/dsh-autotitle
DeepSeek Harnesshttps://deepseek.com/harness/zh/
第一个插件教程https://deepseek-harness.github.io/deepseek-harness/develop/basic/
姊妹项目(Pi)https://www.npmjs.com/package/@hanxu131/pi-autotitle
DSHACP(Zed)https://github.com/ECHOUniverse/dshacp

License

MIT

관련 플러그인