DeepSeek Harness plugin

dsh-ui-thinking-title

Detect thinking conversations (multiple concurrent) and prepend per-state emoji to the browser tab title: scored emoji while a visible reasoning chain streams, a tool emoji while tools run, and a

Jump to install

Source facts

Repository
2795178962/dsh-ui-thinking-title
Latest update
Aug 19, 2026
Category
Tools & Capabilities
GitHub stars
2
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/2795178962/dsh-ui-thinking-title
Plugin: dsh-ui-thinking-title
Author: 2795178962

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-ui-thinking-title

DeepSeek Harness (DSH) web client plugin:实时在看多个并发的"思考中"会话,把每个会话的状态表情拼到浏览器标签页标题开头。

  • 思维链可见且正在流式输出时 → 按思维链尾部内容打分,显示最匹配的类别表情(🧠 推理 / 🧮 计算 / 🔍 排查 / 💡 顿悟 …)
  • 工具调用执行中 → 显示 ⚙️ 工具表情
  • 看不到思维链(会话窗口从未打开、无流式内容)→ 才显示默认表情 🤔

标签页标题形如:🧠 优化算法 — 思维链可见的会话标题 — 窗口标题(多个运行中会话各自一个表情依次拼接)

已知问题与更新历史

  • v1.3.0

