jhonden/my-dsh-plugins--plugins-web-files-packages-files-remote ↗★ 0
@gaowen/dsh-files-remote
Read-only Remote file listing and reading over ctx.fs, confined to the calling session's workspace 适合需要安全读取工作区文件的开发场景,仅限当前会话范围
Install
This plugin has no verified bundle, or compatibility checks failed. Read the repository notes first. Read the full README ↗
README
Read the full README ↗my-dsh-plugins
English | 中文
Plugin collection for the DeepSeek Harness (dsh).
Each directory under plugins/ is one self-contained, independently installable plugin distribution — its own packages, its own bundle, no cross-plugin coupling. Zero upstream code changes; everything attaches through dsh extension points (Typert Remote services, slot registrations, profile bundles).
Plugins
| Plugin | What it adds |
|---|---|
web-files | A "Files" tab in the Web client's conversation view: a workspace file tree with a read-only viewer (markdown preview via the platform renderer) backed by a sandboxed Host Remote service |
session-notify | Per-session completion alerts in the Web client: arm a session with a bell in the composer tool row (or a !notify message prefix); the sound is user-customizable (system sounds / custom file / volume) via hot-reloaded settings |

Install
One command per plugin — each bundle carries its implementation packages as dependencies, and build outputs are committed, so no local clone or build is needed:
dsh plugin --profile web add "github:jhonden/my-dsh-plugins#main&path:plugins//bundle/"
Two one-time preparations:
-
pnpm v11 blocks git-hosted subdependencies — allow them once in the profile's
pnpm-workspace.yaml(created on firstdsh pluginuse):blockExoticSubdeps: false -
On a slow link to codeload.github.com, widen pnpm's fetch timeout once:
pnpm config set fetch-timeout 600000 --location=global
For web-files, copy the ready-to-run command from its
README.
From a local checkout (plugin development)
pnpm install && pnpm build
dsh plugin --profile web add link:$(pwd)/plugins//bundle/ \
link:$(pwd)/plugins//packages/
After editing source, rebuild and commit lib/ together with the change —
GitHub installs carry what is in the tree.
Repository layout
plugins// one plugin distribution
packages/... the plugin's npm packages (Host half, Client half, ...)
bundle// the installable profile bundle (cordis.patch.yml)
docs/ design notes
tsconfig.json root solution: references every package
pnpm-workspace.yaml plugins/*/packages/* + plugins/*/bundle/*
Development
pnpm install
pnpm build # tsc project references + client browser bundles (tsdown)
pnpm test # vitest across all plugins
Typert Remote descriptors (lib/typert.*.js) are committed: regenerating them requires the upstream generator, so consumers never do.
Compatibility
dsh is a developer preview (0.1.0-rc); these plugins pin the upstream packages they were built against and follow upstream releases deliberately.