Bundle
dsh-plugins-riesbri
Personal DeepSeek Harness plugin bundle
- Source
- riesbri
- License
- MIT
- Updated
- Updated 22 days ago
Readme
# dsh-plugins-riesbri Personal [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) plugin bundle. ## Install ```sh dsh plugin --profile web add github:riesbri/dsh-plugins ``` Or from a local checkout: ```sh dsh plugin --profile web add /path/to/dsh-plugins ``` `dsh plugin` appends the bundle to the profile's `dsh.profile.bundles`, so its layer applies after `@deepseek-ai/dsh-base` and any mode bundle. Confirm with: ```sh dsh --profile web --dump-config # shows a "# == dsh-plugins-riesbri" layer ``` Remove with `dsh plugin --profile web remove dsh-plugins-riesbri`. This package ships plain ESM JavaScript with no build step, so a `github:` install needs no `prepare` script and no pnpm `allowBuilds` entry. ## What it contributes ### `list_dir` Lists the direct children of a directory — names, types, and sizes only, never file contents. The harness filesystem seam has exposed `ctx.fs.listDir` since the beginning with no model-facing Consumer; `@deepseek-ai/dsh-tool-fs` records the gap under its known limitations as *"No model-facing directory listing ships"*. Without it the model reaches directory structure only through `bash ls` — unstructured, and subject to whatever shell sandbox the deployment mounts — or through `glob`, which is pattern-driven rather than hierarchical. Because it is a Consumer of the seam rather than a shell-out, listing follows whichever filesystem provider the deployment mounted: local, sandboxed, or remote. | Parameter | Type | Notes | | --- | --- | --- | | `path` | string, required | A relative path resolves against the calling agent's session workspace, not the server's launch directory. | | `limit` | integer | Defaults to 200, clamped to 1000. A truncated listing says so in its last line. | The tool registers globally, so it reaches every agent regardless of the agent preset a session selects — a preset row of the same name would shadow it, but no shipped preset defines one. ## Machine-local configuration `dsh-home/cordis.patch.yml` is the home patch layer, symlinked into place: ```sh ln -s "$PWD/dsh-home/cordis.patch.yml" ~/.dsh/cordis.patch.yml ``` It applies to every profile, after that profile's bundle layers and before any `--patch` overlay, and is hot-reloaded on save. It currently enables session content search: the base bundle mounts the session-query index with `path: ':memory:'` and `openAt: never`, so every full-text call fails `SESSION_QUERY_SEARCH_DISABLED` and the Web sidebar matches titles and workspace names only. A durable path with `openAt: first-search` keeps the `node:sqlite` import and the file handle off the startup path. Remember that a patch replaces the targeted row's whole `config` rather than merging into it, so every key the row needs is restated there. ## Layout ``` package.json declares dsh.bundle cordis.patch.yml the layer applied when a profile lists this bundle index.js plugin entry: name, inject, apply src/list-dir.js the tool dsh-home/cordis.patch.yml machine-local home patch layer (symlinked to ~/.dsh) ``` ## License [MIT](LICENSE)
Install
dsh plugin --profile web add github:riesbri/dsh-plugins
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-plugins-riesbri from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.