返回目录
开发工具 插件

oh-my-dsh-plugins

weekitmo/oh-my-dsh-plugins

A curated collection of awesome plugins for DeepSeek Harness (DSH) — task notifications, LLM trace inspection, keybindings with a built-in terminal, and local agent delegation.

Stars
10
Forks
1
Issues
0
更新
5 天前

PROJECT TOPICS

项目标签

INSTALL REFERENCE

安装参考

未验证
dsh plugin --profile web add github:weekitmo/oh-my-dsh-plugins

该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。

PROJECT README

README

oh-my-dsh-plugins

v0.1.4 起,本仓库发布物面向 DeepSeek Harness >=0.1.5-rc.2。如果你的 DSH 版本低于 0.1.5-rc.2,请使用旧版发布物 v0.1.3,不要把当前 release 的 tarball 安装到旧 profile。

v0.1.5 修复了 @weekit/dsh-trace@weekit/dsh-delegate-agent0.1.5-rc.2 下 RPC 通道无法注册、浏览器侧始终 HTTP 405 的问题(两个插件改用受鉴权的共享 /api 通道);0.1.5-rc.2 用户建议升级。

v0.1.6 修复了 @weekit/dsh-notify 浏览器通知完全不出现在 0.1.5-rc.2 + 源码树运行环境下的问题(根因是客户端收敛窗口把裸 setTimeout 当方法调用,浏览器抛 TypeError: Illegal invocation,Node 测试无法发现),并新增等待授权通知与按结果区分的音效。

插件

插件 包名 功能
通知 @weekit/dsh-notify 桌面、浏览器标题、侧边栏任务状态通知,等待授权提醒与结果音效
请求追踪 @weekit/dsh-trace 检查脱敏后的 LLM HTTP 请求与响应
快捷键与终端 @weekit/dsh-keybinding Web 快捷键管理和本地交互终端
Agent 委派 @weekit/dsh-delegate-agent 在 DSH Web 中调度本机 Pi、Codex 和 Grok CLI

安装

环境要求:已安装 DeepSeek Harness,且 dshpnpm 位于 PATH。安装器支持 curlwget,并使用系统中的 sha256sumshasumopenssl 校验下载内容。

一键安装全部插件

直接执行 GitHub 最新 Release 中的安装器。不指定插件时,默认安装全部四个插件到 web profile:

curl -fsSL https://github.com/weekitmo/oh-my-dsh-plugins/releases/latest/download/install.sh | sh

使用 wget:

wget -qO- https://github.com/weekitmo/oh-my-dsh-plugins/releases/latest/download/install.sh | sh

单独安装

通过 sh -s -- 把 scoped 包名传给安装器:

curl -fsSL https://github.com/weekitmo/oh-my-dsh-plugins/releases/latest/download/install.sh | sh -s -- @weekit/dsh-notify
curl -fsSL https://github.com/weekitmo/oh-my-dsh-plugins/releases/latest/download/install.sh | sh -s -- @weekit/dsh-trace
curl -fsSL https://github.com/weekitmo/oh-my-dsh-plugins/releases/latest/download/install.sh | sh -s -- @weekit/dsh-keybinding
curl -fsSL https://github.com/weekitmo/oh-my-dsh-plugins/releases/latest/download/install.sh | sh -s -- @weekit/dsh-delegate-agent

指定 Profile

curl -fsSL https://github.com/weekitmo/oh-my-dsh-plugins/releases/latest/download/install.sh | sh -s -- all --profile my-profile

也可以组合单插件与 profile:

curl -fsSL https://github.com/weekitmo/oh-my-dsh-plugins/releases/latest/download/install.sh | sh -s -- @weekit/dsh-trace --profile my-profile

固定 Release 版本

固定版本时,安装器和插件产物应来自同一个 tag:

curl -fsSL https://github.com/weekitmo/oh-my-dsh-plugins/releases/download/v0.1.4/install.sh | sh -s -- all --version v0.1.4

安装器从对应 GitHub Release 下载 dsh-notify.tgzdsh-trace.tgzdsh-keybinding.tgzdsh-delegate-agent.tgz,按 SHA256SUMS 校验后缓存到 ${DSH_HOME:-~/.dsh}/plugins-cache/oh-my-dsh-plugins/<tag>/,再加入指定 DSH profile。可以通过 DSH_PLUGIN_CACHE 改变缓存根目录。

从旧独立仓库版本迁移时,如果 profile 中已经安装过未 scoped 的 dsh-notifydsh-tracedsh-delegate-agent,先按实际存在的旧包执行:

dsh plugin --profile web remove dsh-notify
dsh plugin --profile web remove dsh-trace
dsh plugin --profile web remove dsh-delegate-agent

然后再运行新的 Release 安装命令。新版本在 profile 中统一使用 @weekit/ scoped 包名。

从源码安装

开发 checkout 可以直接构建并安装本地目录:

pnpm install --frozen-lockfile
pnpm --filter @weekit/dsh-trace build
dsh plugin --profile web add ./plugins/dsh-trace

每个插件的功能和配置细节见对应目录中的 README。

开发

环境要求:Node.js ^22.19.0 || >=24.0.0、pnpm 11.7.0

pnpm install --frozen-lockfile
pnpm check

常用命令:

pnpm build       # 构建全部插件
pnpm test        # 测试全部插件
pnpm typecheck   # 类型检查全部插件
pnpm clean       # 删除全部插件生成的 lib 和 tsbuildinfo

也可以只操作一个插件:

pnpm --filter @weekit/dsh-trace check
pnpm --filter @weekit/dsh-keybinding build
pnpm --filter @weekit/dsh-delegate-agent check

构建产物统一写入各插件的 lib/lib/ 仅用于本地运行和打包,由 Git 忽略,CI 会从源码重新构建。

发布

推送集合级 SemVer tag 会触发 Release workflow

git tag -a v0.1.0 -m "oh-my-dsh-plugins v0.1.0"
git push origin v0.1.0

workflow 会完成全量检查,构建并打包四个插件,然后发布以下 GitHub Release 资产:

  • install.sh
  • SHA256SUMS
  • dsh-notify.tgz
  • dsh-trace.tgz
  • dsh-keybinding.tgz
  • dsh-delegate-agent.tgz

四个 tarball 内包含对应插件的 lib/,但 lib/ 和根 release/ 均不会提交到 Git。

扩展插件

新插件放入 plugins/<plugin-name>,并提供 buildtesttypecheckcheck 脚本。根 workspace 会自动发现 plugins/*;同时需要把包名加入 CI 插件矩阵,并把目录加入根 install.sh 的目标列表。

CLASSIFICATION EVIDENCE

分类依据

项目类型插件
功能分类开发工具
规则置信度

系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: terminal。