按日期类型主题自动命名会话,也可按需总结全文重命名
29.6/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/Chi-hong22/dsh-session-autoname.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 26 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 1 处,展示前 1 条)
- 写入本地文件session-naming.js:1232
mkdirSync(workspace, { recursive: true })
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
根会话首轮结束后按 MMDD|类型|主题 自动命名,并支持按全文内容按需命名指定会话
README
由 DeepSeek 最新模型翻译生成@chi-hong22/dsh-session-autoname
DeepSeek Harness 宿主插件:在第一次能命名的时机,给新会话命名一次,格式为 MMDD|类型|主题 —— 这是 Codex Stop 钩子改名方案在 DSH 上的移植版。它还能按需给指定会话命名,做法是总结会话的全部内容;对于宿主在回合中途退出、一直没命名的会话,它也会补上。
以配置档包的形式安装 —— 可以从 GitHub 装,也可以从 D:\__CODE__\_tookit\261002_dsh-session-autoname 这份树外工作副本装:
dsh plugin --profile <profile> add github:Chi-hong22/dsh-session-autoname
local development:
dsh plugin --profile desktop add "D:/__CODE__/_tookit/261002_dsh-session-autoname"
or through the harness: plugin_manager install_bundle link:D:/__CODE__/_tookit/261002_dsh-session-autoname
职责
1. 自动命名
展开完整文档(README 剩余 1 节)
@chi-hong22/dsh-session-autoname
DeepSeek Harness 宿主插件:在第一次能命名的时机,给新会话命名一次,格式为 MMDD|类型|主题 —— 这是 Codex Stop 钩子改名方案在 DSH 上的移植版。它还能按需给指定会话命名,做法是总结会话的全部内容;对于宿主在回合中途退出、一直没命名的会话,它也会补上。
以配置档包的形式安装 —— 可以从 GitHub 装,也可以从 D:\__CODE__\_tookit\261002_dsh-session-autoname 这份树外工作副本装:
dsh plugin --profile <profile> add github:Chi-hong22/dsh-session-autoname
local development:
dsh plugin --profile desktop add "D:/__CODE__/_tookit/261002_dsh-session-autoname"
or through the harness: plugin_manager install_bundle link:D:/__CODE__/_tookit/261002_dsh-session-autoname
职责
1. 自动命名
- 触发:根会话上任意回合的持久化 turn/end 事件(session/event)—— 通常是第 1 回合,但第 1 回合丢失时,后面的回合也会触发。没有 hooks.json,没有 Stop 处理器,也不注册标题服务商 —— 见下文。
- 依据:第 1 回合有自己的完成结果时,就用这个结果(用户请求,加上该回合实际交付的工作,从会话日志里折叠出来);否则用到目前为止的整段对话,这样即使第 1 回合被中断或被杀掉,会话依然能命名。
- 日期:MMDD,取自会话自己的 header.createdAt,时区 Asia/Shanghai(绝不用 updatedAt,绝不用宿主时钟)。
- 写入:ctx.sessionTitle.rename(),GUI 自己用的就是这个接口。
- 跳过条件:不是根会话;任何地方都没有助手文本;用户已经改过会话名;标题已经合规。任何失败都保留会话上现有的标题,原因记在管理工具的 auto.recent 环形缓冲里。
- 只尝试一次:标题合规,或用户自己选了标题,就不再尝试,后续回合什么都不做。
接受的输出由校验过的各部分重新拼成,必须严格等于 MMDD|类型|主题:日期必须等于由 createdAt 推出的值,类型必须是 功能/设计/修复/优化/发布/探索/文档/研究/诊断/验证 之一,分隔符必须是全角 |,主题必须非空、不超过 24 个字符和 60 字节、不含控制字符、不含项目名。Markdown、代码围栏、散文、多余的 JSON 字段、{"title":null}、超长标题,一律拒绝,不做猜测。模型调用以 max-tokens 结束时,只要它输出的文本能解析并通过校验,仍然接受 —— 推理路线可能在停下之前就把预算用光。
2. 给指定会话命名
session_title_admin 配合 {"action":"summarize","session_id":"…"},读取整段对话 —— 开头的意图,加上各回合的产出(在字节预算内选取,偏向结尾,因为结果在那里)—— 为它写一个 MMDD|类型|主题 标题。dry_run:true 只预览不写入。实时会话通过 sessionTitle.rename 写入;冷会话通过 sessionController.rename 写入。日期和类型规则相同。
其他操作:list(最近的根会话、它们的标题,以及最近的自动结果)、inspect(单个会话首轮的证据)、apply(精确重命名,每条都对照该会话自己的 createdAt 重新校验)、archive(隐藏一次性测试会话)、selftest(创建一个一次性会话,端到端验证真实的首次自动命名)。
3. 崩溃或重启后的补扫
上面的触发器是实时事件,所以主机在轮次中途死掉时,永远不会发出本应给会话命名的 turn/end——重启后,那一轮会被恢复成一个开放轮次,永远无法以 completed 结束。因此,本插件生效 5 秒后,会在一个受限窗口内,给每个仍没有合规标题且持有助手工作的根会话命名:
| 限制 | 值 | 原因 |
| 窗口 | header.createdAt 起 48 小时 | 崩溃场景只发生在几分钟前;更早的会话会在被继续时触达,或由 summarize 触达 |
| 上限 | 每次启动命名 5 个 | 启动绝不能变成对历史的大规模重命名 |
| 延迟 | 5 秒 | 补扫不能和主机自身的启动争抢资源 |
每个结果都写入 auto.recent(named / skipped / failed,外加一行携带计数的 sweep),这样不用读日志就能审计一次启动。
为什么什么都不用禁用
ctx.sessionTitle.register() 只接受一个 provider,而自带的 @deepseek-ai/dsh-session-title-first-prompt-llm 占着这个位置。本插件绕开冲突,而不是在配置里解决它:
- 它从不调用 register(),所以这个槽位的单所有者规则无关紧要;官方 provider 保持启用,不受影响。
- sessionTitle.rename() 内部会调用 supersede(),中止该 provider 正在进行的生成,并让其待处理的生成失效;用户来源的标题会把会话钉住,挡住后续的自动修订。
- 净效果:首轮运行期间,侧边栏显示自带 provider 的纯文本标题作为占位;轮次一结束,本插件就用合规标题替换它。
接线
cordis.patch.yml 是这个 bundle 的补丁层——只有一行,没有外来行:
- insert:
- id: session-autoname
name: '@chi-hong22/dsh-session-autoname'
这一行写的是包名,而不是文件 URL,所以无论从哪里获取,bundle 都能运行——包括 github:Chi-hong22/dsh-session-autoname。这里用裸名是安全的,因为已安装的副本不可变:加载器在每个主机进程中只解析一次每个 specifier,而这一次解析在整个进程生命周期内都指向已安装的包。
本地开发时,这个配置档链接工作副本(link:D:/__CODE__/_tookit/261002_dsh-session-autoname),所以同一个裸名会通过 junction 解析到这个 checkout 的 session-naming.js——已用从配置档目录执行 import.meta.resolve。编辑文件并重启 DSH,即可加载改过的代码。
需要让这一行只能指向当前这份 checkout(比如配置档里还能找到旧版包)?在配置档自己的 cordis.patch.yml 里覆盖它:- id: session-autoname,配 name: 'file:///D:/__CODE__/_tookit/261002_dsh-session-autoname/session-naming.js'。
改完代码后重新加载
重启 DSH,它会重新导入解析到的文件。不重启的话,模块 URL 必须变化,而按包名写的那一行永远解析到同一个文件:改用上面的 file-URL 覆盖,指向实现文件改名后的副本,这样加载器看到的 URL 不在缓存里。
验证
node --test tests/provider.test.mjs # offline: rules, rejections, trigger skips, catch-up, admin tool
node tools/history-evidence.mjs 0 # read-only first-turn digests of root sessions
然后在运行中的主机上:session_title_admin {"action":"selftest"} 验证自动路径,{"action":"list"} 读取最近的自动命名结果。
已知限制
- 自动命名做不到「在答案送达之前」执行:一轮对话进行时,DSH 已经把答案流式推给浏览器。标题在首轮结束时立刻落定,不会拖慢这一轮。
- 首轮以 aborted、interrupted、error 或 max-tokens 结束时,命名依据整段对话,而不是该轮的部分结果,并且会要求模型对类型判断保持保守。只有完全没有助手工作的会话才不命名——之后用 summarize 补上。
- 补扫有边界(48 小时,每次启动 5 个)。超出窗口、既没被继续也没被命名的会话保留占位标题,直到有人对它调用 summarize。
- sessionController.rename 会唤醒冷会话,所以给一个记录的 agentPreset 已不存在的会话命名会失败,报 Unknown agent preset。
- 这台机器上 D:\__CODE__ 位于文件同步范围内,原地编辑偶尔会因 Windows 共享冲突失败;重试即可。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Chi-hong22/dsh-session-autoname
按日期类型主题自动命名会话,也可按需总结全文重命名
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,025未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,358已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13938 个插件含 PR 收录与…
★ 350已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目