- 修复 📄 代码草稿误分类:普通英文推理频繁误判为 📄 的根因是英文关键词用子串匹配且无词边界——import(important)、var(vary)、function(functions)、class(classification)、return(returns)、\bfor\b(每个英文句子都带 for)。v1.3.0 将全部英文关键词改为词边界 \b…\b,删除散文高频的 for/while,下调泛化词(API/JSON/接口/调用)权重,并移除散文常见符号(: - " ' / 等)的参与。 - 新增可调分界点(全权重后缀长度):位置权重不再只是全局 0~1 线性——思维链尾部 N 个字符按满权重计分(默认 300),更早内容在 0~1 线性衰减;值越小,最末尾一小段越不会单独主导判定。设置页「检测参数 → 全权重长度」可调(50~500)。 - 默认匹配表升级为 v4(老用户未自定义过自动升级)。

  • v1.2.0

- 默认匹配表升级为 v3:合并社区贡献的手调优化(cause/导致why: 2可能/不对然后确认/、感叹号顿悟提示等),修复 moghtmight 拼写、软化过激的 权重;📄 代码草稿改为「关键词 + 语法字符」双通道(; ( [ { = + 等各按 0.01 计,代码密集时胜出)。 - 检测频率默认 0.2s(响应更快)。 - 修正 README 多会话说明(此前误称后台会话只能显示默认表情)。

  • v1.1.0

- 新增导入 / 导出:设置页一键「复制配置」/「下载文件」导出整套配置(JSON),粘贴到聊天窗口即可分享给他人;「应用导入」一键恢复。 - 新增「恢复默认表」按钮;默认表引入版本号(当前 v3),老用户未自定义过时自动升级。

  • v1.0.1:修复客户端会话快照读取——v1.0.0 调用了不存在的 binding.session.snapshot(),异常被吞掉后 snap 恒为 null,导致思维链可见和工具调用时都只显示默认表情。v1.0.1 改为官方公开接口 binding.session.getSnapshot()SessionFaceObservableSnapshot 读取面,与 UI 的 useSession 同源)。

安装

DSH 生态内按客户端 bundle 包装配(web profile):

# 方式 A:超级注入器(运行时注入,免重启)
dev_inject_plugin -dir <本包目录绝对路径>

# 方式 B:bundle 装配(写入 profile bundles 列表,重启后常驻)
dev_install_package -dir <本包目录绝对路径> -profile web

手动方式:把包目录放到 $HOME/.dsh/plugins/<name>/,并以 @local/ 名字挂到 profiles/<profile>/node_modules/@local/ 下(junction),由 DSH web 客户端按 package.jsondsh.client.platform: "web" 识别加载。

依赖:DSH web 客户端(提供 sessions / slots 服务,lib/client.js 通过 window.__ModuleLoader__.load 注册)。零第三方运行时依赖。

使用

1. 发送消息让模型思考(屏幕上能看到思维链流式滚动)。 2. 观察浏览器标签页标题:思考期显示匹配表情,工具执行期显示 ⚙️。 3. 设置页(侧栏 设置 → 思考表情)可实时预览每个运行中会话的表情与最高分,并调整:

设置说明默认
---------
启用总开关on
默认表情看不到思维链时显示🤔
工具表情会话运行中执行工具时显示⚙️
后缀长度取思维链最后 N 个字符参与匹配500
全权重长度思维链尾部 N 个字符按满权重计分,更早部分 0~1 线性衰减300
检测频率轮询间隔(滑块 0.1~10s,可输入任意 >0 的秒数)0.2s

4. 分享配置:设置页 → 导入/导出 →「📋 复制配置」把整套配置复制为 JSON(或「⬇️ 下载文件」存为 .json);对方在设置页粘贴并点「应用导入」即可一键套用。默认表升级:设置页「♻️ 恢复默认表」随时回到当前版本默认匹配表。

默认匹配表(v4)

表情类别强信号示例
🧠推理思考if/so/because/cause/因此/所以/导致/推导/假设
📄代码草稿`` / function / const / return / def / 实现 / 伪代码 / 重构(英文全词边界)+ 语法字符(; ( [ { = +` …各 0.01)
🧮数值计算calculate / sum / equation / 计算 / 求和 / 标准差
🔍排查问题bug / error / stack trace / crash / timeout / 报错 / 崩溃 / 死锁
🤨不确定犹豫but / maybe / why / 不确定 / 可能 / 不对 / 想不通 / 卡住
💡顿悟发现key / insight / realize / ! / 关键 / 突破口 / 明白 / 顿悟
📋规划步骤plan / strategy / step / 方案 / 步骤 / 然后 / 之后
⚖️权衡对比compare / versus / better / or / 权衡 / 对比 / 更 / 选择
⚠️风险谨慎risk / edge case / race condition / deadlock / 风险 / 陷阱 / 副作用
📝总结收尾conclude / summary / 总之 / 结论 / 总结
确定完成sure / verified / perfect / 确定 / 确认 / 没有问题 / 修复 / 解决

默认表随版本演进(当前 v4):tableVersion 变化时,老用户未自定义过的会自动升级到新版默认表;自定义过的保留并可在设置页点「♻️ 恢复默认表」切回。

匹配语法

每一行 = 匹配字符列表 + 权重 + 显示字符串。匹配字符以 ; 分割(不忽略空格):

  • {内容: 权重} — 段内覆盖该行权重
  • 内容/标志 — 带正则标志(如 [bB]ut/i
  • 含正则元字符(\d[bB]|^$ …)的段按正则匹配,否则按字面量子串匹配(区分大小写)
  • 示例:if;so; and ;{therefore: 2};[bB]ut;{[oO][rR]/s: 0.5}

打分:取思维链尾部 N 字符,对每个命中按位置权重 × 段权重累加。位置权重 = 命中位于「全权重长度」(默认 300,可调)之后时按满权重 1 计;早于分界点的部分在 0~1 线性衰减(位置/分界点)。分界线越小,最末尾一小段越不会单独主导判定。取总分最高的行显示其表情;无任何命中显示默认表情。

多会话

插件轮询 sessions.list 中所有 running 的会话,各自独立计算表情,按列表顺序拼在标题最前面(emojis.join("") + " " + 标题)。

可以同时监控多个会话的真实思维链:会话一旦被打开/查看过一次,其事件窗口就会保持存活(切到别的会话也不会关闭),后续的思维链/工具事件仍会实时流给它——所以即使你在看会话 A,正在后台运行的会话 B/C 也会按各自真实思维链显示独立表情。只有从未打开过窗口的会话(从未被选中)无法获取其思维链内容,此时才显示默认表情(与"看不到思维链"语义一致)。

License

MIT