HuanLinOTO/dsh-plugin-auto-blame 预览 preview

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 调用失败或解析失败时会静默处理,不会影响正常的对话流程。仓库目前没有标注明确的开源许可证。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 note1 项提示
  • 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-plugin-auto-blame card

dsh-auto-blame

npm version

preview

当模型完成当前轮次对话后,将最后 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.yml insert 行 id/name/config 齐全
  • files 含 lib/ + cordis.patch.yml
  • peerDependencies 含 cordis + @deepseek-ai/*
  • typecheck / test / build script 齐全
  • 预构建策略(lib/ 入库,无 prepare 脚本)
  • 不导出 default
  • 测试分层(Unit)
← 上一个 Prev dsh-notify-me 下一个 Next powercontext-dsh →