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
一个 DeepSeek Harness(dsh)插件市场 bundle 插件:在 Web UI 左侧「设置」上方新增「插件市场」入口(同时集成到 设置 → 插件 → 插件市场 标签页),分页浏览 GitHub dsh-plugin topic 里的全部插件,支持搜索、一键安装与实时进度。



喂给 AI 的一句话(AI 具备命令执行能力即可,无需解释):
安装 dsh-plugin-market:运行
dsh plugin --profile web add github:TheYoungChen/dsh-plugin-market,然后重启dsh web。
或者直接复制命令:
dsh plugin --profile web add github:TheYoungChen/dsh-plugin-market && dsh web
本插件无
prepare构建脚本、lib/已预编译,git 安装零额外构建;安装完成后重启 dsh 生效。
dsh-plugin topic 全部插件,按 star 排序,关键字搜索,每页 20 条,带「刷新」按钮registry.json(jsDelivr CDN 分发,国内快),终端零 API 调用、零限流;索引不可用时自动回退搜索 APIrepository 归属校验,已装的插件置顶;自动对比最新版本,有新版显示「更新」按钮,一键覆盖升级pnpm add github:<owner/repo>(等价于官方 dsh plugin add),自动把声明 dsh.bundle 的依赖 reconcile 进 dsh.profile.bundles 层栈市场按仓库根文件自动识别类型并打上徽章,安装时走对应方式:
| 类型 | 判定 | 安装方式 |
|---|---|---|
| 插件 | 根目录含 package.json |
pnpm add 进 profile(官方路径) |
| Skill | 根目录含 SKILL.md |
克隆到 ~/.dsh/skills/<名>/ |
| 预设 | preset.yml / agent.cordis.yml |
克隆到 ~/.dsh/.agent-presets/<名>/ |
| 脚本 | install.sh / install.ps1 |
克隆后执行安装脚本(需确认信任) |
src/index.ts):在宿主注册同源路由 /api/plugin-market/*。安装时在 $DSH_HOME/profiles/web 里 spawn pnpm add github:<owner/repo>,并把声明 dsh.bundle 的依赖 reconcile 进 dsh.profile.bundles 层栈;进度通过轮询 GET /api/plugin-market/job/<id> 返回,POST /api/plugin-market/job/<id>/cancel 可终止进程树。src/client/):注册 sidebar.footer.action 与 settings.plugins.tab 槽位;MarketBrowser 是共享的浏览/安装组件,installStore 管理前后台安装任务,后台任务以右上角 toast 呈现。两者都只用官方机制(bundle 层栈 + 用户 patch 层 + webServer 路由),不改官方仓库、不依赖私有内部包。
github:<owner/repo>,装进 web profile,重启 dsh 后生效(bundle 插件进层栈,配置在启动时解析)。prepare),pnpm ≥10 默认拦截:进度里报 allowBuilds 时,按提示把对应 key 加进 ~/.dsh/profiles/web/pnpm-workspace.yaml 再重装。cd dsh-plugin-market
pnpm install # 装 tsdown / react / @types/react 等 devDeps
pnpm build # 产出 lib/index.mjs + lib/index.js
tsdown.config.ts 是自包含的(不引用官方 monorepo preset):node half 走 ESM、client half 走 window.__ModuleLoader__.load 的 CJS 包裹。
cordis.patch.yml # insert 一行:挂载本包(ui-plugin-market)
package.json # dsh.bundle + dsh.client manifest
tsdown.config.ts # 自包含构建(node ESM + client CJS)
src/index.ts # node half:/api/plugin-market 安装/进度/取消路由
src/client/index.ts # client half:注册 sidebar.footer.action + settings.plugins.tab
src/client/PluginMarketPanel.tsx # 侧边栏入口 + 市场弹窗 + 后台安装 toast
src/client/MarketBrowser.tsx # 共享浏览组件(搜索/分页/确认/进度弹窗)
src/client/MarketSettingsTab.tsx # 设置页标签页包装
src/client/installStore.ts # 前后台安装任务状态管理
src/client/github.ts # GitHub dsh-plugin topic 拉取
src/client/api.ts # 安装 + 进度轮询 + 取消
src/client/locales.ts # 中英文案
update-registry)。package.json,受未鉴权速率限制(约 60 次/小时)。MIT — Copyright (c) 2025 TheYoungChen
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。