dsh-fish-shell
在终端中运行以下命令:
dsh plugin install nathannli/dsh-fish-shell
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中执行 dsh plugin install nathannli/dsh-fish-shell 即可安装该插件,源码仓库地址为 https://github.com/nathannli/dsh-fish-shell,安装后需重启 DSH 主机方可生效。
插件介绍
部分团队更偏爱 Fish shell 的语法与开发体验,但 DSH 默认的 shell 执行器硬编码为 Bash,且面向模型的工具名称也是 bash。本插件将底层执行从 bash -c 替换为 fish -c,同时完整保留工具名称、schema、沙箱审批、超时及后台任务等所有外部契约,让偏好 Fish 的开发者无需改造上游管线。
插件同时改写前台与后台命令执行器,并注入系统提示词指导模型生成 Fish 兼容语法;持久 PTY 终端会话则刻意不做修改。配置 Babelfish 后,NAME=value、export NAME=value、NAME=$(command) 等独立 Bash 赋值会在执行前被预处理为 Fish set 语句,Fish 原生命令原样通过;翻译失败时直接中止工具调用,防止未翻译的 Bash 语法进入 shell 造成静默报错。
README 自身带有警示:该插件会因语法重写增加重试次数,且设计上明确定位为 Fish 偏好者的底层切换方案,而非通用的 Bash 兼容层。复杂内联赋值及 Babelfish 无法覆盖的语义应直接用 Fish 编写。适合已全面采用 Fish、希望 DSH 管线端到端尊重这一偏好的小团队或重度 Fish 用户,不适合寻求一键 Bash 转 Fish 迁移路径的项目。
使用场景
- 团队统一使用 Fish shell,希望 DSH 管线底层执行器也切换为 Fish
- 让模型在系统提示词引导下生成 Fish 兼容语法,替代默认 Bash 输出
- 借助 Babelfish 将 NAME=value 等常见 Bash 赋值自动转为 Fish set 命令
适合人员
- 已全面采用 Fish shell 的 DSH 日常用户
- 追求端到端 shell 体验一致的小型团队
- 熟悉 Fish 语法、不需要通用 Bash 兼容层的开发者