DeepSeek Harness 插件

dsh-lineage

Content-addressed data and action lineage evidence for DeepSeek Harness(英文原文)

跳到安装方式

来源信息

GitHub 仓库
dongsheng123132/dsh-lineage
最近更新
2026年8月15日
分类
插件开发工具
GitHub stars
4
载体类型
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/dongsheng123132/dsh-lineage
插件名:dsh-lineage
作者:dongsheng123132

检查来源文件

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

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

dsh-lineage

![CI](https://github.com/dongsheng123132/dsh-lineage/actions/workflows/check.yml) ![MIT license](LICENSE) ![Node.js 22+](package.json) ![Awesome DSH Plugins](https://github.com/dongsheng123132/awesome-dsh-plugins#2origin-plugin-lab)

Content-addressed data and action lineage evidence for DeepSeek Harness.

The DSH ecosystem already has a security-audit plugin that reports plugin provenance. dsh-lineage addresses a different gap: it builds a local, verifiable object graph for artifacts, verified-fact records, actions, and reports. It never stores chat transcripts or factual prose; a node is only a typed ID plus an explicit workspace-relative object reference and expected SHA-256.

Version 0.2.0 is a formal Codex plugin and standalone proof-only MCP server, and uses the namespace export shape required by the stock DSH Web Loader. A real Cordis boot regression test guards that loader contract.

Adjacent tools track Skill bundle versions, hash-chain agent activity, or register provenance. This project stays at the object-graph evidence layer: typed content-addressed nodes, explicit causal edges, resolvable references, DAG validation, upstream/downstream closure, and missing/stale disclosure.

Graph model

Node types:

  • artifact
  • fact
  • action
  • report

Edge types point from the dependent object toward its provenance:

  • derived-from
  • observed-by
  • produced-by
  • supersedes

Every node reference is dereferenced inside workspaceRoot and hashed. The verifier distinguishes:

  • verified: the object exists and matches its expected hash;
  • missing: the reference cannot be resolved;
  • stale: the object exists but its current hash differs;
  • dangling graph references, invalid relation types, and cycles.

No missing or stale object is silently promoted into a fact.

Append-only ledger

Input is explicit JSONL. Each event has an idempotencyKey and either put-node or put-edge. The key maps to one immutable event file in ledgerDir:

1. validate the complete hypothetical graph before writing; 2. write a temporary file inside the explicit ledger directory; 3. read it back; 4. atomically hard-link it into its final immutable slot; 5. read the published file back and verify SHA-256.

Replaying the same key and event is safe. Reusing a key with different content fails closed. Event files are never updated; a new object revision gets a new node ID and a supersedes edge.

Safety model

  • All ledger, JSONL, object and report paths are workspace-relative; traversal and symlink components are rejected.
  • Writes occur only inside explicit ledgerDir or artifactDir.
  • Event schemas allow only structural IDs, types, paths and hashes. Keys for claims, chat, prompts, messages, raw content, text, credentials, tokens, cookies and authorization are rejected.
  • Referenced object bytes are hashed but never copied into the ledger or reports.
  • Ingest rejects self-edges, graph cycles and invalid producer/observer/supersedes type constraints before publication.
  • Closure reports are content addressed and read-back verified.

Run this over evidence objects you created or were authorized to inspect. A hash proves identity, not truth; dsh-lineage reports what is present, missing or changed and does not invent assertions.

Install in DSH

dsh plugin --profile lineage add github:dongsheng123132/dsh-lineage

Registered tools:

  • dsh_lineage_inspect
  • dsh_lineage_ingest
  • dsh_lineage_query
  • dsh_lineage_verify

MCP

.mcp.json declares a standalone stdio MCP server:

  • lineage_events_inspect validates a bounded inline JSONL graph and reports structural hashes, counts, dangling references, cycles and relation errors.
  • lineage_events_query returns deterministic upstream/downstream closure over those inline events.

MCP accepts at most 1 MiB of inline structural events. It never dereferences object paths and never reads or writes the filesystem. Persistent append-only ingestion and object-hash verification remain available only through the workspace-bounded DSH tool and CLI surfaces.

CLI

dsh-lineage ingest --root /workspace --ledger ledger --events lineage.events.jsonl
dsh-lineage inspect --root /workspace --ledger ledger
dsh-lineage query --root /workspace --ledger ledger --node report:proof --direction upstream
dsh-lineage verify --root /workspace --ledger ledger --node report:proof --direction upstream --artifact-dir artifacts

query supports upstream, downstream, and both. verify exits 0 for a fully verified closure, 2 when a report is written but evidence is missing/stale/invalid, and 1 for an operational or schema error.

Example

node bin/dsh-lineage.mjs ingest --root . --ledger ledger --events examples/lineage.events.jsonl
node bin/dsh-lineage.mjs verify --root . --ledger ledger --node fact:normalized-v1 --direction both --artifact-dir artifacts

See [examples/lineage.events.jsonl](examples/lineage.events.jsonl).

Develop

npm test
npm run check
npm run smoke:plugin
npm run smoke:mcp
python C:/Users/ZhuanZ/.codex/skills/.system/plugin-creator/scripts/validate_plugin.py .

Requires Node.js 22+. There are no runtime dependencies or install lifecycle scripts beyond the optional DSH tools SDK peer.

License

MIT