插件目录 / Developer / dsh-think-phrases
dsh-think-phrases
未验证 deathbook
功能简介
DeepSeek Harness plugin: top-right widget counting let me / we / let's / I'll in reasoning chains
未验证 — 尚未实测
DeepSeek Harness plugin: top-right widget counting let me / we / let's / I'll in reasoning chains 尚未验证——请自行安装测试。
「未验证」表示我们的自动化 CI 尚未安装过该插件。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-think-phrases
🤖 本项目由 DeepSeek V4 Flash Max 完全自主生成。
🔗 GitHub:https://github.com/deathbook/dsh-think-phrases
右上角思维链短语统计插件,适用于 DSH Desktop 与普通 dsh web 环境。
统计当前会话所有思维链(reasoning blocks)中let me / we / let's / I'll 的出现次数,
便于快速查看当前对话的 DeepSeek-V4-Pro-0813 模型是否进入灰测思维链。
安装
# npm(推荐)
dsh plugin --profile desktop add dsh-think-phrases
# 或 GitHub
dsh plugin --profile desktop add github:deathbook/dsh-think-phrases
# 源码安装(本地开发 / 调试)
git clone https://github.com/deathbook/dsh-think-phrases.git
cd dsh-think-phrases
pnpm install
# 在 profile 的 dependencies 中 link 到本地目录
安装后重启 DSH 宿主。插件会通过 cordis.patch.yml 自动挂载到 profile 的 bundle 组合中。
兼容性
| 环境 | 支持 |
|---|---|
| DSH Desktop 2.x | ✅ |
普通 dsh web / dsh console |
✅ |
| DSH 上游(无 Desktop service) | ✅ |
本插件不依赖 Desktop 专用 service(desktopProfiles、desktopPnpm、desktopWindow),
在同一套源码下同时兼容 Desktop 与普通 DSH 环境,符合
DSH 插件生态倡议书
的三条原则:组合优先 · 声明清晰 · 兼容优先。
功能
- 统计思维链中的高频短语/单词:
let mewe(匹配表达"我们"的we,包括we're、we'll、we-need、pre-we等;不匹配weird、sweet等单词里偶然出现的we)let'sI'll(同时统计全写I will)
- 全部忽略大小写。
- 只统计思维链(reasoning)文本,不统计可见正文与用户消息。
- 面板实时显示每项计数和总计。
设计
由可复用模板 dsh-plugin-template 派生,采用双半边架构(符合 DSH 插件生态的
组合优先原则):
- 宿主半边
src/index.ts+src/projection.ts— 注册thinkPhrases会话投影:
投影框架对完整会话日志逐条执行apply(仅统计assistant/message事件的
reasoning 块,支持 surface replace 回退),不受客户端窗口截断影响。 - 客户端半边
src/client/— 挂载到官方 slotconversation.session.header.utilities
(会话头部右侧工具区),通过useProjection('thinkPhrases')实时读取计数;
丸粒按钮显示总数,点击拉出面板、点外部或 Esc 收起。
计数规则
| 短语 | 正则 | 说明 |
|---|---|---|
let me |
/\blet\s+me\b/gi |
|
we |
/\bwe\b/gi |
匹配表达"我们"的 we,含 we're/we'll/we-need/pre-we;不匹配 weird/sweet 等 |
let's |
`/\blet(?:['']s | s)\b/gi` |
I'll |
`/\bi(?:[''']ll | \s+will)\b/gi` |
忽略大小写;只统计思维链(reasoning)文本,不统计可见正文与用户消息。
目录结构
dsh-think-phrases/
├── src/
│ ├── client/
│ │ ├── ThinkStatsWidget.tsx # 客户端统计面板组件
│ │ ├── index.ts # 客户端插件入口(导出 inject + apply)
│ │ └── think-stats.module.css # 面板样式
│ ├── index.ts # 宿主插件入口(导出 name + apply)
│ └── projection.ts # thinkPhrases 会话投影与计数规则
├── .gitignore
├── LICENSE # MIT
├── README.md
├── cordis.patch.yml # bundle 挂载声明
├── package.json
├── pnpm-lock.yaml
├── tsconfig.json
└── tsdown.config.ts
构建
pnpm install
pnpm run build # lib/index.js (宿主) + lib/client.js (浏览器) + lib/types
构建产物 lib/ 随包发布(package.json files 字段),但不在 Git 仓库中跟踪(.gitignore)。
安装到 profile
将 dsh-think-phrases 加入 profile 的 dependencies(link:/file:/工作区即可),
并在 dsh.profile.bundles 追加 "dsh-think-phrases",然后 pnpm install 并重启 dsh 宿主
(插件集合与客户端引导图均在启动时组合)。
标签
DSH 插件生态通用标签:
dshdsh-plugindeepseekharnessreasoningstats
声明
本插件遵循 DSH 插件生态倡议书 的三条原则:
- 组合优先:通过官方 slot(
conversation.session.header.utilities)和 service(sessionProjections、slots)组合能力,不覆盖其他插件的内部实现。 - 声明清晰:明确声明依赖的
inject(slots、sessionProjections),不依赖运行时巧合。 - 兼容优先:同时在 Desktop 与普通 DSH 环境下可用,不破坏已有组合。
License
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-think-phrases」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:deathbook/dsh-think-phrases Headless(CLI)profile:
dsh plugin --profile headless add github:deathbook/dsh-think-phrases 实测报告
尚未 L3 验证——若已跑过,见下方失败备注。