DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Failure Lens — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-failure-lens

Failure Lens

确定性的 DeepSeek Harness Web 客户端插件,将 Windows 沙箱中的 `spawn EPERM` 失败解释为一个独立的 Conversation Node。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-failure-lens@0.3.0
README兼容性版本

兼容性与来源证明

Failure Lens 以 dsh-failure-lens 发布,当前版本为 0.3.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/9/20

版本

0.3.0stable
2026/9/8
0.2.2stable
2026/8/20
0.2.1stable
2026/8/20
查看其余 1 个版本收起版本
0.2.0stable
2026/8/20

相关插件

正在加载相关插件…

最新版
0.3.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
139.9 kB
文件数
27
Surface
web
许可证
Apache-2.0
发布源
npm
GitHub
★ 1
周下载
128
安全扫描
✓ v0.3.0 扫描通过
最近提交
2026/9/16
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

README

dsh-failure-lens

Official DeepSeek Harness community discussion · Share a privacy-trimmed real field report

English · 简体中文说明见下文

A small, deterministic DeepSeek Harness Web client plugin (v0.3) that explains one high-confidence Windows sandbox failure the moment it appears in the conversation: spawn EPERM caused by a confined Node child process trying to use piped stdio.

It adds a single Conversation Node immediately after the matching tool result — a compact, bilingual, keyboard/assistive-technology-readable warning row. It never replaces the built-in tool row, never patches the DOM, never alters the session log, never runs another model, never auto-approves anything, and never hides raw output.

What it detects (exactly one signature)

dsh-failure-lens matches only when all four of these are present in the same tool-result block:

  1. Error: spawn EPERM
  2. code: 'EPERM' or code: "EPERM"
  3. syscall: 'spawn' or syscall: "spawn"
  4. a Node child-process stack marker such as node:internal/child_process

The same block must also carry durable failure evidence: either isError: true or a non-zero [exit code: N] marker. Evidence is never borrowed from another block. This prevents a successful command that prints a complete historical stack from being mislabeled.

Whitespace, CRLF/LF line endings, ANSI color escapes, repeated stacks, and either quote style are handled deterministically. It does not match a generic EPERM, a user-authored assistant message, a different syscall, or a successful text that merely mentions the phrase without the structured signature and failure evidence.

This signature comes from a real exported session: tool/result, sequence 24071, whose result text carries six repeated Error: spawn EPERM stacks and ends with [exit code: 1], while its tool-result block has isError: false. Failure observers that only consume thrown tool errors never see this case; this plugin reads the already-recorded result text instead. The observed isError: false is motivation, not a matching condition—the non-zero exit marker is the durable evidence in this fixture. See Evidence boundary.

What you see

dsh-failure-lens v0.2 explaining a real spawn EPERM result inside DeepSeek Harness

The screenshot above is the installed v0.2 plugin replaying a durable, real npm test event inside Harness—not a mockup. The raw event was produced by the v0.1.0 workspace test; v0.2 reclassifies that unchanged session evidence after a clean service restart and adds the parsed exit 1 chip. Version 0.3 preserves this UI and classifier while migrating the client integration to Harness's current post-Runtime service graph.

After a matching tool result, a compact warning row appears using the official Harness visual language and design tokens (StateDot, row chrome, --dsw-alias-* tokens):

ChineseEnglish
Harness 沙箱限制Harness sandbox limitation
测试未启动;这不代表测试断言失败。The test never started; this does not mean a test assertion failed.
如需验证,请在用户批准后以沙箱外权限重试同一命令。To verify, retry the same command outside the sandbox after user approval.
EPERM · spawn · 退出码 1EPERM · spawn · exit 1

The row is historical information: it reads what already happened and never invents facts. Raw output remains in the built-in tool card immediately above it.

Not a failure logger

