HuanLinOTO/dsh-plugin-auto-blame
模型回合结束后,LLM生成3条批判性跟进建议,以点击即发送的标签形式展示。
Project Overview项目介绍
This is a native plugin built exclusively for DeepSeek Harness (DSH). Its core function runs after the model finishes a turn of conversation, when it automatically calls an LLM to generate three critical follow-up requests. These requests are rendered as clickable bubbles above the DSH input box, and users can send any request directly by clicking its bubble. The plugin can be installed via the DSH CLI, either from the public npm registry or a local development path for testing. After installation, you must restart the DSH web process and hard refresh your browser to activate the plugin.
The plugin uses a fire-and-forget pattern for LLM calls, so it does not block the end of the current conversation turn. The generated suggestions are not added to the model's conversation history, so they do not interfere with the agent's core loop. If LLM generation or parsing fails, the plugin fails silently and does not render any broken UI. When a new conversation turn starts, all previous suggestion bubbles are automatically cleared to avoid clutter. This plugin is ideal for developers who want extra critical input for their coding tasks without manually brainstorming follow-ups.
The plugin follows DSH's zero-source-patch specification, with all required configuration in cordis.patch.yml and a valid DSH bundle manifest. It uses a pre-built distribution strategy, so the npm package ships with compiled output and does not require a post-install build step. For local development, you need to link the plugin to a sibling DSH checkout to access core DSH workspace dependencies. The repository does not list an explicit open source license, and it includes 28 unit tests to validate core functionality. Available scripts for development include type checking, unit testing, building, and bundling the client side code.
这是一款专为 DeepSeek Harness 开发的原生插件,核心功能是在模型完成每轮对话后,自动调用大模型生成 3 条批判性跟进请求,并将这些请求渲染在输入框上方,用户点击即可直接发送请求,无需手动输入。插件通过 DSH 官方 CLI 命令安装,兼容 DSH 桌面端和网页端运行环境。
用户在和 DSH 完成一轮对话交互后,无需额外操作,插件就会自动在后台触发大模型生成批判性跟进建议,新生成的请求会以带动效的气泡形式依次淡入,显示在输入框上方。当新的对话轮次开始时,上一轮生成的气泡会自动清空消失,完全不干扰当前对话流程,适合希望获得批判性启发、不想手动梳理跟进方向的开发者使用。
插件采用预构建策略发布,npm 包中已包含构建产物,无需安装后重新编译,声明了正确的 peer 依赖,包括 cordis 和 DeepSeek 官方的 DSH 核心包。插件遵循零源码 patch 规范,所有配置信息齐全,LLM 调用失败或解析失败时会静默处理,不会影响正常的对话流程。仓库目前没有标注明确的开源许可证。
请帮我安装这个 DSH 插件。安装前先完成【兼容性检查 + 安全性检查】,检查通过再动手。
插件:dsh-plugin-auto-blame(HuanLinOTO/dsh-plugin-auto-blame)
仓库:https://github.com/HuanLinOTO/dsh-plugin-auto-blame
本站详情页:https://www.yhbd.top/plugins/huanlinoto-dsh-plugin-auto-blame/
本站登记:类型 plugin · 归类 原生 DSH 插件 · 许可证 NOASSERTION · ⭐ 10 · 最近提交 2026-09-03 · 主语言 TypeScript
按下面顺序执行,每步先把结论告诉我,再进入下一步:
【1 兼容性检查】
① 我这边:DSH 版本、Node 版本、操作系统、当前 profile(web / desktop)。
② 读它的 README、package.json、插件 manifest,列出它要求的 DSH 版本 / Node 版本 / 操作系统 / 外部依赖 / 需要另外先装的运行时。
③ 逐条比对,结论只写「满足 / 不满足 / 未知」三种;不满足的给出可行替代方案。
④ 检查是否和我已装的插件冲突:命令名重复、skill / tool 重名、端口占用、重复注册的 MCP server。
【2 安全性检查】
① 仓库可信度:和上面「本站登记」是否一致;star / fork 数、创建时间、最近提交,是否归档或长期停更。
② 安装脚本:逐行看 package.json 的 preinstall / install / postinstall,以及 install.sh、setup.ps1 之类脚本。出现 curl|bash、下载后直接执行、混淆代码、访问与插件功能无关的域名,立刻停下来告诉我,不要继续装。
③ 依赖:列出新增依赖,标出无人维护、或与知名包拼写近似的可疑包(typosquatting)。
④ 权限与副作用:它会读写哪些目录、访问哪些域名、需要哪些 DSH 权限(filesystem / network / shell / clipboard 等),以及怎么卸载和回滚。
⑤ 如果它要求 sudo / 管理员权限,或权限明显超出功能所需,先停下来问我。
【3 安装】
上面两步没有「不满足」和「高危项」时才执行;用官方推荐方式安装,不要自行提权。
【4 汇报】
用表格输出:检查项 / 结论 / 依据 / 是否需要我决策。拿不准的一律写「未知」并说明要我怎么确认——不要猜,也不要替我决定。
Send this message to DSH in your current session: it verifies compatibility and security first (answering met / not met / unknown item by item) and only installs once everything checks out — it will stop and ask you if it finds a high-risk item. The box scrolls; the copy is the full prompt. CLI install commands may not be accurate across systems, so DSH is the safer route.把上面这条消息直接发给当前会话里的 DSH:它会先核对兼容性与安全性(逐条给「满足 / 不满足 / 未知」),确认没问题再安装,有高危项会停下来问你。框内可滚动,复制到的是完整提示词;安装命令不一定准确,发给 DSH 更稳。
- 10 stars - an early-stage project星标 10,属于早期项目
DSH walks through these 9 checksDSH 会逐条核对这 9 项
Compatibility兼容性
- DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
- External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
- Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册
Security安全性
- Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
- Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
- curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
- Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
- Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
- Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式
Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add @huanlin/dsh-plugin-auto-blame
把 HuanLinOTO/dsh-plugin-auto-blame 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-auto-blame

当模型完成当前轮次对话后,将最后 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)。
检查
- 零源码 patch
-
package.json声明dsh.bundle.patch -
cordis.patch.ymlinsert 行 id/name/config 齐全 -
files含lib/+cordis.patch.yml -
peerDependencies含 cordis +@deepseek-ai/* - typecheck / test / build script 齐全
- 预构建策略(
lib/入库,无prepare脚本) - 不导出 default
- 测试分层(Unit)
Winter-And-You-Gone/dsh-turn-fold
liangmianya/dsh-synapse
alaliqing/claude-paper
acryldev/acryl