DeepSeek Harness 插件

Relethe/dsh-brief-session-title

Star 数 ★ 1 分类 会话与消息 收录于 2026-08-20

把 DSH 会话标题从一句话精简为不含动词的短语,目标五个词以内。

安装

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:Relethe/dsh-brief-session-title

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

English | 中文

DeepSeek Harness(DSH)会话标题精简插件:把「一句完整的话」压成「一个词」,便于回忆。

为什么做这个插件

DSH 的会话标题由官方 session-title-first-prompt-llm 插件生成。它经常输出一句完整的话——"解释一下 JavaScript 闭包到底是什么"这种原样照搬的句子会直接出现在侧边栏里,冗长、不便于扫读和回忆。

问题根源在官方提示词:它的长度约束只有一句 "Aim for about 5 words"——"目标大约是"是软约束,模型容易超;而且它只要求"简洁",没有告诉模型"简洁成什么样"。目标不够明确,是标题冗长的主要原因。

本插件不动官方任何逻辑,只做一件事:重写系统提示词,用明确规则 + 正反例句,把"简洁"变成可执行的标准。

效果样例

会话内容(原句) 本插件输出
解释一下JavaScript闭包到底是什么 JS闭包浅说
用英语表达中国近代半文言文文法 半文言文法表达
中式微恐2.5D沙盒生存游戏系统PRD 游戏PRD
Fixing Memory Leak in Node Node memory leak
Database Schema Design Review Schema review

核心思路:提示词优化

新提示词给了模型四条硬规则:

  1. 英语按 PLAIN ENGLISH 原则——平实、直接;
  2. 中文按文白相间(literary-vernacular hybrid)原则——文言白话结合,凝练(如"浅说""文法表达");
  3. 输出中避免动词——动词是"句子"的骨架,去掉动词,句子自然塌缩成词组;
  4. 尽力压到 5 个词以内,像一个专业诗人——宁短勿长。

再加上六组正反例句(Incorrect / Correct 对照),让模型直接"抄"出目标风格,而不是猜测"简洁"是什么意思。

特性

  • 零侵入:与官方 first-prompt-llm 逻辑完全一致(取第一条人类消息、流式生成、失败回落 fallback),只换提示词;
  • 自动接管:与官方插件互斥,装载时自动关闭官方 provider,保证同一时间只有一个标题生成器;
  • 失败安全:模型报错、超时、输出为空时,自动回落到官方确定性 fallback 标题,会话不会没标题;
  • 纯配置可调:输入字节上限、输出 token 上限、超时时间均可配。

安装

本插件是一个 dsh bundle,直接通过 GitHub 安装即可,无需手动改任何配置:

dsh plugin --profile web add github:Relethe/dsh-brief-session-title

发布到 npm 后,也可以用包名安装:

dsh plugin --profile web add dsh-brief-session-title

本地目录安装(相对路径以你执行命令的目录为基准,绝对路径直接传):

dsh plugin --profile web add ./dsh-brief-session-title

安装时 dsh plugin 会把参数转发给 pnpm,装完后自动对账:检测到本包声明了 dsh.bundle,就会把它加入 profile 的 bundle 层;bundle 自带的 cordis.patch.yml 随之自动应用(禁用官方标题插件 + 挂载本插件)。

重启 DSH 后,新会话的标题即生效。

配置项

键 默认 说明
maxInputBytes 4096 输入 JSON 帧的字节上限,超限直接失败(不截断历史)
maxOutputTokens 64 标题请求的输出 token 上限
timeoutMs 60000 单次标题请求超时(毫秒)
provider / model 省略 同时给出则用独立路由生成标题;省略则复用当前会话主请求的路由

注意事项

  • 只影响之后的标题:已存在会话的标题已落盘,不会自动重算;
  • 手动改名会钉住:用户在 UI 里手动改过标题后,自动生成不再覆盖(DSH 官方行为);
  • 还原方式:dsh plugin --profile web remove dsh-brief-session-title,官方标题插件自动恢复。

许可

MIT

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。