dsh-fish-shell
Run the following command in DeepSeek Harness:
dsh plugin install nathannli/dsh-fish-shell
Paste the following prompt into your AI chat to install this plugin:
Run dsh plugin install nathannli/dsh-fish-shell inside your DeepSeek Harness session to install this plugin; the source repository is available at https://github.com/nathannli/dsh-fish-shell, and a DSH host restart is required after installation.
About this plugin
Some teams prefer Fish shell for its modern syntax and developer experience, yet DSHs default shell executor is hardwired to Bash and the model-facing tool carries the name bash. This plugin swaps the underlying execution from bash -c to fish -c while keeping every external contract-intact: tool name, schema, sandbox approval, timeouts, and background-job semantics remain unchanged, so Fish-preferring developers never have to rework the upstream pipeline.
Under the hood, the plugin rewrites both foreground and background command executors and injects a system-prompt directive so the model generates Fish-compatible syntax. Persistent PTY terminal sessions are deliberately left untouched. When Babelfish is configured, standalone Bash assignments such as NAME=value, export NAME=value, and NAME=$(command) are pre-processed into Fish set statements before execution, while Fish-native commands pass through unchanged. If a Babelfish translation fails, the tool call is aborted rather than letting untranslated Bash reach the shell, preventing silent runtime errors.
The README itself carries a cautionary note: the plugin should not be adopted casually because syntax rewrites can introduce extra retries, and the design explicitly avoids being a general-purpose Bash compatibility layer. Complex inline assignments and semantics outside Babelfishs coverage should be authored directly in Fish. This makes the plugin a fit for small teams or heavy Fish users who have already standardized on that shell and want the DSH pipeline to honor that preference end-to-end, rather than for projects looking for a drop-in Bash-to-Fish migration path.
Use Cases
- Team standardized on Fish shell and wants the DSH executor to run commands via Fish
- Guide the model to emit Fish-compatible syntax through a system-prompt directive instead of default Bash
- Auto-translate common Bash assignments such as NAME=value into Fish set commands via Babelfish
Best For
- DSH users who have fully adopted Fish shell as their daily driver
- Small teams seeking end-to-end shell consistency across the pipeline
- Developers fluent in Fish syntax who do not need a general-purpose Bash compatibility layer
Related Plugins
A service-oriented sidebar framework for DSH, offering a full workbench with file explorer, embedded browser, real terminal, Git panel, and extensible plugin services.
A beautiful, practical Claude Code-style TUI plugin with pixel whale top bar, flowing glow title, real-time status line, streaming thought expansion, time rewind, context progress bar and TPS gauge — zero core changes.
The plugin market for DeepSeek Harness: browse/search/one-click install community plugins and themes, with updates, backup/restore, hot disable, diagnostics, and AI fix.
A persistent whale widget on the DSH web UI that shows DeepSeek balance, today's usage, and per-turn cost, with drag-and-snap and sound effects.