dsh-session-title-interval-llm
by Townrain
DeepSeek Harness 自动会话标题插件(间隔节奏 LLM 提供商)Every-N-prompts
Every-N-prompts automatic session-title plugin for DeepSeek Harness (interval cadence LLM provider)
安装
dsh plugin --profile web add github:Townrain/dsh-session-title-interval-llmGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
English | 中文
一个 DeepSeek Harness 插件,让侧栏会话标题跟上整段对话:可选的 ctx.sessionTitle 提供方在第一条符合条件的提示词上发起一次便宜的 LLM 标题请求,此后每 interval 条新的人类提示词重新命名一次。它注册了 interval 节奏——harness 在 first-prompt 与 all-prompts 之外的第三种自动模式——于是部署可以把标题路由到便宜模型(如 deepseek-v4-flash),干活模型完全不受影响。
仓库包含两个包:packages/session-title-interval-llm(插件本体)与 packages/session-title-llm(其内嵌的共享标题 LLM 辅助包:组帧、限额、超时、session-title-llm 设置分节与实时重新注册)。辅助包随仓库内置,插件可作为一个自包含仓库安装;上游 harness 以 @deepseek-ai/dsh-session-title-llm 发布同名包,插件采用能解析到的那个版本。
两种集成模式
- 注入模式——零 harness 改动。 在插件配置里写
mode: 'injected':插件监听session/event,按会话统计符合条件的人类消息,并直接追加session/title事件。确定性回退、标题折叠与手动改名钉住照常工作,因为所有界面都读日志。/retitle斜杠命令(组合了 commands 服务时注册)按需重新生成并刻意解钉手动改名。这是自包含路径:仅凭本仓库即可在 stock harness 上交付完整功能。 - 提供方模式(默认)。 在会话标题服务上注册
interval节奏,需要服务带有 interval 节奏的 harness 构建(deepseek-ai/deepseek-harness 的上游改动,Townrain fork 已承载)。它集成所有服务持有的界面:自动调度、显式刷新与 Web 会话行的"重新生成标题"操作。
安装
把两个包 junction 进 profile 的 node_modules,然后挂载插件行:
New-Item -ItemType Junction -Path $env:USERPROFILE\.dsh\profiles\node_modules\@deepseek-ai\dsh-session-title-interval-llm -Target <本仓库>\packages\session-title-interval-llm
New-Item -ItemType Junction -Path $env:USERPROFILE\.dsh\profiles\node_modules\@deepseek-ai\dsh-session-title-llm -Target <本仓库>\packages\session-title-llm
然后在 profiles/<profile>/cordis.patch.yml 中追加(先禁用 bundle 默认的标题提供方,再插入本插件):
- id: session-title-llm
disabled: true
- insert:
- id: session-title-interval
name: '@deepseek-ai/dsh-session-title-interval-llm'
config:
targetWords: 5
targetCjkCharacters: 10
maxInputBytes: 4096
maxOutputTokens: 64
timeoutMs: 60000
interval: 5
provider: deepseek-official
model: deepseek-v4-flash
mode: injected
重启 harness。mode: 'injected' 下,stock harness 的侧栏标题就开始跟随对话:第一条符合条件提示词立即命名,此后每 interval 条命名一次;/retitle 按需重新生成(并解钉)标题。在带有 interval 节奏的 harness(上述 fork)上,省略 mode 走提供方路径,此时 设置 → 插件 → 插件配置 中还会出现标题模型、间隔与自动标题开关(共享的 session-title-llm 设置分节),每个会话行三点菜单也会多出重新生成标题。
stock harness 上的会话行「重新生成标题」
injected 模式同样给 stock harness 提供行菜单表面:插件注册了一个 webserver 桥 POST /plugins/session-title/retitle({ "sessionId": "..." }),通过 sessions.get 解析任意已持久化会话(不需要活跃 agent,历史会话行也能用),走与 /retitle 完全相同的重新生成路径——包括主动解除手动重命名钉。
要把它变成菜单项,搭配 dsh-session-title-settings-card 使用:该插件向 stock 会话行菜单注入重新生成标题项,并修补 fork 所携带的两处 stock 接缝(其 scripts/patch-stock.mjs 幂等——每次升级 dsh 后重跑即可)。不装卡片插件时,桥本身仍可直接调用(curl 或其他客户端)。
配置
共享必填字段(targetWords、targetCjkCharacters、maxInputBytes、maxOutputTokens、timeoutMs、可选成对的 provider/model、可选 enabled)见 packages/session-title-llm/README.md;interval 节奏约定见 packages/session-title-interval-llm/README.md。
provider 与 model 两者都不写则继承每条主请求记录的路由;两者都写则标题生成独立于干活模型。
许可证
MIT——见 LICENSE。
原始 README: https://github.com/Townrain/dsh-session-title-interval-llm/blob/main/README.zh.md ↗
同类插件
查看全部 →
archify
Agent 技能:生成美观、可校验的架构图、工作流图、时序图、数据流图与生命周期图——自包含 HTML、带动画与清晰导出

dsh-turn-rewind
对话回退:基于持久 Change Ledger 回滚会话与工作区状态。

dsh-plugin-cc
把 DeepSeek Harness 接入 Claude Code:评审、批评、委派与会话导入

dsh-interconnect
跨实例互联:经 interconnect 服务在多个 DSH 实例间转发消息与事件。

dsh-chat-import
把 13 家 coding agent(Claude Code、Codex、ChatGPT、Cursor、Gemini、opencode 等)的完整对话历史导入为可续聊的 DeepSeek Harness 会话,并支持反向导出回 Claude Code。

dsh-crew
DSH 插件:从 Claude Code / Codex 向 DSH agent 派活——原生 subagent 进度、宿主内 worker 会话(分级预设),以及为纯文本宿主补上视觉与图像生成的多模态桥