dshbase

插件目录 / UI & Skins / dsh-stack

dsh-stack

已验证 · 实测可装 weivwang

✓ 持续维护 基于 2 个官方 DSH 包

查看 GitHub ↗ ← 返回插件目录

0Stars
0Forks
0未关闭 issue
—语言
2026-08-24最近推送
跨平台平台

功能简介

Reproducible DeepSeek Harness environments in one portable, secret-safe Stackfile.

✅
我们的评价
可用 — 实测通过,早期项目

Reproducible DeepSeek Harness environments in one portable, secret-safe Stackfile. 实测能干净安装、正常启动。早期项目,但功能可用。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

README

dsh-stack — Ship the environment, not the setup guide

dsh-stack

Make agent environments reproducible.
Capture an entire DeepSeek Harness profile—plugins, order, versions, and portable configuration—in one reviewable Stackfile.

CI DeepSeek Harness 0.1.0-rc.6 Node.js 22.19+ MIT license

中文 · English


A plugin list is not an environment

A working Harness profile depends on more than the packages it contains. Bundle order changes composition. Version drift changes behavior. The profile patch carries the configuration that made the setup useful in the first place.

dsh-stack captures that complete contract:

  • ordered plugin bundles;
  • exact installed registry versions and commit-pinned Git sources;
  • the profile-level Cordis patch, with local paths made portable;
  • secret references instead of credential values;
  • source Harness version and whole-file SHA-256 integrity.

The result is a small JSON Stackfile that can live beside a project, release, benchmark, team handbook, or bug report. Anyone can inspect it before allowing it to touch a profile.

From working profile to verified replica

Install, export, inspect, plan, apply, and verify a dsh-stack profile

# Machine A — capture the environment that already works
dsh-stack export --profile web --name "research-workbench"

# Machine B — inspect before trusting
dsh-stack inspect web.dsh-stack.json
dsh-stack plan web.dsh-stack.json --profile research

# Reproduce, then verify through Harness itself
dsh-stack apply web.dsh-stack.json --profile research --yes

apply does not stop at installing packages. It writes the declared bundle order, hydrates portable configuration, and asks dsh --dump-config to verify the final composition. If verification fails, the profile files are restored from backup.

Stackfiles may also be loaded directly over HTTPS:

dsh-stack plan https://example.com/research.dsh-stack.json --profile research

Install

Install the CLI and add the bundle to a Harness profile:

npm install --global dsh-stack
dsh plugin --profile web add dsh-stack

The package contains prebuilt JavaScript and has no install-time lifecycle script.

Try the published example without cloning this repository:

dsh-stack inspect https://raw.githubusercontent.com/weivwang/dsh-stack/main/examples/web.dsh-stack.json
dsh-stack plan https://raw.githubusercontent.com/weivwang/dsh-stack/main/examples/web.dsh-stack.json --profile web-copy

To install from source instead, clone the repository, run pnpm install --ignore-scripts && pnpm run build, then use npm link and dsh plugin --profile web add "$PWD".

Review first, mutate second

The read path and write path have deliberately different authority:

Command Writes to a profile Purpose
dsh-stack inspect No Validate integrity and explain a local or HTTPS Stackfile
dsh-stack plan No Compare the desired stack with a target profile
dsh-stack export No Capture an installed profile into a new file
dsh-stack apply Yes Apply a reviewed plan with locking, backup, verification, and rollback

Before mutation, apply:

  1. validates a closed schema and the whole-file digest;
  2. rejects unsafe package specifiers, local paths, mutable sources, and embedded URL credentials;
  3. prints the exact install, update, ordering, patch, and secret plan;
  4. requires --yes;
  5. requires a second explicit choice before replacing a different non-empty patch.

It never removes target-only plugins. Existing bundles not named by the Stackfile remain after its declared layers.

Secrets stay out of the file

The exporter parses cordis.patch.yml as data and never evaluates !!js. Common credential fields and recognizable token literals become environment-backed placeholders:

apiKey: "{{DSH_STACK_SECRET:API_KEY}}"
cacheDir: "{{DSH_HOME}}/cache"
workspace: "{{HOME}}/code"

inspect lists every required variable. Supply the values only on the receiving machine:

export DSH_STACK_SECRET_API_KEY='...'
dsh-stack apply team.dsh-stack.json --profile web --yes

Automatic detection is defense in depth, not proof that arbitrary configuration is secret-free. Inspect a Stackfile before publishing it, and prefer managed credentials or environment references so raw secrets never enter the profile patch.

What crosses the boundary

Included Deliberately excluded
Ordered dsh.profile.bundles Session history
Exact package versions Credentials and .env files
Profile-level cordis.patch.yml Global $DSH_HOME/cordis.patch.yml
Portable home-path placeholders Workspace files and arbitrary skills
Harness version and integrity digest Machine-wide state

A Stackfile is an environment declaration, not a backup archive.

Harness tool

Installing the bundle registers one read-only model tool: stack_inspect.

  • summary returns bundle counts, portability score, required secrets, and warnings.
  • stack returns the complete integrity-sealed, secret-redacted JSON.

The tool itself never writes a Stackfile. Saving the returned JSON remains subject to Harness's ordinary file permissions.

Compatibility and development

The first release targets DeepSeek Harness 0.1.0-rc.6 and Node.js ^22.19.0 || >=24. Harness is in developer preview; each Stackfile records its source version and warns when the target differs.

pnpm install --ignore-scripts
pnpm run check

The checked-in lib/ directory is the installable artifact. CI runs type checking, 18 tests, a production build, and package inspection across Linux, macOS, and Windows on Node 22.19 and 24.

Read the format and mutation design or the security policy.

MIT

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-stack」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:weivwang/dsh-stack

Headless(CLI)profile:

dsh plugin --profile headless add github:weivwang/dsh-stack

实测报告

验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

UI & Skins 里更多

浏览全部 7819 个插件 →