前言¶
在 DSH 工作流里,经常需要把 shell 命令结果交给模型判断:查磁盘、看日志、跑构建,或连续执行几条命令后再让模型分析过程。常见做法是在外部终端运行命令,再手动复制输出给模型。
dsh-shell-command 提供两个入口:/! 用于运行一条命令并分析输出;/terminal 用于打开交互终端,并把会话记录按需引用给模型。
插件定位¶
dsh-shell-command 是 CHplus0 维护的 DeepSeek Harness(DSH)插件,采用 MIT 许可证。
它提供两个命令:
/! <command>:在会话 workspace 中运行一条 shell 命令,并把输出发送给模型分析。/terminal:打开带Session和History标签的交互式 PTY 终端,支持按需引用历史会话。
核心功能¶
/! 单命令分析¶
/! 的设计参考 Claude Code 的 ! 手势。由于 DSH 的输入触发系统只支持 / 和 @ 作为触发字符,因此这里使用 /!,而不是裸 ! 前缀。
使用 /! 时:
- 命令在当前 DSH 会话的 workspace 中运行。
- 命令输出会进行边界处理,并整理成适合模型分析的内容。
- 命令生命周期会记录到 trajectory。
需要注意:
/!需要一个已存在的模型会话;在第一次模型请求之前的首条消息中不可用。- 命令输出会发送给模型,使用前请确认命令和输出内容。
/terminal 交互终端¶
/terminal 会打开交互式 PTY 终端弹窗,包含 Session 与 History 两个标签。
会话关闭时不会自动把内容发送给模型。若该会话没有收到输入,则不会创建历史条目。若会话收到过输入,则会话记录会保存到:
<workspace>/.dsh-shell-transcripts/
在 History 标签中,可以:
- 选择一个或多个历史会话;
- 添加可选说明;
- 将选中的会话记录发送给模型分析。
终端输入行支持 ArrowUp / ArrowDown 召回之前提交的行,客户端本地保存,最多 500 条。当前不支持 Tab 补全;完整 VT100/xterm 支持计划在后续版本提供。
会话记录保留策略会保留每个 session ID 最近 10 个会话,可通过 terminalTranscriptKeep 配置。若不希望记录进入版本控制,建议将 .dsh-shell-transcripts/ 加入 .gitignore。
安装与启用¶
使用前需要:
- dsh CLI
- Node >= 22
安装命令:
dsh plugin --profile web add dsh-shell-command
安装后,在 DSH 输入框中使用 /! 或 /terminal。
典型用法¶
用 /! 分析单条命令¶
/! df -h
命令运行后,输出会发给模型,用于分析磁盘使用情况。
/! git log --oneline -10
可用于让模型查看最近提交记录。
/! npm run build
可用于把构建输出交给模型分析。
用 /terminal 查看并引用终端会话¶
- 输入:
/terminal
- 在终端中运行需要的命令。
- 点击“退出”。
- 面板进入
History标签,刚关闭的会话会被预选。 - 可选地添加说明。
- 点击“引用并分析”,将选中的会话记录发送给模型。
适用场景与注意事项¶
适合以下场景:
- 快速检查系统状态、文件、Git 状态或构建结果;
- 先执行命令,再让模型解释输出;
- 在终端中连续调试,之后把相关记录交给模型分析;
- 对比多个终端会话,让模型分析差异。
使用前注意:
- 插件会执行 shell 命令,并以当前 dsh 进程可用的权限运行;执行前请确认命令内容和运行环境。
- 安装前建议检查源码与 MIT 许可证。
/!适合需要立即分析输出的单条命令;/terminal更适合多步、探索式操作。- 关闭
/terminal不会自动发送任何内容给模型。 - 空终端会话不会产生历史条目。
- 当前不支持 Tab 补全;部分交互式全屏程序可能受终端支持限制。
获取¶
插件名:dsh-shell-command
GitHub:
https://github.com/CHplus0/dsh-shell-command
目录页:
https://www.skillhub.cn/plugins/CHplus0/dsh-shell-command