dsh-greet-signoff
Manifest valid开场语与收尾语:每次回复固定开场/收尾,并在上下文接近上限时提示换新会话(DeepSeek Harness Web 插件)
dsh-greet-signoff
开场语与收尾语:让 AI 每次回复都带上你设定的一句开场与一句收尾,并在上下文接近上限时用一条导航条提醒你开新会话。
(DeepSeek Harness 插件 · Web 端)
这是什么
一个 DeepSeek Harness 的 Web 插件,做三件事:
- 固定开场语与收尾语:每次回复的正文第一行是开场语、最后一行是收尾语,文字与样式都由你在设置里改。
- 正文行样式:开场行与收尾行在对话里按各自配置渲染(字号、颜色、字重、动效、形状、填充、边框、阴影、字距、大小写、斜体、自定义图片)。
- 上下文占用导航条:输入框上方一条进度条,实时显示当前上下文占用百分比,条上有"车头朝右"的小车标记、条尾有实时百分比,颜色随占用连续变化;接近上限时整条按告警色并闪动。还没有任何请求记录的空白会话显示
—(不是 0%)。 - 连接自愈:
dsh web每次重启都会换访问令牌,已经打开的页面会一直停在"自动重连中"(旧握手续不上,官方建议手动刷新)。本插件带一个看门狗:连续 30 秒看到连接异常、且服务端本身可达(/仍是 200)、且输入框里没有草稿时,自动重载一次页面 —— 重载会用 cookie 重新握手,页面自己就活了。服务真挂了(探活失败)不动作,避免刷屏;本标签页每小时最多自动重载 3 次、两次之间至少隔 60 秒。 - 文案池(1.7.0):开场语 / 收尾语各可以填一池句子(一行一句,最多 20 句),开启后每轮从池子里挑一句 —— 随机或按顺序轮换。池子里的句子同样支持动态变量,页面样式对池子里每一句都生效;某一行的池子留空,那一行自动回落固定文案。
- 本轮信息变量与自检(1.8.0):固定行里可以用
{model}{count}{elapsed}{tokens}—— 由服务端在每轮组装提示时填真实值(耗时与用量报的是上一次调用),页面侧用通配符匹配,所以数值怎么变都贴得上样式。设置页「诊断」区还有「跑一遍自检」:配置、文案、贴样式、进度条、连接自愈、宿主半/浏览器半版本、规则文本、会话识别,一次问到底。 - 场景与阈值提醒(1.9.0):①「场景」分区可以存下整份设置快照(文案+样式+阈值+文案池),一键在"工作 / 生活 / 深夜"之间整包切换;②上下文到黄/红阈值时进度条下方出现提醒行,附「总结要点」(把交接摘要要求交给你:优先写进输入框,不行就复制到剪贴板,再不行直接显示)与「开新会话」;③浏览器控制台可用
__dshGreetSignoff查看版本、自愈计数、输入框定位与写入结果。 - 按工作区换文案与编辑器增强(1.10.0):①按工作区自动换文案(绑定目录前缀,优先级:工作区绑定 > 文案池 > 固定文案;设置页里有一键"填当前工作区");②一键外观改成 16 张小样卡(每张直接渲染当前文案的样子);③底色/边色各有常用色板;④文案/外观可一键复制到另一行;⑤图片支持拖拽上传;⑥「撤销上次保存」一键回退。
配置存在 $DSH_HOME/greet-signoff.json(Windows 默认 C:\Users\<你>\.dsh\greet-signoff.json),改完保存下一轮回复即生效,不需要重启。
为什么需要它
- 没有它:每次想让 AI 的开场/收尾保持一致,只能自己写提示词、或者每次手动粘贴同一句;样式(颜色/字号/动效)更是完全没法统一。
- 上下文快满时:你往往是在"回答突然变差/被截断"之后才意识到该开新会话了——这个插件把"还剩多少"变成常驻可见的状态。
- 与相邻方案的区别:
- 与「写一段固定提示词」相比:文案与样式都是可配置项 + 页面渲染——文案进提示段、样式由浏览器半给对话里那两行贴类渲染,两边共用同一份配置,改完保存即生效(不用重启,也不用改提示词)。
- 与
dsh-context(上下文仪表盘 / context 命令,能看到上下文由什么组成、缓存命中等明细)相比:本插件只做一条常驻的占用导航条,不采集、不落库、不开面板;两者可以共存,导航条挂在conversation.input.dock,dsh-context用的是conversation.input.overlay与右侧栏,互不遮挡。如果你只用其中一家的占用显示,另一家可以停用。 - 与
dsh-gold-capsule互斥:那个插件用!important把标题里的行内代码渲染成金色胶囊。一旦把固定行写成### \开场语``,本插件设置页里的字色/底色/边框/形状/动效会被金色胶囊压掉。固定行请保持纯文本一行,两个插件只留一个负责首行样式。
安装
插件以 npm 包 / git 仓库为分发单元。装完必须重启 dsh web(组合层变更不会热加载)。
# 从 GitHub 安装(仓库名固定为 dsh-greet-signoff,用户名换成你自己的)
dsh plugin --profile web add github:weifa860504-droid/dsh-greet-signoff
# 或从本地目录安装(开发调试用)
dsh plugin --profile web add <本地包目录的绝对路径>
装完重启 web:重启后打开任意会话,输入框上方应出现进度条;设置 → 开场收尾 里应出现配置页。
用起来是什么样
- 对话里:每条回复第一行渲染成你配的开场样式(默认橙色 16px、脉冲动效、胶囊底),最后一行渲染成收尾样式(默认紫色 18px、霓虹动效、直角)。中间正文不受影响。
- 输入框上方:一条进度条 + 车标 + 百分比气泡,鼠标悬停显示「上下文占用 25% · ~245.3k / 1.0M · 剩余 ~755k · 约还能聊 12 轮(最近 5 轮均值 ~62.3k/轮)」这类明细;形态可在「完整 / 紧凑细条 / 只显示一行文字」之间切换。
- 占用格的采样口径:读数那一排里的「上下文占用」格自己带悬停说明 —— 它是"发下一条消息时预计要喂进去多少 token" (上一次请求真正喂进去的 prompt + 那次采样之后界面上新增的部分),只在每轮请求结束后刷新一次、天然滞后一轮, 不是屏幕上现在有多少字;预算档下顺带写出当前黄线 / 红线与本次读数,超红线提示"建议开新会话"。
- 接近上限时:整条按告警色并闪动,下方给出一行提醒;超过阈值还带一个「开新会话」按钮,点一下直接开新会话。
- 设置页:左侧菜单栏的「开场收尾」一处入口(设置页里只有这一个入口,不会重复出现);开场/结束语各一个标签页可切换,改动自动保存,右侧显示「已保存 · 下一次回复即生效」。
- 预览吸顶:标签页、保存状态与实时预览合并成一条吸顶头部 —— 预览同时显示开场与收尾两行(正在编辑的那行高亮), 往下调参数时它一直停在屏幕上方,不用"滚下去改完再滚回来核对"。
- 分区折叠:文本 / 字体与颜色 / 外观样式 / 上下文提醒与匹配 / 旧文案兼容 / 进度条外观 / 诊断 各自是一张可折叠卡片, 默认只展开高频的三个,其余收起(展开状态记在浏览器本地);标题右侧带摘要(阈值与匹配模式、旧文案条数、配色、版本号),不展开也能看到当前状态。
- 一键外观(16 套):财神金 / 极简灰 / 大字醒目 / 霓虹赛博 / 樱花 / 复古打字 / 海盐蓝 / 森林绿 / 紫罗兰 / 描边风 / 高亮笔 / 引用块 / 细下划线 / 墨绿终端 / 霓虹粉 / 纸质标签 —— 点一下即套用,只改外观,不动文案与图片; 可只套当前标签页,也可两行都套;旁边的「恢复默认外观」把当前行的外观还原成默认值(文案同样不动)。 每套预设都以同一份"底子"打底再叠加,因此套用结果完全可预期(不会残留你之前手调的底色/边框)。
- 30 种动效:淡入 / 滑入 / 落下 / 缩放 / 翻转 / 光泽扫过 / 高光划过 / 呼吸 / 心跳 / 发光 / 霓虹闪 / 闪烁 / 弹跳 / 抖动 / 摇晃 / 摆动 / 倾斜 / 漂浮 / 旋转 / 波浪 / 彩虹流动 …… 外加 4 种逐字动效: 逐字跳动 / 逐字波浪 / 逐字打字机 / 逐字彩虹(前三者按"字"拆开、逐字错开 0.075s 播放,速度倍率一起生效; emoji 不会被拆散)。动效写在「字体与颜色 → 动效」,速度在它右边。
- 可搬走:设置页底部可「导出配置 / 导入配置」(JSON),换电脑或分享给别人都方便。
- 出问题能自查:设置页底部有「诊断」折叠区,显示配置文件路径、贴样式器运行次数与耗时、上次扫描的命中行数、跳过了多少非助手块、当前匹配模式等。