This plugin is deliberately narrow and is not dsh-fail-logger:

  • dsh-fail-logger records thrown failures into a long-term skill and explicitly does not trigger for non-zero shell exit codes. This observed event is isError: false and a non-zero exit code, so it falls outside that tool's contract.
  • dsh-failure-lens adds no record, writes no skill, and triggers only on the four-condition spawn EPERM signature plus same-block failure evidence. It is a read-only, presentational explanation of one known sandbox boundary.

Installation

Requires Node ^22.19.0 || >=24.0.0 and a DeepSeek Harness Web profile.

Version 0.3 targets the current client architecture in @deepseek-ai/dsh@0.1.2-rc.1. Repository CI covers Node 22.19 and 24 on Windows, macOS, and Linux. A weekly compatibility canary resolves one coherent release manifest from @deepseek-ai/dsh@next and pins every active client package to that exact version. A separate registry-hygiene sentinel tracks the orphaned @deepseek-ai/dsh-client-runtime@next tag; its result does not define whether this plugin builds against the active client graph. The distinction and registry evidence are tracked in the upstream release-consistency discussion.

Install the stable package from npm (no clone or local build required):

dsh plugin --profile web add dsh-failure-lens@0.3.0

Version 0.2.1 and later are published from their matching public GitHub Releases by an OIDC trusted-publishing workflow and carry npm provenance. To pin the transport as well as the version, use the equivalent release asset:

dsh plugin --profile web add https://github.com/ArmyWas/dsh-failure-lens/releases/download/v0.3.0/dsh-failure-lens-0.3.0.tgz

Or install a local checkout while developing:

dsh plugin --profile web add link:<path-to-dsh-failure-lens>

The package declares its shipped cordis.patch.yml through dsh.bundle.patch. The dsh plugin command installs the dependency and appends the bundle to the profile's ordered dsh.profile.bundles list. Restart the Web profile and refresh the browser.

Harness 0.1.0-rc.8 installations use the former client Runtime architecture; pin dsh-failure-lens@0.2.2 for those profiles. Do not mix the 0.2 and 0.3 client generations in one profile.

Uninstall / rollback

dsh plugin --profile web remove dsh-failure-lens

The same dsh plugin command removes the dependency and its bundle-list entry.

To roll back to a prior composition without uninstalling, edit the profile's cordis.patch.yml (under $DSH_HOME/profiles/web) to disable the plugin row:

- id: dsh-failure-lens
  disabled: true

Rollback is immediate: the plugin owns no durable state, writes nothing to the session log, and its disposer removes the Conversation Definition, keyed renderer, and locale dictionaries exactly as the official client plugin lifecycle requires.

Privacy & security

  • No telemetry, no network, no disk writes. The plugin reads the session events already delivered to the browser and renders a row. It writes nothing anywhere.
  • No model calls. Classification is a pure deterministic function; the plugin never invokes an LLM, never changes the system prompt, and never adds tokens to the request.
  • No approval. The plugin never auto-approves, never widens sandbox permissions, and never re-runs anything. Its "next action" line is advice text only.
  • No raw-output duplication. The tool result stays in the built-in tool card. The plugin copies neither the stack nor the long output; it shows only a summary line and, for screen readers, the evidence type, stack count, exit code (when present), and errno.
  • No DOM patching. The feature composes exclusively through the documented uiConversation.events.register, slots.inject('conversation.chat.node', …), and locale.register surfaces. There is no DOM injection and no import of private client internals.

The auditable declared/observed surface is summarized in Capability declaration. In particular, the literal node:internal/child_process is classifier evidence, not a subprocess import or execution call.

False-positives

The signature-plus-failure-evidence conjunction is deliberately conservative. A false positive is still possible if a non-sandboxed process fails with an identically-shaped Node spawn EPERM stack and a non-zero exit/tool-error flag. The row therefore says what this evidence is consistent with and preserves the raw result above it; please file an issue with a privacy-trimmed event if you see a row you believe is wrong.

Contributing

