DeepSeek Harness plugin

dsh-plugin-auto-blame

Auto-blame: when a turn closes, asks an LLM for three cynical follow-up prompts and shows them as click-to-send bubbles above the composer. Host-gated master toggle in the settings page.

Jump to install

Source facts

Repository
HuanLinOTO/dsh-plugin-auto-blame
Latest update
Aug 15, 2026
Category
Just for Fun
GitHub stars
10
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/HuanLinOTO/dsh-plugin-auto-blame
Plugin: dsh-plugin-auto-blame
Author: HuanLinOTO

Check the source files

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

File explorer3 files
README.mdSource · read only

![dshfind](https://dshfind.com/zh/plugins/huanlinoto/dsh-plugin-auto-blame?ref=badge)

> 📌 本插件已收录于 dshfind 插件超市,点击上方徽章直达主页。

dsh-auto-blame

![npm version](https://www.npmjs.com/package/@huanlin/dsh-plugin-auto-blame)

![preview](docs/preview.webp)

当模型完成当前轮次对话后,将最后 3 条消息发送给 LLM,生成 3 条批判性跟进请求,显示在输入框上方作为可选项,点击直接发送。生成期间"领导视野"标签带 DeepSeek 蓝色流光扫过(同 Deep diving... 特效),建议到达后气泡依次淡入。

工作原理

[host] agent/turn-stopping 触发
  → fire-and-forget 调 ctx.llm.stream() 生成 3 条毒舌跟进
  → session.append('auto-blame/suggestions', { turn, suggestions })
  → projection unit 折叠该事件 → session/projection 推送帧
  ↓
[client] useProjection('autoBlame') 收到值
  → conversation.composer.dock 渲染 3 个气泡
  → 点击 → inputActions.setDraft(text) + submit()
  • fire-and-forget:LLM 调用不阻塞 turn 关闭,建议晚几百 ms 出现
  • 非 surface 事件auto-blame/suggestions 不进入 model-visible 历史,不干扰 agent loop
  • 失败静默:LLM 失败 / 解析失败 → 不 append 事件,不显示气泡
  • 点击发送:走 InputBar 同一路径(inputActions.setDraft + submit
  • 下一轮清空:新 turn 开始时 projection 归零,旧气泡立即消失

开发

pnpm run typecheck    # tsc --noEmit
pnpm test             # vitest run(28 个单测)
pnpm run build        # tsc + tsdown → lib/index.js, lib/invariant.js, lib/client.js
pnpm run bundle:client # 只构建 client bundle

依赖链接(sibling dsh checkout)

本插件依赖 @deepseek-ai/dsh-* workspace 包。开发时需要手动 Junction 链接到 sibling dsh checkout:

$dest = 'node_modules\@deepseek-ai'
New-Item -ItemType Directory -Path $dest -Force
# 参考 dsh-spur 的 node_modules 结构创建 Junction

或从 dsh-spur 复制 node_modules(含 typescript / tsdown / vitest / @types/* / cordis / @deepseek-ai/dsh-client-*),再补建 dsh-agent / dsh-llm / dsh-session / dsh-session-projection 的 Junction。

运行

# 从 npm 安装(推荐)
dsh plugin --profile web add @huanlin/dsh-plugin-auto-blame

# 本地开发(热更新)
dsh plugin --profile web add "link:D:/Projects/deepseek-harness/dsh-auto-blame"

安装后重启 dsh web + 浏览器硬刷新(Ctrl+Shift+R)。

检查

  • [x] 零源码 patch
  • [x] package.json 声明 dsh.bundle.patch
  • [x] cordis.patch.yml insert 行 id/name/config 齐全
  • [x] fileslib/ + cordis.patch.yml
  • [x] peerDependencies 含 cordis + @deepseek-ai/*
  • [x] typecheck / test / build script 齐全
  • [x] 预构建策略(lib/ 入库,无 prepare 脚本)
  • [x] 不导出 default
  • [x] 测试分层(Unit)