能力面
| 能力面 | 说明 |
|---|---|
| Prompt 段 | 向系统提示注册「开场与收尾」规则,每次组装提示时实时读取配置,因此改文案立即生效 |
| 配置接口 | GET /api/greet-signoff 读真值、POST /api/greet-signoff 写整份配置(设置页用的就是它) |
| 资源接口 | GET /api/greet-signoff/asset/<name> 回自定义图片;GET /api/greet-signoff/emoji-index 回表情中文名/关键词索引(浏览器半首次展开表情框时才取,主包因此小了 51KB) |
| 会话接口 | GET /api/greet-signoff/session?sessionId=<id> 回会话创建时间与上一轮统计(进度条时间功能用);GET /api/greet-signoff/rule-text 回"这一刻模型会看到的规则文本",自检用 |
| 设置 UI | 只注册 settings.section(左侧菜单栏「开场收尾」一处入口;不再往「通用」里塞第二行,避免同一个编辑器出现两个入口) |
| 状态 UI | 注册 conversation.input.dock,在输入框上方渲染上下文占用导航条(占用百分比 + 已聊时长 / 还能聊多久) |
| 深浅判定 | 综合 body[data-ds-dark-theme]、根元素 color-scheme、系统偏好与页面底色亮度,结果写到 <html data-gs-dark>;dark-only 皮肤也能正确套用 colorDark/bgColorDark/borderColorDark |
本插件不注册模型工具,也不发布宿主服务(仅消费 systemPrompt、webServer 两个宿主服务与浏览器端的 slots)。
配置
行级可配项(开场、结束语各一套,共 19 项)
| 字段 | 含义 | 默认(开场 / 结束语) |
|---|---|---|
text | 文案(写进回复正文,可含表情) | 👋 你好,我是 DeepSeek Harness 助手。 / ✅ 以上,随时叫我。 |
image / imageHeight | 自定义图片(≤300KB,PNG/JPEG/GIF/WebP)与高度 | 空 / 22 |
fontSize | 字号 10–40 | 14 / 14 |
fontWeight | 字重(400/500/600/700/800) | 600 / 600 |
color | 文字颜色(空=跟随主题) | 空 / 空 |
colorDark | 深色主题下的文字颜色(空=沿用 color) | 空 / 空 |
animation / animSpeed | 动效(26 种,含 pulse/neon/rainbow 等)与倍速 1–4 | none / 1 |
shape / radius | 形状(10 种:pill/round/soft/rect/card/tag/underline/highlight/blockquote)与圆角 0–999 | none / 12 |
padY | 纵向内边距 0–24 | 5 / 5 |
fill / bgColor | 填充方式(none/faint/theme/solid)与背景色 | none / 空 |
bgColorDark / borderColorDark | 深色主题下的背景色 / 边框色(空=沿用浅色值) | 空 / 空 |
borderWidth / borderColor | 边框 0–6 与颜色 | 0 / 空 |
shadow | 阴影(none/soft/medium/strong/glow) | none / none |
letterSpacing | 字距 −2…12 | 0 / 0 |
caps | 大小写(none/upper/lower) | none / none |
italic | 斜体 | false / false |
允许值都有白名单,非法值会被自动回落到默认;未知字段会被丢弃。
全局可配项
| 字段 | 含义 | 默认 |
|---|---|---|
warnPercent | 黄色告警阈值 | 70 |
criticalPercent | 红色告警阈值(自动保证大于黄色) | 85 |
matchMode | 固定行匹配方式:exact 逐字相同 / loose 宽松(忽略大小写、空白、全半角与首尾标点)/ fuzzy 近似容错 | loose |
onlyAssistant | 只给助手的回复贴样式;false 时整段对话都贴 | true |
legacyLines | 旧文案兼容表:[{ text, style: "greeting" | "signOff" }],最多 30 条,只影响页面渲染,不写进提示词 | [] |
旧版本里的布尔字段
looseMatch仍可读(false等价于matchMode: "exact")。
固定行是怎么被认出来的
设置页里写的那句开场语/收尾语会进提示段,模型照原样输出;页面上由浏览器半按文本比对给那一行贴样式类:
- 三档匹配(设置 → 开场收尾 → 上下文提醒 → 匹配):
- 逐字相同:只认归一化后完全相同的文本;
- 宽松(默认):先去掉零宽字符、压缩空白,再做 Unicode NFKC(全角→半角)、把中文标点折叠成 ASCII(
,→,、。→.)、去掉所有空白、削掉首尾的引号/括号/星号/井号与句读,并统一小写; - 近似容错:在宽松的基础上再算编辑距离,相似度 ≥ 86% 且长度差 ≤ 25% 才算命中(例如只差一个字、一个数字)。
- 多行文案:文案里可以换行;如果宿主把换行渲染成两个段落,两段会依次比对、都贴上同一套样式。
- 动态变量:
{date}{year}{month}{day}{weekday}{daypart}{time};宿主在写提示词时就解析成具体文字,页面渲染时按同一套规则解析(带{daypart}时页面会把所有时段都当作候选,正好跨过时段边界也不会掉样式)。 - 只贴助手的回复(默认开):宿主给每个消息块打了
data-chat-flow-kind,用户消息、工具结果、思考面板一律跳过;认不出的宿主版本会退化成"整段都贴",不会整片失效。 - 候选标签是
p / li / div / span / h1–h6 / code,因此模型偶尔把固定行写成# 标题、**加粗**或用反引号包起来也能命中; - 同一行同时命中外层与内层时只保留最外层;一条回复被工具调用拆成多个块时,按"文案身份"分配样式(命中开场文案=开场样式),只有两行文案其实是同一句时才退回按位置区分。
模型若把固定行整段改写(换词、多字少字),那就不再是"同一行",不会贴样式——这是有意的:宁可不动,也不能把正文里的普通句子误判成固定行。
进度条外观偏好(存浏览器本地,不进配置文件)
| 项 | 说明 |
|---|---|
| 粗细 | 进度条高度(px) |
| 配色 | 33 套,分 6 组:经典与自然、柔和粉彩、缤纷高饱和、冷色科技、浓郁对比、灰阶。每套由三个锚点色组成(安全色 / 黄阈值色 / 红阈值色),整条色带按你设的两个阈值连续插值。默认只列常用 6 套,下拉末尾那条「▾ 显示全部(33 套)/ ▴ 只看常用(6 套)」与动效、车型同一个用法(选它只切显示范围,不改变当前配色) |
| 小车 | 31 款车型表情,或上传自定义图片(可翻转、可调大小与朝向) |
| 时间显示 | 默认开:进度条下方多一行 ⏱ 已聊 42 分 · 预计还能聊 ~35 分 · 实测 ~1.2k/分,每 5 秒自己重算(页面在后台时不重算) |
| 口径 | 默认「按你的预算线」:进度条 100% = 你设的「必须换会话」线,而不是 100 万 tok 的模型窗口。切「占模型窗口」即回到旧口径(那个 24% 看着安全、其实早该换会话) |
| 预算模式 | 三档预设 + 自定义:日常 7.5 万/11 万、大任务 15 万/20 万、省着聊 5 万/7.5 万、自定义用下面手填的两个数。默认档存浏览器本地,只决定两条线画在哪 |
| 黄线 / 红线(自定义档) | 选「自定义」时生效的两个分界 token 数,默认 7.5 万 / 11 万。到黄线变黄 + 标签页标题加 ⚠️;到红线整条变红 + 呼吸 + 红底大字横幅 🚨 该开新会话了 + 标题加 🚨 |
预算模式(=「大任务模式」)怎么用:小任务用「日常」,一次大改造/长调研切到「大任务」抬线, 免得日常线一直报红、提醒变成噪音。三个入口:
- 进度条行里的
🎯小胶囊(主入口):点一下按日常 → 大任务 → 省着聊 → 跟随默认轮转。 它改的是本会话临时档(存gs.signoff.mode.<sessionId>),不动设置页里的默认档;开新会话即失效。 - 到线横幅上的按钮:红线横幅里多了「切大任务」(一键抬到 15 万/20 万)和「跟随默认预算」(清掉临时档), 正好在"要不要开新会话"这个决策点上。
- 设置页「进度条外观 → 预算模式」:改的是全局默认档,一条命令管所有会话。
为什么默认不按"模型窗口"显示:分母用模型窗口(本机 100 万 tok)时,一条已经 24.9 万 tok、早该换会话的 会话在界面上只有 24%,看着很安全 —— 它回答的是"离塞满模型窗口还有多远",不是"离你该换会话还有多远"。 预算口径把 100% 定义成你自己的红线,超了就写"超 N 倍",并且配大横幅 + 标签页标题前缀, 不用读数字就知道该开新会话了。
「已聊多久 / 实测速率」是怎么来的(都要真实数字,不做摆设):
- 已聊多久 = 现在 − 本会话的 durable 创建时间(
Session.header.createdAt)。浏览器半看不到 header, 所以由宿主半的GET /api/greet-signoff/session?sessionId=<id>提供;宿主半没响应/还没跑过调用时, 退回「这个浏览器第一次看到该会话的时刻」(存localStorage的gs.signoff.starts,刷新与重启不丢)。 - 实测速率 = 最近 45 分钟的读数采样(每 5 秒一个点,压缩导致占用回落时采样窗口清空重来)算出的 token/分钟。v1.14.0 起不再由它外推「预计还能聊 ~X 分钟」——外推值一旦猜偏就再也没人信了; 现在只报这个"确实发生过"的速率,外加一个粗口径的「到线大约还有 N 轮」(速率算不出来时才用)。
- 读数新鲜度:token 读数只在上一次请求结束后才更新,所以读数超过 2 分钟没变时会标一句 「上次读数 X 前」——看着时间在走、百分比不动时,不会再误以为进度条坏了。
- 时间行只在「完整」形态显示;「紧凑 / 纯文字」形态把时间并进原来那一行文字里。
这些偏好存在浏览器 localStorage(键 gs.signoff.ui),按浏览器生效,不进全局配置,也不影响其它会话。
花费与上下文(v1.14.0,全部读本机文件,不联网)
- 进度条那行的
≈¥0.42:本条会话累计花了多少钱。金额按本机台账的计价口径算 (未命中输入 ¥1/M、缓存命中输入 ¥0.02/M、输出 ¥4/M),数据来自$DSH_HOME/dsh-usage/usage-ledger.json。 顺带记住这条:输出价是缓存读的 200 倍 —— 少让我啰嗦,比省那点上下文更省钱。 - 「▸ 上下文构成」:点开列出系统提示词 / 工具定义 / 记忆注入 / 助手历史 /
工具结果各占多少 token 与占比(读本机
session_projcache的上下文投影);前几名就是能砍的地方。 v1.15.3 起每行有自己的颜色(红底卡上也分得清),标题不再带「(这些 token 是谁占的)」,那句解释挪到悬停提示。 - 设置页「花费与上下文」:今天 / 近 7 天 / 最贵几条会话的台账,外加几个开关(显示花费、明细默认展开、 档位建议、到线系统通知)和「显示诊断分区」。
- 档位建议:到线时按客观计数说一句"该抬线 / 该降档",按钮就在旁边 —— 只提示,不自动改档。
- 到线系统通知:页面在后台也能收到;需在设置页打开,并向浏览器授权(拿不到权限会如实说明)。
- 交接包:横幅上的「总结要点」现在要求把摘要落盘成工作区根目录的
HANDOFF.md, 宿主半的提示段会在新会话开场时提示先读它 —— 换会话时上下文才真的带得过去。 - 宿主半是旧版时:以上这些整段显示成"读不到",进度条本体照常工作,不会因为缺数据出问题。
接口与权限
webServer 注册的是同源接口:浏览器端用页面自身的登录态访问,因此你不需要手填 token。
# 读配置真值(loopback 本机访问免 token;从别处访问需带页面的 Authorization)
curl http://127.0.0.1:3080/api/greet-signoff
# 写整份配置(JSON,字段同上)
curl -X POST -H "Content-Type: application/json" \
--data @greet-signoff.json http://127.0.0.1:3080/api/greet-signoff
# 进度条的时间功能要的数据:本会话创建时间(毫秒时间戳)+ 上一轮统计
curl "http://127.0.0.1:3080/api/greet-signoff/session?sessionId=<会话 id>"
# 上下文构成明细(这些 token 是谁占的)
curl "http://127.0.0.1:3080/api/greet-signoff/context?sessionId=<会话 id>"
# 花费:本条会话 / 今天 / 近 7 天 / 最贵的几条
curl "http://127.0.0.1:3080/api/greet-signoff/cost?sessionId=<会话 id>&days=7"
接口只在 DSH 自己监听的地址上提供,不额外开端口、不对外发包;配置与图片资产都落在本机
($DSH_HOME/greet-signoff.json 与 $DSH_HOME/greet-signoff-assets/)。这也意味着:能在这台机器上跑的程序
(包括其它本地脚本)可以读写这份配置——这是 DSH 本机免认证的既有设计,请按"本机自用"来理解它。
已知限制
- 依赖宿主 DOM 结构:对话里那两行是"匹配文本后贴样式类"实现的——按消息块判定(每块第一条=开场、最后一条=收尾),并排除思考/推理面板。宿主若改动消息的 DOM 结构或分块方式,可能出现"样式没贴上"或"贴错行";升级宿主后建议扫一眼对话里的两行。
- 模型整段改写固定行时不贴样式:匹配是"同一句话"级别,不是"意思相近"级别(见上文《固定行是怎么被认出来的》)。真遇到了,可把「匹配」切到「逐字相同」来确认,或把开场语写得更独特一些。
- 两行文字相同时:如果你把开场语与结束语设成同一句话,两行样式仍会按位置各自生效(首行=开场样式、末行=收尾样式),但文字看起来一样;想要文字也不同,请在「结束语」标签里全选删除旧内容后重填。
- 装完要重启:本包声明了组合层(
dsh.bundle.patch),安装/升级后需要重启dsh web;页面刷新不够。 浏览器半(client.js)的改动刷新页面即可;宿主半(index.mjs,含/session接口)必须重启。 - 深浅判定是启发式:四条证据都不成立时(皮肤既不声明
color-scheme、底色又是透明或图片)会判成浅色。 设置页「诊断 → 健康自检」里能看到四条证据的实测值,配色不对时先看那一行。 - 单份配置:所有 profile/会话共用
$DSH_HOME/greet-signoff.json;进度条外观偏好按浏览器分开。 - 多标签页:配置在打开页面时读一次,切回标签页/重新聚焦时补读;若另一标签页刚刚改动,本页可能要等一次聚焦才更新。
- 平台:浏览器半仅在 Web 端注册 UI;宿主半(提示段与配置接口)不依赖平台。
- 它会改写输入区上方的一处布局:进度条挂在
conversation.input.dock,宿主会给该插槽的直接子元素套"附属卡片"样式(白底/圆角/阴影)。本插件已把自身容器设为透明并把对齐缩进放到内层元素,避免出现多余的白框;若宿主再改这条样式,可能又出现视觉偏差。 - 数据安全:配置保存是原子写(
.tmp+ 改名),并保留上一份.bak;解析失败时会回落到默认值并在宿主日志里打一条config unreadable,此时请从.bak手工恢复。
插件管理
已装插件的启停与安装态,用 dsh 自带的命令管理即可:
dsh plugin --profile web list # 查看当前 profile 装了哪些插件
dsh plugin --profile web remove <包名> # 卸载(装完同样重启 web)
若要临时停用本插件而不卸载:在 profile 的 cordis.patch.yml 里给它加一行
- id: greet-signoff
disabled: true
(该文件是热生效的,改完不必重启。)
版本与更新
版本历史见 CHANGELOG.md。开发/发版前的自检:
node --test test/ # 13 个纯函数单测(把 client.js 用最小 DOM 桩加载进 Node)
node scripts/verify-manifest.mjs # 元数据、发布物清单、占位符、CHANGELOG 版本一致性
npm pack --dry-run # 预览真正会被打包的文件
发版流程(含 CI 启用与 npm 发布步骤)见 docs/RELEASING.md。
许可
Comments
Loading…
Similar plugins
by Carrick-K7
Restart DSH, then carry on: the answer in progress finishes, DSH closes in an orderly way, and every conversation the restart interrupted is woken.
★ 0
MIT
JavaScript
Sep 19, 2026
dsh plugin --profile web add dsh-keep-goingby drscrewdriver
给 DeepSeek Harness 侧边栏加一个会话内容检索——标题/内容一键切换,还能按用户/回复/工具筛选
★ 3
↓ 27/wk
MIT
TypeScript
Sep 19, 2026
dsh plugin --profile web add dsh-session-search-toggleby inmny
为 DeepSeek Harness 增加一个直接续跑按钮。当会话异常结束时,可以从现有上下文继续执行,不会引入其他提示词。
★ 3
MIT
JavaScript
Sep 11, 2026
dsh plugin --profile web add dsh-plugin-continueby Anionex
deepseek harness对话和代码状态回退插件 | DSH — rewind conversation and workspace state, powered by a persistent Change Ledger
★ 115
BSD-3-Clause
JavaScript
Sep 14, 2026
dsh plugin --profile web add @anionex/dsh-turn-rewindby zclDragon
Codex-style /side side conversations for DeepSeek Harness: a temporary fork of the current chat in a floating panel, inheriting context without interrupting the main task.
★ 1
MIT
TypeScript
Aug 23, 2026
dsh plugin --profile web add @zhuchenglong/dsh-side-chatby leolee9086
DeepSeek Harness 会话标题插件:在会话菜单中根据对话内容重新总结标题,零运行时依赖
★ 0
MIT
JavaScript
Sep 12, 2026
dsh plugin --profile web add dsh-session-title-refresh