dshbase

插件目录 / Developer / dsh-fish-shell

dsh-fish-shell

已验证 · 实测可装 nathannli

✓ 持续维护

查看 GitHub ↗ ← 返回插件目录

0Stars
0Forks
0未关闭 issue
—语言
2026-08-19最近推送
跨平台平台

功能简介

DeepSeek Harness plugin that runs bash-tool commands with Fish.

✅
我们的评价
可用 — 实测通过,早期项目

DeepSeek Harness plugin that runs bash-tool commands with Fish. 实测能干净安装、正常启动。早期项目,但功能可用。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

README

dsh-fish-shell

do not use. it simply causes more retries due to syntax rewrites

A DeepSeek Harness (DSH) profile plugin that runs commands submitted through the model-facing bash tool with Fish instead:

bash tool call → fish -c <command>

The public tool remains named bash so its existing schema, presentation, sandbox approval, output, timeout, and background-job contracts remain intact. The plugin adds a system-prompt note instructing the agent to use Fish-compatible syntax.

It updates both foreground and background commands. When DSH mounts its sandboxing shell executor, it also changes the inner confined command from bash -c to fish -c. Persistent PTY terminal sessions are not changed.

When configured with Babelfish, it preprocesses commands containing standalone Bash assignments before Fish runs them. For example, NAME=value, export NAME=value, and NAME=$(command) become Fish set commands. Fish-native commands are left unchanged. Babelfish failures stop the tool call instead of executing untranslated Bash.

Dependency

Bash-assignment translation depends on Babelfish. It is optional: omit babelfishPath to run Fish directly without Bash translation.

Configuration

By default, the plugin uses $SHELL when it ends in /fish; otherwise it runs fish from PATH. On this system $SHELL is /opt/homebrew/bin/fish, so the default resolves to that absolute path.

Set explicit executable paths in the profile patch if needed:

- id: fish-shell
  config:
    fishPath: /opt/homebrew/bin/fish
    babelfishPath: /opt/homebrew/bin/babelfish

babelfishPath is optional. Without it, the plugin runs Fish directly and does not rewrite Bash syntax. Install Babelfish with brew install babelfish.

This is deliberately not a general Bash compatibility layer. Complex Bash syntax, inline environment assignments such as NAME=value command, and semantics Babelfish cannot translate should be written directly in Fish.

Install

From this repository:

dsh plugin --profile web add "$PWD"

Restart the DSH host after installation. A restart is required because this is a server-side shell-executor plugin; client-plugin HMR does not reload it.

To remove it:

dsh plugin --profile web remove dsh-fish-shell

Test

npm test

Compatibility

Tested against DSH 0.1.0-rc.6. The plugin requires DSH's local bash-compatible shell executor (runArgv and startArgv).

License

MIT

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-fish-shell」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:nathannli/dsh-fish-shell

Headless(CLI)profile:

dsh plugin --profile headless add github:nathannli/dsh-fish-shell

实测报告

验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7819 个插件 →