DeepSeek Harness 插件

dsh-context-provenance

Observe-only provenance ledger over public DeepSeek Harness runtime evidence(英文原文)

跳到安装方式

来源信息

GitHub 仓库
030611/dsh-context-provenance
最近更新
2026年8月14日
分类
记忆
GitHub stars
3
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/030611/dsh-context-provenance
插件名:dsh-context-provenance
作者:030611

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

dsh-context-provenance

![CI](https://github.com/030611/dsh-context-provenance/actions/workflows/ci.yml) ![npm](https://www.npmjs.com/package/dsh-context-provenance) ![License: MIT](LICENSE)

![DSH Context Provenance social preview](docs/social-preview.jpg)

Compare adjacent request evidence as Observed, Estimated, or Unavailable—without returning prompt text, message content, tool schemas, or raw paths.

dsh plugin --profile web add dsh-context-provenance

> Community-maintained and not an official DeepSeek project. Related trust-layer plugins: Telemetry Redactor, Verification Receipt, and Evidence Audit.

An observe-only, CPU-only, local-only DeepSeek Harness plugin that reports what public runtime interfaces can actually prove about the requesting Agent's context. It retains only the two most recent ordinary agent-loop request observations in memory and exposes them through the existing Cordis inspect query mechanism. It performs no file, network, subprocess, GPU, persistence, session, permission, tool, model-routing, or request mutation.

Audit verdict

Conditional pass against official DSH commit 47f943859bef60e4160492346772ded9b24f765a. Stable public seams exist for a deliberately incomplete evidence ledger. This plugin is not a complete context provenance graph and cannot explain all behavior differences.

Public collision review found official pluginInventory/list, official token-meter projections, official Cordis inspect, and the community dsh-context-doctor. This plugin does not rescan files, reimplement token estimation, add optimization advice, or add another token-breakdown UI. Its distinct surface is strict evidence labeling plus adjacent actual request comparison.

Evidence matrix

FieldLabelPublic interfaceBoundary
Effective request provider/modelObservedllm/stream GenerateOptions, gated by isAgentLoopRequest()Ordinary Agent-loop requests only
Adapter context windowObservedSession.requestContext()Adapter-advertised capacity, optional
System presence/changeObservedGenerateOptions.systemNo text or digest is returned; change uses a process-random keyed comparison kept only in memory
Tool names/catalog changeObservedGenerateOptions.toolsNo descriptions, parameter schemas, or digest is returned
Tool owner/plugin mappingUnavailablePublic ToolSchema has no ownerNo inference from names
Active AGENTS source categoriesObservedDurable user/message.source.kind=agent-instructions changesOnly workspace-root/workspace-nested/outside-workspace; raw paths withheld
Skill name/source/provider categoriesObserved or partialctx.skills.snapshot({ cwd, scope })Raw custom source/provider identifiers withheld; complete=false is incomplete
Loader order/module-kind/enabled/fiber phaseObservedOfficial pluginInventory/list serviceentryId and moduleName withheld; not contribution provenance
System/tools/messages breakdownEstimatedOfficial contextBreakdown projectionFixed heuristic; not provider tokenization or billing
Prompt pressureObservedOfficial contextPressure.pressureTokensDerived from provider-reported usage buckets
Projected next promptEstimatedOfficial contextPressure.projectedTokensProvider anchor plus heuristic delta
Hidden policies/private prompts/hidden toolsUnavailableNo public interfaceNever claimed or inferred
Complete behavior causalityUnavailableNo public interfaceAdjacent changes are correlation, not explanation

Every returned field carries Observed, Estimated, or Unavailable, its source interface, and a boundary note where needed. Missing services, projection keys, optional fields, or incomplete skill discovery degrade per field; absence is never silently converted to zero.

Usage

Add the bundle to a profile, restart DSH, then use the existing inspect tools to query Host provider ContextProvenance, method report. The provider appears when the official Cordis inspect service is present; an older composition without that service still mounts the observer but has no query surface. The provider is model-visible only when a user or model explicitly inspects it; the plugin adds no new tool schema or ordinary request content.

Installation and compatibility boundary

The public source repository is 030611/dsh-context-provenance. Add the public bundle to the selected DSH profile, then inspect the resolved configuration:

dsh plugin --profile <profile> add dsh-context-provenance
dsh --profile <profile> --dump-config

Before installing, verify the registry version, source tag, and release notes rather than treating an untagged repository checkout as a release artifact.

The public-interface audit is pinned to official DSH commit 47f943859bef60e4160492346772ded9b24f765a and covers the rc.5 source seam. Local package gates and the temporary tarball installation/import smoke are exercised with the locked rc.6 development dependency set; the peer range remains exactly rc.5/rc.6. These are source/API, unit, lifecycle, loader-composition, built-artifact, patch, and package-install checks. They are not a claim of end-to-end Web UI, remote API, or live model/provider testing.

Privacy and lifecycle

Request bodies are synchronously reduced at the llm/stream boundary to provider/model, booleans, safe categories, tool names, and official numeric projections. System text, messages, tool descriptions, JSON parameter schemas, raw plugin identifiers, raw skill provider/source identifiers, and AGENTS paths or contents are never returned.

Equality fingerprints are not privacy protection. A plain SHA-256 digest of a low-entropy or known prompt/schema lets an observer confirm guesses offline. Earlier schema version 1 returned such digests; schema version 2 removes them. Adjacent systemChanged and toolCatalogChanged booleans are computed from process-random keyed fingerprints held only in a private WeakMap and are never serialized. These booleans still reveal equality/change across the retained adjacent pair, which is the minimum comparison signal this plugin intentionally exposes.

AGENTS folding is incremental per live Agent. The first request after plugin load performs one O(session events) catch-up; subsequent requests examine only newly appended events. If a session event view shrinks, the fold safely rebuilds from the visible tail. The in-memory two-request and instruction-state WeakMaps, request listener, and inspect registration become unreachable or are disposed with the plugin Fiber. Restarting or unloading loses all observations.

Version degradation

The official repository is pre-release and advertises no session-format compatibility promise. This package binds only published package exports and public methods/events at the pinned audit commit. Missing optional services or newer fields produce Unavailable; a missing cordisInspect service removes only the report surface and does not prevent the observer from mounting.

Model experience

The plugin adds one entry and one method to the existing Cordis inspect provider directory. Ordinary model requests receive no added prompt, message, or tool schema. A deliberate inspect call returns the bounded evidence report, which then enters normal tool-result history under the existing Cordis inspect tool.

Token and KV-cache effect

No direct effect on ordinary requests. A deliberate inspect call adds its bounded result to conversation history. The existing inspect tool schema remains unchanged.

Known limitations

  • Loader entries do not identify the bundle, profile, override, or dependency that introduced them.
  • Plugin inventory reveals ordered enablement and lifecycle categories, but never raw entry ids, package names, file URLs, absolute paths, or patch specifiers.
  • A tool name or schema does not identify its owning plugin.
  • Skill names remain visible because they are the public callable identity; source/provider are reduced to fixed categories. A skill name itself may still be sensitive if a deployment chooses a sensitive name.
  • AGENTS location categories are durable injected-source metadata, not a filesystem inventory or proof of hidden instructions.
  • Adjacent observations cover actual ordinary llm/stream calls seen while this plugin is mounted. Earlier requests, auxiliary calls, and observations lost on unload or restart are unavailable.