deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
DeepSeek Harness (DSH) web client plugin:实时在看多个并发的"思考中"会话,把每个会话的状态表情拼到浏览器标签页标题开头。
⚙️ 工具表情🤔标签页标题形如:🧠 优化算法 — 思维链可见的会话标题 — 窗口标题(多个运行中会话各自一个表情依次拼接)
import(important)、var(vary)、function(functions)、class(classification)、return(returns)、\bfor\b(每个英文句子都带 for)。v1.3.0 将全部英文关键词改为词边界 \b…\b,删除散文高频的 for/while,下调泛化词(API/JSON/接口/调用)权重,并移除散文常见符号(: - " ' / 等)的参与。cause/导致、why: 2、可能/不对、然后、确认/√、感叹号顿悟提示等),修复 moght→might 拼写、软化过激的 更 权重;📄 代码草稿改为「关键词 + 语法字符」双通道(; ( [ { = + 等各按 0.01 计,代码密集时胜出)。binding.session.snapshot(),异常被吞掉后 snap 恒为 null,导致思维链可见和工具调用时都只显示默认表情。v1.0.1 改为官方公开接口 binding.session.getSnapshot()(SessionFace 的 ObservableSnapshot 读取面,与 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.json 的 dsh.client.platform: "web" 识别加载。
依赖:DSH web 客户端(提供 sessions / slots 服务,lib/client.js 通过 window.__ModuleLoader__.load 注册)。零第三方运行时依赖。
发送消息让模型思考(屏幕上能看到思维链流式滚动)。
观察浏览器标签页标题:思考期显示匹配表情,工具执行期显示 ⚙️。
设置页(侧栏 设置 → 思考表情)可实时预览每个运行中会话的表情与最高分,并调整:
| 设置 | 说明 | 默认 |
|---|---|---|
| 启用 | 总开关 | on |
| 默认表情 | 看不到思维链时显示 | 🤔 |
| 工具表情 | 会话运行中执行工具时显示 | ⚙️ |
| 后缀长度 | 取思维链最后 N 个字符参与匹配 | 500 |
| 全权重长度 | 思维链尾部 N 个字符按满权重计分,更早部分 0~1 线性衰减 | 300 |
| 检测频率 | 轮询间隔(滑块 0.1~10s,可输入任意 >0 的秒数) | 0.2s |
分享配置:设置页 → 导入/导出 →「📋 复制配置」把整套配置复制为 JSON(或「⬇️ 下载文件」存为 .json);对方在设置页粘贴并点「应用导入」即可一键套用。默认表升级:设置页「♻️ 恢复默认表」随时回到当前版本默认匹配表。
| 表情 | 类别 | 强信号示例 |
|---|---|---|
| 🧠 | 推理思考 | 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 也会按各自真实思维链显示独立表情。只有从未打开过窗口的会话(从未被选中)无法获取其思维链内容,此时才显示默认表情(与"看不到思维链"语义一致)。
MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。