DeepSeek Harness plugin

dsh-plugins-riesbri

Personal DeepSeek Harness plugin bundle

Jump to install

Source facts

Repository
riesbri/dsh-plugins
Latest update
Aug 16, 2026
Category
Tools & Capabilities
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/riesbri/dsh-plugins
Plugin: dsh-plugins-riesbri
Author: riesbri

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-plugins-riesbri

Personal DeepSeek Harness plugin bundle.

Install

dsh plugin --profile web add github:riesbri/dsh-plugins

Or from a local checkout:

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:

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.

ParameterTypeNotes
pathstring, requiredA relative path resolves against the calling agent's session workspace, not the server's launch directory.
limitintegerDefaults 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:

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)