dsh-web-search-ddg
aooyoo
Zero-token DuckDuckGo search provider for the DeepSeek Harness (DSH) web seam — local headless browser, no API key, no m…
PROJECT TOPICS
PROJECT README
DSH 插件管理器:粘贴 GitHub 链接,校验后一键安装,并对已装插件做更新 / 删除 / 启停全生命周期管理,支持后台自动更新。
解决什么问题:DeepSeek Harness 的插件默认只能通过 dsh plugin --profile web add <包> 命令行安装。dsh-pluginmgmt 在 Web GUI 里加了一个「插件管理」设置页,让你:
适合谁:所有 DSH 用户。核心价值有两块——安装更省事(粘贴 GitHub 链接即可,不用记 dsh plugin 命令)和管理更省心(更新 / 删除 / 启停 / 查更新 / 自动更新都在一个图形界面里完成,不用手改 profile 配置)。尤其适合不想记命令、需要集中管理多个插件的人。
| 工具 | 说明 |
|---|---|
plugin_install |
从 GitHub 链接安装插件(先校验 bundle / 纯 cordis,再 pnpm 安装) |
plugin_list |
列出 web profile 已装插件(bundle / 纯 cordis / npm,含运行态) |
plugin_remove |
卸载插件(pnpm rm + 层栈 reconcile + 清理 cordis insert) |
plugin_update |
更新插件(git 源对比最新 commit 重装;npm 源 pnpm up --latest) |
plugin_check_updates |
检查插件是否有新版本(npm 源 + git 源) |
plugin_auto_update |
立即检查并自动更新所有可更新插件 |
plugin_set_auto_update |
开启/关闭后台自动更新 |
@deepseek-ai/* ^0.1.0-rc.6(由 profile 闭包注入,插件 dependencies 声明为空)。0.1.0-rc.6(npm 发行版)、Node 22。dsh plugin --profile web add dsh-pluginmgmt
dsh plugin --profile web add "github:zebbkira/dsh-pluginmgmt#<ref>"
装完重启 dsh web 生效(bundle 层栈在 boot 合成)。
推荐在设置页「插件管理」里点「更新」按钮(内部用 pnpm up --latest)。命令行等价:
dsh plugin --profile web add dsh-pluginmgmt@latest
注意:
dsh plugin --profile web update <名>(即pnpm up)对精确锁定的版本号(如0.1.0)不会升级,需用上面带@latest或pnpm up --latest的形式。
设置页「插件管理」里点「禁用」,或手改 ~/.dsh/profiles/web/cordis.patch.yml 中 - id: ui-dsh-pluginmgmt 的 disabled: true/false。
dsh plugin --profile web remove dsh-pluginmgmt
零配置可用:
dsh plugin --profile web add dsh-pluginmgmt → 重启 dsh web。https://github.com/omdsh-dev/dsh-annotation → 点「校验」→ 看到「bundle · commit …」结论 → 点「安装」。可复现示例:第 3 步换成任意 dsh 插件仓库链接即可(例如 https://github.com/zebbkira/dsh-skills-mcp-manager)。
配置存 ~/.dsh/dsh-pluginmgmt.json(权限 0600):
| 配置项 | 默认值 | 说明 |
|---|---|---|
settings.autoUpdate |
false |
是否后台自动更新 |
settings.autoUpdateIntervalMin |
30 |
自动更新检查间隔(分钟) |
DSH_HOME(默认 ~/.dsh)。~/.dsh/profiles/web/package.json(依赖 + bundle 层栈)、~/.dsh/profiles/web/cordis.patch.yml(insert 行 + 启停)、~/.dsh/dsh-pluginmgmt.json(登记簿 + 设置)。安装 / 更新 / 删除时调用 pnpm,由 pnpm 写 node_modules 与锁文件。git ls-remote 与 raw.githubusercontent.com(校验)、npm registry / codeload.github.com(经 pnpm 安装)。不是 dsh 插件 → 仓库 package.json 既无 dsh.bundle 也无 cordis 入口(main / exports)。pnpm 阻止了构建脚本 → 按提示把该依赖加入 profile pnpm-workspace.yaml 的 allowBuilds 后重试。plugin tree failed to load、loader: load plugin …)。dsh plugin --profile web remove dsh-pluginmgmt;已装 git 源插件可重新安装旧 ref 回滚。pnpm install
pnpm run build # tsdown + wrap-client,产物在 lib/
pnpm test # vitest
pnpm run gates # 机械门禁 + 自测
贡献:fork → 改 → 门禁 + 测试通过 → PR。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。