DeepSeek Harness 插件:在对话中直接运行 Shell 命令

前言

DeepSeek Harness(DSH)的插件化设计让开发者可以按需扩展能力。对于需要频繁在会话目录中执行 Shell 命令、查看文件状态或运行临时脚本的开发者来说,每次切换到终端窗口再复制粘贴命令比较繁琐。dsh-hint-shell 插件把终端的 ! 前缀机制搬进了 DSH 的 composer,让 Shell 命令直接在对话中运行,结果以工具交换的形式返回。

这是什么

mooling0602/dsh-hint-shell 是一个 DeepSeek Harness 客户端插件,由维护者 Mooling0602 开发。它在 DSH 的 composer 中把 ! 标记为 shell 前缀,在同一行输入命令后按回车即可在当前会话的工作目录执行,并将输出记录为一条合法的工具调用和结果,不消耗额外的 model request。

核心功能

  • Composer 中的 ! 前缀:在 composer 中输入 ! 后继续输入命令(如 !ls 或 !git status),! 后面会显示灰色提示 Enter a shell command…,确认命令被识别。
  • 命令在会话工作目录运行:命令继承当前 DSH 会话的工作目录,无需手动切换路径。
  • 输出以工具交换形式返回:命令执行结果作为 tool call 和 result 返回,模型可以在下一次请求中直接使用这些结果,无需再次执行命令。
  • 无额外 model request:! 行本身不计入 token 消耗,只有命令输出部分计入。
  • 支持 Shell 语法:支持引用、管道(|)和通配符(*),命令通过 /bin/sh -c(Linux/macOS)或 cmd.exe(Windows)执行。
  • 一个配置项:在插件安装后,Installed 页面会出现该插件的一行配置,可设置命令长度上限(默认 10,000 字符)。
  • 不影响现有行为:插件不新增按钮、不替换组件、不改变键盘行为,仅对 composer 中以 ! 开头的行生效。

安装与启用

在 DSH 的 Plugin 页面选择 Add plugin,将仓库地址粘贴到输入框:

https://github.com/Mooling0602/dsh-hint-shell

插件仓库直接打包了构建产物(index.js、client.js),无需额外构建步骤,安装后重启 DSH 即可。

通过命令行安装(适合脚本化配置):

dsh plugin --profile web add https://github.com/Mooling0602/dsh-hint-shell

更新时重复上述安装命令即可。

典型用法

  1. 确保 composer 为空。
  2. 输入 ! 并继续输入命令,例如 !ls 或 !git status。提示会确认 ! 被识别。
  3. 按 Enter 执行。

执行后,命令输出会显示在对话中,模型可以在下一次请求中看到命令及其结果。

! 的触发规则:

  • !ls → 执行 ls
  • ! ls → 执行 ls(空格被忽略)
  • ! 单独一行 → 作为普通文本发送给模型
  • hello !world → 作为普通文本,! 不会被当作前缀

超过命令长度上限的行会在执行前被拒绝。

适用场景与注意

适合需要从对话上下文直接操作文件系统、查看目录结构或运行临时脚本的开发者。例如:

  • 在项目目录中列出文件:!ls
  • 查看当前分支和改动:!git status
  • 查看最近一次提交信息:!git log -1 --oneline

注意:

  • 插件以当前 DSH 进程的权限运行,请确保插件来源可信(可查看 GitHub 仓库)。
  • 命令执行时间、输出大小等限制继承自 terminal 插件的设置(timeoutMs、maxOutputBytes)。
  • 模型看到的命令结果前会有一行标记:[run by the user via \!` prompt symbol]`,用于提示来源,并非隔离边界。

结语

dsh-hint-shell 让 Shell 命令无缝融入 DSH 对话流程,开发者无需离开 composer 即可在当前工作目录执行命令,结果直接可供模型使用。安装后重启 DSH,在 composer 中输入 ! 即可开始使用。

  • 目录页:https://www.skillhub.cn/plugins/Mooling0602/dsh-hint-shell
  • GitHub:https://github.com/Mooling0602/dsh-hint-shell
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye