dsh-plugins
mikulo 的 DSH 插件清单 + 一键安装脚本:node install.mjs --profile web [--reinstall]
- Stars
- 0
- Language
- JavaScript
- Created
- Sep 24, 2026
- Updated
- Oct 1, 2026
Introduction
dsh-plugins — mikulo 的 DSH 插件清单
这里列出我自己维护的 DeepSeek Harness(DSH) 插件,并提供一键批量安装脚本。
DSH 目前还是 alpha 版本,升级时经常有破坏式更新,升级后往往要把插件重装一遍。有了这个清单,一条命令就能把全部插件装回来,不用一个个找仓库地址。
给 AI 助手: 如果你被要求"安装 / 重装清单里的插件",请先阅读 AGENTS.md,按其中的步骤执行。
插件清单
| 插件 | 仓库 | 说明 |
|---|---|---|
@mikulo/dsh-thinking-effort | mikulo/dsh-thinking-effort | 为 llm-pi-ai 第三方模型补充可配置的思考强度档位,并设置子 agent 默认思考强度 |
@mikulo/dsh-easyrewrite | mikulo/dsh-easyrewrite | DSH Web 消息撤回、气泡原位编辑、版本翻页器 |
@mikulo/dsh-ssh | mikulo/dsh-ssh | SSH 主机管理、Web 终端、SFTP、端口转发、集群执行、ssh_* Agent 工具,以及「远程WEB」:经自建中继服务端从手机 / 浏览器查看本机对话并发送指令 |
@mikulo/dsh-prompt-switcher | mikulo/dsh-prompt-switcher | 新对话中输入 / 选择本地 .md 提示词模板,约束力等同于 AGENTS.md 并对整个对话生效;支持全局提示词、{{env:变量名}} 环境变量替换,通过 WebDAV 同步模板和环境变量文件,以及可选的删除对话(对话菜单「删除对话」、视图选项「删除所有已归档」) |
@mikulo/dsh-translator | mikulo/dsh-translator | AI 每段回复(不含思维链)右下方增加「翻译」和「替换原文」按钮:用已配置的模型翻译成所选语言,译文显示在原文下方,或在原处替换显示(只改变显示,不影响对话上下文) |
机器可读的清单在 plugins.json,安装脚本读的就是它。
一键安装
前提:已安装 DSH(dsh --version 能输出版本号)、Git,并且至少启动过一次目标 profile。
git clone https://github.com/mikulo/dsh-plugins.git
cd dsh-plugins
node install.mjs --profile web
不想克隆仓库,也可以直接从 GitHub 运行(脚本会在线读取 plugins.json):
curl -fsSL https://raw.githubusercontent.com/mikulo/dsh-plugins/main/install.mjs | node --input-type=module - --profile web
Windows PowerShell:
irm https://raw.githubusercontent.com/mikulo/dsh-plugins/main/install.mjs | node --input-type=module - --profile web
完成后重启 dsh web 并刷新页面。
常用参数
| 参数 | 作用 |
|---|---|
--profile <name> | 目标 profile,默认 web |
--reinstall | 先卸载再安装。DSH 升级后推荐用这个 |
--only dsh-ssh,dsh-easyrewrite | 只处理部分插件(可写短名或完整包名) |
--dry-run | 只打印将要执行的命令,不做修改 |
--git-proxy http://127.0.0.1:7891 | 为 github.com 设置 git 代理(git 直连不上 GitHub 时用) |
--list | 列出清单 |
不加 --reinstall 时是"同步"模式:没装的装上,已装的更新到 main 分支最新提交。
脚本会做什么
- 检查
dsh、git,以及 git 能否访问 GitHub; - 如果 profile 里还装着这些插件被取代的上游旧包(如
@hytime/dsh-thinking-effort、@linxin666/dsh-ssh),先移除,并把cordis.patch.yml里旧包名的条目改成新包名,保留原有设置(改写前会备份); - 通过官方
dsh plugin --profile <p> add / update / remove安装或更新,不手工改 profile 文件; - 用
dsh --profile <p> --dump-config确认每个插件都已挂进 profile。
手动安装(不用脚本)
dsh plugin --profile web add github:mikulo/dsh-thinking-effort github:mikulo/dsh-easyrewrite github:mikulo/dsh-ssh github:mikulo/dsh-prompt-switcher github:mikulo/dsh-translator
更新:dsh plugin --profile web update @mikulo/dsh-ssh;卸载:dsh plugin --profile web remove @mikulo/dsh-ssh。
常见问题
git ls-remote failed/Failed to connect to github.com:git 默认不走系统代理。加--git-proxy http://127.0.0.1:<端口>重跑,或执行git config --global http.https://github.com.proxy http://127.0.0.1:<端口>。- 安装日志里有
cpu-features ... Unable to detect compiler type:这是 ssh2 的可选原生加速模块,没有 C++ 编译器时编译失败,不影响使用。 Issues with peer dependencies found:插件依赖的 DSH SDK 由宿主运行时提供,这条警告可以忽略。- 重装后插件不生效:确认已经重启
dsh web;再看dsh --profile web --dump-config里有没有对应的# == @mikulo/...段落。
往清单里加插件
- 插件仓库需要满足:
package.json有dsh.bundle.patch,构建好的lib/已提交到仓库,且没有prepare/prepack这类安装时构建的脚本; - 在
plugins.json的plugins数组里追加一项(字段说明见 AGENTS.md); - 同步更新上面的"插件清单"表格;
- 用
node install.mjs --profile web --only <新插件>实测一次,再提交推送。