Installing 3 plugins: one clean, one warning, one failure

Install-tested macOS (Apple Silicon) · Node v22.22.3 · pnpm 10.30.3 · 2026-08-14

Field note · raw log from an actual session. Nothing paraphrased away, nothing invented.

We installed three community plugins into the web profile (~/.dsh/profiles/web) using the official CLI via npx. Three plugins, three different outcomes — which is exactly why install logs matter more than star counts in a two-day-old ecosystem.

№1 · titanwings/dsh-automation — clean install ✅

$ npx @deepseek-ai/dsh plugin --profile web add github:titanwings/dsh-automation#v0.1.5

dependencies:
+ @dsh-external/dsh-automation github:titanwings/dsh-automation#v0.1.5

Packages: +3
Progress: resolved 3, reused 0, downloaded 3, added 3, done
Done in 24.5s using pnpm v10.30.3

The best-behaved install of the day: pinned to a version tag, resolved in 24.5 seconds, registered correctly. Afterwards, dsh plugin --profile web list showed it as a production dependency of the profile. Desk-read of the README (not a run test): RRULE-normalized schedules, fresh root Agent + Session per dispatch, durable run history with revision snapshots, Web UI tab. External push notifications are explicitly out of scope.

№2 · dsh-web-ui — installed, but as a plain dependency ⚠️

$ npx @deepseek-ai/dsh plugin --profile web add github:dsh-external/dsh-web-ui

Packages: +1
Progress: resolved 4, reused 1, downloaded 1, added 1, done
Done in 3m 2.8s using pnpm v10.30.3
dsh: warning: dsh-web-ui declares no dsh.bundle — installed as a plain
dependency, not a profile layer (a later update that gains one activates
it automatically)
The CLI itself warns you: without a declared dsh.bundle, the package installs but never becomes a profile layer — i.e. it silently does nothing until upstream adds a bundle manifest. If a plugin "installs fine" but has no effect, check for this warning before anything else. Also note the 3-minute fetch on first download versus 24.5s for №1.

№3 · dsh-feishu-notify — failed twice ❌

Attempt 1 — pnpm blocked the git-hosted package's prepare script:

dsh: pnpm failed in profile directory /Users/mac/.dsh/profiles/web
dsh: git-hosted plugins build on install via their prepare script, which
pnpm blocks until allowed — add the exact key pnpm printed above under
allowBuilds in /Users/mac/.dsh/profiles/web/pnpm-workspace.yaml, then re-run

Attempt 2 — after retrying, resolution went over SSH and died on auth:

ERROR  Command failed with exit code 128: git ls-remote
git+ssh://git@github.com/dsh-external/dsh-feishu-notify.git HEAD HEAD^
git@github.com: Permission denied (publickey).

pnpm: Command failed with exit code 128
dsh: pnpm failed in profile directory /Users/mac/.dsh/profiles/web
We did not work around it (adding allowBuilds and rewriting SSH→HTTPS are both fixable, but a two-day-old notify plugin that needs them isn't worth the attack surface on a daily-driver machine). Additionally, the repo 404s via the GitHub API as of 2026-08-14 — we keep it listed as a cautionary entry. Failed installs are data, not embarrassment.

Post-install state

$ npx @deepseek-ai/dsh plugin --profile web list

dsh-profile-web /Users/mac/.dsh/profiles/web (PRIVATE)
│
│   dependencies:
├── @dsh-external/dsh-automation@0.1.5
└── dsh-web-ui@0.1.1

2 packages

Two of three plugins registered. dsh-automation is ready to configure; dsh-web-ui sits inert pending an upstream bundle declaration; dsh-feishu-notify is not installed.

Takeaways for plugin authors

Environment: macOS 15 (darwin 24.6.0, arm64), Node v22.22.3, pnpm 10.30.3 via corepack, DSH CLI via npx -y @deepseek-ai/dsh. Session date 2026-08-14. Logs lightly truncated for width; content unedited.