See CONTRIBUTING.md, SECURITY.md, Evidence boundary, and release/adoption gates. The test suite includes a positive case derived from a real exported Harness session and negative lookalikes (generic EPERM, different syscall, user-authored text, missing structure, successful historical output, cross-block evidence, ANSI/CRLF/repeated stacks). Run npm test, npm run typecheck, npm run build, and npm run pack:check before opening a PR.

License

Apache-2.0. See LICENSE.


简体中文说明

dsh-failure-lens 是一个确定性的 DeepSeek Harness 网页客户端插件(v0.3)。它只在同一个 tool-result 块中同时出现以下四项签名证据时才提示,并紧跟在匹配的工具结果之后插入一个独立的 Conversation Node(紧凑警告行,中英双语,支持键盘与屏幕阅读器):

  1. Error: spawn EPERM
  2. code: 'EPERM' 或 code: "EPERM"
  3. syscall: 'spawn' 或 syscall: "spawn"
  4. Node 子进程的栈标记(如 node:internal/child_process)

同一块还必须有可持久验证的失败证据:isError: true,或非零 [exit code: N];插件不会跨块拼接签名或借用失败标记。因此,成功命令即使打印了一段完整的历史错误栈也不会误触发。

它不会替换官方工具行、不会做 DOM 注入、不会修改会话日志、不会调用模型、不会自动审批,也不会复制原始长日志。该签名来自真实导出的会话(tool/result,序列 24071,六个重复 Error: spawn EPERM 栈并以 [exit code: 1] 结尾)。其中 isError: false 是我们发现观察盲区的动机,不是分类条件;本事件由非零退出码提供失败证据。详见证据边界。

它与 dsh-fail-logger 的边界:后者只记录被抛出的失败,且不处理非零退出码;而本事件是 isError: false 的非零退出码,本插件只做只读、展示性的解释,不写入任何长期记忆。

0.3 版面向现行的 @deepseek-ai/dsh@0.1.2-rc.1 客户端架构。安装:dsh plugin --profile web add dsh-failure-lens@0.3.0;也可使用完全固定的 GitHub Release 地址 dsh plugin --profile web add https://github.com/ArmyWas/dsh-failure-lens/releases/download/v0.3.0/dsh-failure-lens-0.3.0.tgz。旧的 Harness 0.1.0-rc.8 仍应固定使用 dsh-failure-lens@0.2.2,不要在同一 profile 中混用两代客户端架构。0.2.1 及后续 npm 版本由 GitHub OIDC 可信发布工作流从对应公开 Release 发布,并附带 provenance 来源证明。本地开发可用 dsh plugin --profile web add link:<路径>。安装命令会安装依赖,并把 bundle 自动追加到 profile 的 dsh.profile.bundles,随后重启 Web profile。卸载:dsh plugin --profile web remove dsh-failure-lens,它会同步移除 bundle 条目。插件不产生任何持久状态。

隐私与安全:无遥测、无网络、无磁盘写入、无模型调用、无自动审批、无原始输出复制、无 DOM 补丁,全部通过官方 uiConversation.events.register / slots.inject / locale.register 三个公开接口组合。

相关插件

继续浏览 security-access 分类下经过校验的插件。

Doctor@linxin666/dsh-doctorDSH 配置档案的事务性救援模式,配备受监督的启动器、隔离的恢复容器、确定性修复、健康监控以及本地 Web 恢复控制台Pocketdsh-pocket把 DeepSeek Harness 装进你的口袋:一个包、一个设置页,手机扫码即同步访问电脑上的 DSH(局域网 + 公网,实时同屏)。DSCODE@toddzheng024/dscode-bundle完整的 DeepSeek 编码代理,支持持久化 shell、Ultra 协作和自动权限审查。Auto Reviewdsh-auto-review针对 DeepSeek Harness 审批请求的第二模型 AI 自动审查:只读审查子代理在审批应答链上决定允许或拒绝,并采用故障关闭回退机制和完整的会话日志审计。