Skip to content
dsh.fish
Bundle

@icedrop-ai/dsh-plugins

Independent DeepSeek Harness plugins: cost metrics and a browser_use tool. This root package is the all-in-one bundle.

Source
icedrop-lab
License
MIT
Updated
Updated 57 minutes ago

Readme

# dsh-plugins

Independently installable DeepSeek Harness plugins, published from one pnpm
monorepo.

## Plugins

| Package | What it does | Install |
|---|---|---|
| [`@icedrop-ai/dsh-cost-meter`](packages/cost-meter) | Session-header balance/token widget and sidebar fallback with a DeepSeek top-up link | `dsh plugin --profile web add @icedrop-ai/dsh-cost-meter` |
| [`@icedrop-ai/dsh-browser-use`](packages/browser-use) | One model-facing `browser_use` tool backed by the browser-use CLI | `dsh plugin --profile web add @icedrop-ai/dsh-browser-use` |
| [`@icedrop-ai/dsh-all`](packages/all) | Aggregate bundle that installs both plugins | `dsh plugin --profile web add @icedrop-ai/dsh-all` |
| `@icedrop-ai/dsh-plugins` | Repository-root bundle; equivalent to `dsh-all` for `link:` installs | `dsh plugin --profile web add link:$(pwd)` |

## Install modes

### npm (recommended)

```sh
dsh plugin --profile web add @icedrop-ai/dsh-cost-meter
dsh plugin --profile web add @icedrop-ai/dsh-browser-use
# or both:
dsh plugin --profile web add @icedrop-ai/dsh-all
```

Restart `dsh web` after a bundle install. Use
`dsh --profile web --dump-config` to confirm the bundle's `# == ...` layer is
present.

### GitHub subpath (no npm)

Install one package directly from a pinned tag or commit:

```sh
dsh plugin --profile web add \
  "git+https://github.com/icedrop-lab/dsh-plugins.git#v0.1.0&path:packages/cost-meter"
```

Subpath installs fetch the built `lib/` that is committed in this repository,
so they need no build approval. Pin a tag or commit SHA; do not point at
`main`.

### GitHub Release tarballs

Every release attaches `vendor/*.tgz` and `vendor/plugins.lock.json`:

```sh
gh release download v0.2.0 -R icedrop-lab/dsh-plugins -p '*.tgz' -D vendor/
dsh plugin --profile web add --save-exact ./vendor/icedrop-lab-dsh-cost-meter-0.2.0.tgz
dsh plugin --profile web add --save-exact ./vendor/icedrop-lab-dsh-browser-use-0.1.0.tgz
```

Install the individual plugin tarballs when you are not using npm: each bundle
adds its own profile layer. The aggregate `dsh-all-*.tgz` is npm-backed — its
`package.json` depends on the individual packages by published version, so it
works after those packages are on npm. Before then, use the individual tarballs
or the Git subpath installs.

### Local development

```sh
pnpm install
pnpm aggregate
pnpm link-runtime        # link this machine's installed @deepseek-ai runtime
dsh plugin --profile web add link:$(pwd)/packages/cost-meter
```

## Layout

```
packages/<name>/        independently published plugin packages
packages/all/           aggregate bundle (generated patch + exact deps)
scripts/aggregate.mjs   regenerates root + packages/all bundles
scripts/vendor.mjs      packs vendor tarballs + SHA-256 lock
scripts/publish-targets.mjs
scripts/check-publishable.mjs
vendor/                 generated tarballs and plugins.lock.json
```

Each plugin package declares `dsh.bundle.patch` (installability) and
optionally `dsh.client` (Web browser half). No published dependency uses the
`workspace:` protocol: Git-subpath installs preserve that protocol and fail.

## Releasing

See [RELEASING.md](RELEASING.md).

## License

MIT

Install

dsh plugin --profile web add github:icedrop-lab/dsh-plugins

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source