每轮对话后自动提炼不超过十二字的会话标题
29.7/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add SarahDeady/dsh-auto-title该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH 插件:自动把会话标题提炼成最多 12 个字;用户手动改名后自动停手,侧栏会话菜单可一键重新提炼。Auto Session Title for DeepSeek Harness.
README
由 DeepSeek 最新模型翻译生成dsh-auto-title · 自动会话标题
给会话起一个像样的名字,而不是「帮我搞一个自动更新会话标题的插件」。
一个 DeepSeek Harness 插件,让每个会话都带上一行简短、有意义的标题。
中文名:自动会话标题 English: Auto Session Title
icon
它做什么
- 自动提炼:每轮对话之后,用会话上下文重新总结标题,始终是一行、不超过 12 个汉字宽(一个汉字计 1,其他字符计 0.5)。
- 你说了算:只要你在侧栏手动改过一次标题,它就永久停手,不再自动覆盖——这是 Harness 标题服务自带的「用户改名即锁定」语义,插件只是顺着它工作。
- 随时重来:会话「⋯」菜单里多了一行 刷新标题,点一下立刻重新提炼;正在提炼时该行显示「正在提炼标题…」并禁用,失败会红字提示并给出原因,再点一次即可重试。
- 没打开的会话也能刷:重启后侧栏里那些没点开的旧会话一样能刷新——插件直接读它的会话日志提炼标题,再把结果写回日志,不要求会话正在运行。
- 省钱:同一会话 4 秒内不重复调模型;子会话(子智能体)不调模型,直接用确定性的短标题。
展开完整文档(README 剩余 1 节)
dsh-auto-title · 自动会话标题
给会话起一个像样的名字,而不是「帮我搞一个自动更新会话标题的插件」。
一个 DeepSeek Harness 插件,让每个会话都带上一行简短、有意义的标题。
中文名:自动会话标题 English: Auto Session Title
icon
它做什么
- 自动提炼:每轮对话之后,用会话上下文重新总结标题,始终是一行、不超过 12 个汉字宽(一个汉字计 1,其他字符计 0.5)。
- 你说了算:只要你在侧栏手动改过一次标题,它就永久停手,不再自动覆盖——这是 Harness 标题服务自带的「用户改名即锁定」语义,插件只是顺着它工作。
- 随时重来:会话「⋯」菜单里多了一行 刷新标题,点一下立刻重新提炼;正在提炼时该行显示「正在提炼标题…」并禁用,失败会红字提示并给出原因,再点一次即可重试。
- 没打开的会话也能刷:重启后侧栏里那些没点开的旧会话一样能刷新——插件直接读它的会话日志提炼标题,再把结果写回日志,不要求会话正在运行。
- 省钱:同一会话 4 秒内不重复调模型;子会话(子智能体)不调模型,直接用确定性的短标题。
怎么装
前提:已经装好 DeepSeek Harness(桌面端),并且你把仓库拿到了本地:
git clone https://github.com/SarahDeady/dsh-auto-title.git
方式一:让 DSH 自己装(推荐)
在 Harness 里对 Agent 说一句:
用 plugin_manager install_bundle 安装 C:\path\to\dsh-auto-title 这个目录
安装成功会返回 "application": "applied"。重启 Harness 让新的 Host 模块生效。
方式二:手动挂载(高级)
在你的 profile 目录(Windows 一般是 C:\Users\<你>\.dsh\profiles\desktop)里:
1. 让它指向仓库目录——在 profile 的 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。
两种方式装完后,都去会话「⋯」菜单确认出现了 刷新标题。
它替换了什么(重要)
Harness 的 sessionTitle 服务只接受一个标题 provider。本插件注册一个 automatic: 'all-prompts'(每轮都更新)的 provider,因此会在 cordis.patch.yml 里停用内置的 session-title-llm(first-prompt 生成器)。停用它不会影响其它功能,只是把「起标题」这件事交给本插件。
想换回去:删掉 profile 里本插件的 bundle 行,并在 profile 的 cordis.patch.yml 里把 session-title-llm 的 disabled 去掉。
菜单项怎么用
右键(或点「⋯」)任意会话 → 刷新标题:
| 状态 | 显示 |
| 空闲 | 刷新标题 |
| 提炼中 | 正在提炼标题…(禁用) |
| 成功 | 菜单关闭,侧栏标题与页头标题自动更新 |
| 失败 | 刷新失败,点击重试(悬停可看具体原因) |
工作原理
用户发消息 │ ├─ 内置 sessionTitle 服务收集消息 ──► 本插件 generate() │ │ │ ├─ ctx.llm.stream({ purpose: 'session-title' }) │ └─ 清洗成一行 ≤ 12 列 → { title, messageSeqs, model } │ └─ 服务 append session/title 事件 ──► 内置 title session projection ──► UI 自动更新
- 注册座位:ctx.sessionTitle.register({ id: 'auto-title', automatic: 'all-prompts', generate })。
- 只走注入的服务:Host 半不 import 任何 Harness 包,因此跨 Harness 版本升级不易碎。
- 手动改名即暂停:侧栏改名走的是服务自己的 rename(),它追加 source: user 的标题事件并锁定;此后服务不再为用户消息调度自动生成——插件什么都不用做。
- 刷新按钮:客户端 GET /auto-title/refresh?sessionId=… → Host 调 ctx.sessionTitle.refresh(session),绕过上面的锁定/节流强制重算;新的标题照样通过 projection 回到 UI。用 GET 是有意为之:Harness Web 的鉴权层会把未认证的 POST 直接回 405,GET 则照常进入路由表。路由会在 webServer 服务就绪后再挂(冷启动时它可能还没出现)。 会话不在内存里(没打开过)时,改走日志路径:sessionPersistence.open(id, 'read') 读日志 → 用最后的用户消息与最后一条 request/header 的路由提炼 → open(id, 'write') 追加 session/title 事件 → flush()。侧栏列表标题是宿主侧缓存快照,冷会话刷完若列表没变,Ctrl+R 刷新页面即可。
调参
Host 半顶部导出了 DEFAULTS:
| 键 | 默认 | 含义 |
| maxTitleUnits | 12 | 标题上限,单位「汉字宽」(汉字 1、其他 0.5) |
| maxOutputTokens | 512 | 单次模型调用的输出上限 |
| maxMessageChars | 600 | 每条用户消息送进模型前的截断长度 |
| maxInputChars | 4000 | 送入消息的总字符预算 |
| tailMessages | 8 | 除首条外,额外携带的最近消息条数 |
| minAutoIntervalMs | 4000 | 同一会话两次自动提炼的最小间隔 |
想改成 8 个字?把 maxTitleUnits 改成 8 即可(改完重启 Harness)。
要求与限制
- DeepSeek Harness 桌面端,Web profile 运行(菜单动作需要 Host 的 webServer 服务;没有它时插件仍会装好,只是菜单行点不动,日志里会有一条 warn)。
- 只对 live(当前 Harness 进程里打开着)的会话生效。
- 子会话(子智能体)不调模型,用确定性短标题。
- 模型没有可用路由(会话还没发过请求,或 provider 未配置)时,退回确定性标题,不会报错。
- 标题按 UTF-8 列宽 记账,不是字符数:12 个汉字或 24 个拉丁字母。
开发
npm test # 16 个用例:provider 注册、模型调用参数、长度与清洗、节流、子会话、刷新路由 400/404/200/冷会话写回、清理
npm run check # 语法检查
测试不需要 Harness:test/smoke.mjs 用一个假 ctx 直接跑 Host 半。
许可
MIT © 2026 SarahDeady
Auto Session Title 让每个 DeepSeek Harness 会话都带一个短标题,从上下文里提炼,最多 12 列宽(一个 CJK 字形算 1,其他算 0.5)。
- 每轮用户发言后,通过内置的 sessionTitle 服务重新生成标题(automatic: 'all-prompts')。
- 一旦你给会话改名,就永久停止:Harness 会固定用户写的标题,服务不再安排自动生成。
- 在会话的「⋯」菜单里加一行 Refresh title,通过 ctx.sessionTitle.refresh() 强制重新提炼,带忙碌 / 失败状态。
- 子会话(子代理)跳过模型调用,自动运行按会话节流到每 4 秒一次。
安装:克隆仓库,让 DSH 执行 plugin_manager install_bundle <repo path>,然后重启 Harness。插件的 cordis.patch.yml 会禁用内置的 session-title-llm 服务商,因为 sessionTitle 服务只容纳一个服务商。
Host 半的所有逻辑都走注入的服务(sessionTitle、llm、sessions,可选的 webServer);不导入任何 Harness 包,所以升级基本不会把它弄坏。
MIT © 2026 SarahDeady预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
SarahDeady/dsh-auto-title
每轮对话后自动提炼不超过十二字的会话标题
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,270已汉化DSH
70.8
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。