其他
完整应用
deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:ARFCON/dsh-hub-DSH
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
把 DSH 的插件更新引擎 和自身更新检查整合进一个插件,在设置页统一查看与管理。
替代旧插件 dsh-plugin-updates(更新检查器):其功能全部并入 dsh-hub。
| 模块 | 说明 |
|---|---|
| 🛠 插件更新引擎 | 原 dsh-plugin-updates 全部功能:已装插件版本对比(npm registry / GitHub release/tag)、一键更新、批量全部更新、启用/停用、卸载(含 bundle 与 patch 清理)、Desktop 客户端内置核心包检查、客户端配套插件(assets/plugins)更新、启动自检自动修复(损坏的 package.json / cordis.patch.yml 原子写恢复、插件入口缺失修复)。原生适配 Gitee 版 DSH Desktop(my-yang-yunfan/dsh_desktop):客户端版本对比走 GitHub + Gitee 双源(与官方客户端同款端点与「取最高版本」语义,GitHub 限流时 Gitee 兜底),国内用户可直接打开 Gitee 发布页下载安装包 |
| 🔄 自身更新检查 | 从 GitHub 仓库 ARFCON/dsh-hub-DSH 读取 package.json 版本号对比本地(raw.githubusercontent + jsDelivr CDN 双源,规避 GitHub API 限流 403) |
依赖:Node.js ≥ 20、pnpm、dsh CLI。
# 在解压后的插件目录里执行
.\install.ps1
# 或指定 profile
.\install.ps1 -Profile web
./install.sh
# 或指定 profile
./install.sh web
# 把插件放到源码目录
mkdir -p ~/.dsh/plugin-src
cp -R dsh-hub ~/.dsh/plugin-src/
# 安装依赖
cd ~/.dsh/plugin-src/dsh-hub && pnpm install
# 挂载到 profile
dsh plugin --profile web add "link:$HOME/.dsh/plugin-src/dsh-hub"
安装完成后重启 DSH 服务(DSH Desktop 重启,或重启 dsh web)。
打开 设置 → 插件 → 插件中枢,总览各模块状态:
lib/
index.js 宿主端:更新引擎 + dshHub Remote 网关(9 个 Remote 方法)+ 客户端双源版本查询(queryClientRelease)
client.js 客户端:设置页「插件中枢」Tab(中枢卡片 + 插件更新列表)
typert.js Typert Remote 定义(与 index.js 的 Remote 方法同步)
维护铁律:
lib/index.js 的 methods 列表、lib/typert.js 的 invocations、lib/client.js 的 REMOTE.descriptors;lib/typert.js 不可删除(否则 RPC 404);package.json / cordis.patch.yml 一律经 writeTextSafe() 原子写入(.tmp + .bak + rename),不落半截文件;validName / isValidName 白名单;curl 一律 shell:false + -f + --ssl-no-revoke(Windows);reconcileBundles 只处理 dependencies 里读得到 package.json 的名字(不变量 #10,勿恢复 repairBundlesOrphans 逻辑)。memory-core.js(5 个 memory_* 工具)、memoryTools 注册、status() 里的 memory 字段、设置页「全局记忆」卡片与对应语言包,插件职责收窄为「更新引擎 + 自身更新检查」。mountGraphMemory Remote 方法与对应语言包,插件职责收窄为「更新引擎 + 全局记忆 + 自身更新检查」。dsh-hub 自身的激活行(旧代码补 dsh-plugin-updates,导致 dsh-hub 激活行丢失时无法自愈)dsh-hub 与 dsh-hotplug-hub(或两个来源的 dsh-hub)时,启动自检自动只保留一个 winner:本地版(link: 源)优先,同为本地/远端时版本号最高者胜出;loser 从 dsh.profile.bundles 与 cordis.patch.yml 激活行移除(不删依赖、不跑 pnpm,重启后只加载 winner)$dshAvailable 的 Windows 安装脚本残留块mishibeikejie/zat-dsh-engine)状态检测,在「插件中枢」设置页显示安装状态、版本号与安装提示;未安装时提醒并给出安装命令与仓库链接,已安装时引导用户到插件市场mishibeikejie/zat-dsh-engine 的 GitHub 仓库映射,避免客户端插件更新时因本地副本缺少 repository 字段而无法识别来源ARFCON/dsh-hub-DSH 后的配套同步收尾:publish.ps1 默认 RepoName 改为 dsh-hub-DSH(避免 PowerShell 5.1 跟随旧名 301 重定向丢 Authorization 头导致全部上传 401);PUBLISH.md 新增「上传全部 401」排查条目minimumReleaseAge 供应链策略会静默抑制 @latest 对新发布包的解析(输出 "Already up to date" 版本停留);改为先查 npm 最新版本、再用显式版本 pnpm add name@version(dshmarket 1.8.0→1.11.0 实测更新成功),并增加「版本未变化即失败」断言tags/2.0.0 必 404;下载端自动尝试 原 tag / v+tag / 去 v(实测下载成功)ARFCON/dsh-hub-DSH(原 DSH_Automatic-update-plugin),自更新源、发布脚本默认仓库、README/PUBLISH 链接全部同步my-yang-yunfan/dsh_desktop):客户端最新版本检查走 GitHub + Gitee 双源(与官方客户端 client-updater 同款端点与「取最高版本」语义,GitHub API 限流 403 时 Gitee 兜底),客户端区块显示最新版本与来源,一键打开 Gitee / GitHub 发布页CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。