dongsheng123132/dsh-2origin
面向证据优先的2Origin状态投影、差异比对及不可变冻结,适用于DeepSeek Harness
Project Overview项目介绍
dsh-2origin is a verification adapter for DeepSeek Harness that projects 2origin/0.2 task-origin state, separates semantic content from provenance metadata, and produces read-only semantic diffs. Use it when handoff requires task.origin.json as the authoritative artifact rather than chat history, and when you need an immutable, content-addressed snapshot guarded by an optimistic-lock hash. The plugin deliberately never mutates live state; freeze is the only write action and targets a separate snapshot directory.
dsh-2origin 是面向 DeepSeek Harness 的 2Origin 状态验证插件。它提供只读的状态投影、语义 diff 与基于乐观锁的不可变 freeze 工具,区分事实内容与来源元数据。当交接需要以 task.origin.json 作为权威产物时使用。注意:插件刻意不修改 live 状态,文件系统写入仅在显式配置的 DSH/CLI 通道通过 freeze 完成。
请帮我了解并安装插件:【dsh-2origin】【https://github.com/dongsheng123132/dsh-2origin】
Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add github:dongsheng123132/dsh-2origin
把 dongsheng123132/dsh-2origin 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-2origin
Evidence-first 2Origin state projection, semantic diff and immutable freeze for DeepSeek Harness.
Chat history is not the handoff artifact. A task.origin.json state is. This plugin lets a DSH agent inspect that state, distinguish semantic content from provenance metadata, compare a complete candidate, and freeze the exact observed version with an optimistic-lock credential.
v0.2 is a formal Codex plugin with a separate proof-only MCP surface. It also removes the default export that made the real Cordis Loader discard namespace inject metadata, and carries a stock Web Loader regression smoke.
Install
dsh plugin --profile <name> add github:dongsheng123132/dsh-2origin
Configure the workspace explicitly:
- id: dsh-2origin
name: dsh-2origin
config:
workspaceRoot: C:/absolute/project/path
stateFile: demo/my-task/task.origin.json
freezeDir: .2origin/frozen
All configured file paths are relative to workspaceRoot. Traversal and symlink escape are refused.
DSH tools
dsh_2origin_status— compact projection, counts, verified-fact count, and recorded-vs-computed hash integrity.dsh_2origin_diff— read-only semantic diff against a complete candidate JSON document. Version, timestamp, actor and stored hash do not create fake content changes.dsh_2origin_freeze— requires the hash just observed from status, refuses stale state, creates a content-addressed snapshot with exclusive creation, and verifies it by reading it back. Repeating the identical request is idempotent.
CLI
dsh-2origin status --root C:/project --state demo/task/task.origin.json
dsh-2origin diff --root C:/project --state demo/task/task.origin.json --candidate next.json
dsh-2origin freeze --root C:/project --state demo/task/task.origin.json --expect <sha256>
The content hash is compatible with 2origin/0.2: SHA-256 over stable canonical JSON, excluding version, updated_at, content_hash, and actor.
Codex and MCP
The repository contains .codex-plugin/plugin.json and an independent stdio MCP server:
state_proofverifies one bounded inline state document and returns only integrity, hashes, counts and violations.state_diff_proofcompares two bounded inline documents and returns changed fields plus content-addressed value/item hashes.
The MCP server never reads or writes the filesystem, rejects secret-shaped keys, caps each document at 1 MiB, and does not echo state prose. It intentionally does not expose freeze: filesystem writes remain on the explicitly configured DSH/CLI surfaces.
Boundaries
The plugin deliberately does not update the live state. Freeze is the only write action and targets a separate snapshot directory. Live-state mutation needs schema and fact-lifecycle policy from its owning system; duplicating a weaker writer here would create a second truth.
This is not a general memory store, plugin trust scanner or activity logger. Tools such as Agent Passport, generic state files and workspace ledgers solve adjacent problems; dsh-2origin is narrowly the verification adapter for an existing 2origin/0.2 task-state document.
Verify
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 .
MIT
chuspeeism/dashi-taskboard
ccch1mneyyy/working-activity
Aisland-SJL/dsh-worktable
zhoushoujianwork/easyeda-agent
morluto/rea
linhay/harmony-next.skills