deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
在 dsh web GUI 内部列出当前 profile 已下载(已安装)的插件,并随时用按钮启用 / 禁用,不需要每次去手改 YAML 或重启服务。
入口:设置(Settings)→ 插件(Plugins)→ 已安装插件(Installed Plugins)。
package.json 中所有已下载插件(依赖),显示包名、版本、来源 spec、描述。- id: … + disabled: true 写入 profile 的 cordis.patch.yml。cordis.patch.yml 中移除对应的纯禁用行。cordis.patch.yml 的插入行写入 profile 补丁,完成接线。watchUserPatches HMR 会在文件变化后重新组合 Loader 树,因此改动立即生效、无需重启;涉及浏览器 UI 的插件刷新页面即可看到。id + disabled: true”行;带额外配置的禁用行会在 UI 提示手工编辑,不擅自删除。dsh plugin --profile web add github:Mg-K-Mn/dsh-plugin-manager
安装完成后重启 web 服务生效:
dsh web
克隆或下载本仓库后,进入仓库根目录(含 package.json 的目录)执行:
dsh plugin --profile web add .
注意:
dsh plugin add的相对路径按你执行命令时所在的目录解析,所以要在仓库根目录里用.;如果想在仓库父目录执行,则写dsh plugin --profile web add ./dsh-plugin-manager。
安装完成后重启 web 服务生效。
把插件目录放到 profile 的 node_modules 下,并在 ~/.dsh/profiles/web/cordis.patch.yml 末尾追加:
- insert:
- id: dsh-plugin-manager
name: dsh-plugin-manager
dsh 的 patch HMR 会立即挂载宿主 API,刷新浏览器页面后即可在设置 → 插件中看到标签页。
切换安装方式时避免重复接线:如果已经用方式三把
dsh-plugin-manager写进了 profile 的cordis.patch.yml,改用方式一/二时请先删除该- insert:块再重启,否则 bundle 层与 profile 补丁会各自挂载一次本插件(重复注册同一 API 路由会启动失败)。
打开 设置 → 插件 → 已安装插件:
lib/host.js):注册 /api/dsh-plugin-manager 路由。list 直接读取 profile 的 package.json、包内 cordis.patch.yml,并投影运行时 ctx.loader.entries();toggle 读写 $DSH_HOME/profiles/<profile>/cordis.patch.yml(必要时 home 层),随后轮询 Loader 树直到 dsh 的 watchUserPatches HMR 应用变化。lib/client.js):通过 exports["./client"] + dsh.client.platform === 'web' 被 web 前端加载,注册到 settings.plugins.tab 槽位(order 6,排在官方插件列表 / 插件市场之后)。dsh-plugin-manager/
├── package.json # dsh.bundle.patch + dsh.client 声明
├── cordis.patch.yml # bundle 层:插入 dsh-plugin-manager 一行
├── lib/
│ ├── host.js # Node 半:路由 + 补丁读写 + Loader 投影
│ └── client.js # 浏览器半:设置 → 插件 → 已安装插件 面板
├── README.md
└── LICENSE
webServer、loader、slots 与 watchUserPatches 行为。dsh-webui-market-plugin)或 dsh plugin --profile web add/remove。cordis.patch.yml 里有更晚应用的复杂覆盖,本插件不会自动猜测;界面会如实显示并提示手工处理。config 的条目,禁用只添加 disabled: true,不影响原配置。CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: plugin-manager。