DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

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

dsh-verification-receipt

Verification Receipt

用于 DeepSeek Harness 的隐私最小化启发式逐轮执行摘要

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

npx -y @deepseek-ai/dsh plugin --profile web add dsh-verification-receipt@0.1.0
README兼容性版本
DSH Verification Receipt social preview

兼容性与来源证明

Verification Receipt 以 dsh-verification-receipt 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

0.1.1stable
2026/9/3
0.1.0stable
2026/8/14

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
36.3 kB
文件数
10
Surface
any
许可证
MIT
发布源
npm
GitHub
★ 0
周下载
84
查看源码 ↗项目主页 ↗
README Badge

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

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

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

认领这个 Plugin →
报告问题

相关插件

继续浏览 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 自动审查:只读审查子代理在审批应答链上决定允许或拒绝,并采用故障关闭回退机制和完整的会话日志审计。

README

DSH Verification Receipt

中文

Ask a smaller, checkable question: what verification-shaped execution signals did DSH record this turn?

DSH Verification Receipt is a small, passive Profile Bundle for DeepSeek Harness. After each durable turn/end, it appends one privacy-minimal, heuristic execution summary to a local JSONL file.

Verification Receipt data flow

It records execution traces, not semantic correctness. A receipt shows only that DSH logged tool calls and that a lexical heuristic found a possible verification signal. It never proves that a test ran. It cannot show that the right command executed, that assertions were sufficient, that output was truthful, or that the assistant's conclusion was correct.

This is intentionally not an evidence-audit ledger: rows stay independent and there is no hash chain, artifact capture, claim-evidence linkage, or protocol attestation.

Compatibility evidence

The package is audited against DeepSeek Harness commit 47f943859bef60e4160492346772ded9b24f765a, whose manifests declare @deepseek-ai/dsh-session 0.1.0-rc.5, Cordis 4.0.1, and Schemastery 3.18.1. Peer ranges start at those versions and stop before dsh-session stable 0.1.0 or the next Cordis/Schemastery semver major. The release checks also exercise the available dsh-session 0.1.0-rc.6 package. Versions admitted by the range but not named here are compatibility expectations, not tested evidence. Cordis and Session are optional host peers because DSH supplies their runtime services; Schemastery is included as an exact runtime dependency and also declared as a compatibility peer.

Install

Add the published package to every profile that should emit receipts:

dsh plugin --profile web add dsh-verification-receipt
dsh --profile web --dump-config

Repeat the first command with another profile name (for example, headless) when that profile also needs receipts. For local development, clone this repository, run pnpm install --frozen-lockfile && pnpm run check, and pass the checkout path to dsh plugin ... add instead of the package name.

package.json declares dsh.bundle.patch; cordis.patch.yml inserts one ordinary observer plugin. It works on any DSH surface that provides the core Session service.

Output

The default file is:

$DSH_HOME/verification-receipts/v1/receipts.jsonl

When DSH_HOME is unset, it resolves below ~/.dsh. Override it with an absolute path in the profile's cordis.patch.yml:

- id: verification-receipt
  config:
    outputPath: /absolute/private/path/receipts.jsonl

Each line has this form:

{
  "schemaVersion": 1,
  "kind": "dsh-verification-receipt",
  "sessionIdHash": "sha256:…",
  "turn": 3,
  "turnEndSeq": 42,
  "endedAt": 1786630000000,
  "outcome": "completed",
  "tools": {
    "calls": 4,
    "succeeded": 3,
    "failed": 1,
    "unresolved": 0,
    "topLevel": 2,
    "nested": 2
  },
  "verificationSignals": [
    {
      "source": "command",
      "category": "test",
      "status": "failed"
    }
  ],
  "claim": "execution-trace-only",
  "receiptHash": "sha256:…"
}

Integrity warning

Both hashes are unkeyed and recomputable. receiptHash is SHA-256 over the exact preceding receipt fields in their emitted order. Anyone who can edit a row can recompute it. Independent rows do not reveal deletion, insertion, reordering, truncation, rollback, or replacement. The hash is neither a signature nor a trusted timestamp, hash chain, commitment, or tamper-evident log.

