dsh-vibe-pack
已验证 · 实测可装 LeemanCheung
功能简介
Transactional data-only DSH configuration packs with integrity, ownership, and rollback
可用 — 实测通过,早期项目
Transactional data-only DSH configuration packs with integrity, ownership, and rollback 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-vibe-pack
English | 中文
A transactional, data-only configuration pack manager for DeepSeek Harness. It previews, installs, diffs, exports, and uninstalls independently versioned resources under $DSH_HOME while tracking ownership and protecting user modifications.
Screenshot

Generated with GPT Image from the implemented Client layout and feature set; runtime appearance follows the active DSH theme and viewport.
Pack format
A source is a local directory or a ZIP-compatible .dshpack/.zip archive containing dshpack.yaml and every manifest-listed payload. The strict version-1 manifest contains an id, version, compatibility ranges, 1–10,000 files, SHA-256 for every file, create/replace/merge modes, ownership metadata, and bounded display metadata.
Pack files are data only. Accepted payload extensions are JSON/YAML/.dshskin, Markdown/text/TOML/INI, and PNG/JPEG/WebP/GIF images; executable or unknown extensions are rejected. No script, hook, shell command, JavaScript module, URL fetch, symlink, YAML alias/tag/anchor, embedded credential, traversal path, duplicate archive path, or undeclared payload executes or installs. Archives are checked against compressed, expanded, per-file, byte, and entry limits before payload use.
Transactions and ownership
Preview reports create/replace/merge actions and conflicts. Existing unowned files, files owned by another pack, create-mode collisions, and resources modified after installation require an explicit force choice. Force transfers only manifest-listed ownership; it is never implied.
Install and uninstall are serialized and guarded by an on-disk transaction lock. Each target is backed up before fixed-order atomic writes. Failed operations restore targets in reverse order and report partial rollback errors. The ledger is written atomically at $DSH_HOME/.dsh-vibe-pack/ledger.json. Uninstall protects modified resources unless force is explicit.
Every managed read and mutation resolves the real filesystem location first. A symbolic link or Windows junction that leaves the configured DSH root is rejected before preview, backup, export, directory creation, write, or removal.
Merge mode accepts JSON or YAML objects, recursively merges object keys, replaces arrays/scalars, rejects prototype keys and secrets, and emits deterministic data. Export verifies that installed resources still match the ledger and produces a portable .dshpack archive.
UI and CLI
Settings → Vibe Pack provides mandatory preview, digest-bound install, ledger history, Diff, independently confirmed Uninstall, and .dshpack download. The generated Typert namespace is vibePack. The CLI defaults --root to $DSH_HOME; pass it only to manage an explicit test root.
dsh-pack --root $env:DSH_HOME inspect ./my-pack
dsh-pack --root $env:DSH_HOME plan ./my-pack.dshpack
dsh-pack --root $env:DSH_HOME install ./my-pack.dshpack
dsh-pack --root $env:DSH_HOME history
dsh-pack --root $env:DSH_HOME diff my-pack
dsh-pack --root $env:DSH_HOME export my-pack > my-pack.dshpack
dsh-pack --root $env:DSH_HOME uninstall my-pack
Use --force only after reviewing reported ownership or modification conflicts.
Install
dsh plugin --profile web add github:LeemanCheung/dsh-vibe-pack
Restart the existing DSH Web process and refresh its page.
Model Experience
This plugin adds no model prompt, tools, messages, token usage, or KV-cache content. Pack inspection and mutation happen on the Host through explicit UI or CLI operations.
Known limitations
The transaction lock fails loud after an unclean process exit and may need manual removal after confirming no Vibe Pack process is active. Remote operations are shared with trusted clients in the same DSH Web composition. The format provides SHA-256 integrity and ownership checks, not publisher signatures or network distribution.
Development
From the repository root run corepack pnpm typecheck, corepack pnpm test, corepack pnpm build, and corepack pnpm pack:check. See TEST_PLAN.md for security acceptance cases.
Version 1.0.1 is marked compatible with the DSH 0.1.2-rc.1 web profile after Windows QA loaded its Host service, browser Client, generated Remote namespace, and Settings section in both the isolated QA instance on port 3081 and the existing local profile on port 3080. The Settings panel successfully loaded an empty ledger. Automated coverage contains 14 passing tests, including existing and missing-target junction escapes.
CI is configured to rebuild the committed lib artifacts on both Windows and Linux and reject any tracked or untracked difference.
MIT. See LICENSE.
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-vibe-pack」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:LeemanCheung/dsh-vibe-pack Headless(CLI)profile:
dsh plugin --profile headless add github:LeemanCheung/dsh-vibe-pack 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。