Privacy and agent behavior

The persisted receipt does not contain:

  • tool arguments or call ids;
  • tool result content or error messages;
  • assistant or user message text;
  • raw session ids, working directories, provider names, or model names.

The plugin temporarily reads tool names, raw arguments, and result status from existing durable events to compute the summary. It does not persist those inputs, append a Session event, register a tool, add a prompt section, inject context, make a model call, or change model history.

sessionIdHash is deterministic, unkeyed, and domain-separated so receipts from one Session can be grouped without storing its raw id. It is linkable across files. If a Session id is predictable or low entropy, an observer can guess candidates offline and recompute the hash; this is pseudonymization, not anonymization.

Verification-signal heuristic

A heuristic signal is emitted when either:

  • a tool name resembles test, typecheck, lint, build, check, verify, or validate work; or
  • a shell-like tool's in-memory command or cmd argument resembles such work.

The stored signal keeps only source, coarse category, and observed status. Native DSH tool errors and recognized non-zero shell exit markers count as failure. Background commands remain unresolved because their later job result may occur outside this turn. Even status: succeeded means only that the observed call completed without a recognized failure marker; it does not mean tests passed or even ran.

Classification is lexical; it does not parse shell syntax, expand aliases, or execute commands:

Input shapeSupportBoundary
JSON-string or object arguments with string command/cmdSupportedOnly recognized shell-like tool names are inspected.
Upper/lower case, quotes, or visible wrappers such as bash -lc/pwsh -CommandSupported lexicallyA category keyword must remain visible in the string.
Array commands, argv, nested command objects, custom shell tool namesUnsupportedNo signal is emitted.
Aliases or wrappers with no visible category keywordUnsupportedFalse negatives are expected.
Quoted prose such as echo "do not run tests"Lexically matchedFalse positives are expected because intent and execution are not parsed.

Treat every match as a discovery hint named “heuristic signal,” never as “tests ran,” an attestation, or a quality gate.

Model experience

AspectEffect
Token costNone.
Tool callsNone; the model gets no new tool.
Session logUnchanged; the plugin reads existing events and adds no events.
Prompt and contextUnchanged.
Turn latencyThe listener scans the completed turn synchronously and queues local file I/O; it does not await disk on the turn path.

Known limitations

  • Receipts cover events observed by the running plugin. Constructor seed history and turns completed while it was unloaded are not backfilled.
  • A process crash can lose a queued receipt because turn/end does not synchronously wait for this optional local sink. Normal plugin/application disposal drains accepted writes.
  • Disposal first closes the enqueue gate, then unregisters listeners, then drains accepted writes. Abrupt process termination cannot run that lifecycle.
  • Receipt rows are independent; deletion, reordering, truncation, and rollback are not detectable.
  • Receipt status repeats DSH's recorded tool outcome and recognized shell markers. It does not independently execute or validate anything.
  • Projection cost grows with the number and size of events in a turn; unusually large tool arguments can add end-of-turn CPU time while they are classified in memory.
  • The in-process write queue is ordered but unbounded. A slow or stuck filesystem can grow memory usage until writes recover or the process ends.
  • There is no cross-process lock. Two DSH processes targeting one file have no guaranteed row order or row-boundary integrity; use one file per process. A crash can leave an incomplete final line, which readers must reject or quarantine.
  • Creation modes request 0700/0600 on supporting POSIX filesystems only. Existing permissions are not tightened, Windows may ignore POSIX modes, and pre-existing symbolic links are followed. Configure a trusted, private, non-symlink path.
  • The file has no built-in rotation, retention, encryption, signing, or recovery.

See SECURITY.md for the trust and disclosure model.

Development

pnpm run typecheck
pnpm run test
pnpm run build
pnpm run check
pnpm run release:smoke
pnpm run performance:smoke

Tests cover privacy exclusions, deterministic hashing, top-level and Code Mode final states, the supported/unsupported classification matrix, listener disposal, disk draining, and a real DSH Context + SessionStore composition. release:smoke enforces the exact tarball file list, installs the real .tgz into a temporary project, and imports it by package name.

License

MIT