DeepSeek Harness 插件源怎么配:索引源、插件仓库与更新源的三种切换方法与失效排查
「插件源」至少有三层:索引源、分发源、更新源。 混着说,就会出现「市场搜不到」「命令装不上」「更新没反应」三种看似无关的问题。
三层「源」不是一回事
先分开,再配置。
| 层 | 管什么 | 出问题的表现 | 常见位置 |
|---|---|---|---|
| 索引源 | 市场能搜到什么 | 搜不到、分类缺失 | 插件市场设置 |
| 分发源 | 从哪里下载安装包 | 安装失败、版本不对 | npm / GitHub / 本地 |
| 更新源 | 升级从哪里拉 | 提示无更新、更新回旧版 | profile 依赖 |
索引源决定「发现」。 它不负责安装,只影响搜索结果与分类;搜不到不代表包不存在。
分发源决定「安装」。 npm、GitHub 与本地目录三种,装的是同一类插件,但构建与授权流程不同。
更新源决定「升级」。 它记录在 profile 的依赖里,升级时按记录的来源拉取;改过来源,更新行为也会变。
索引源:Hub 收录了什么
Hub 的搜索来自索引,不是实时抓取。 新仓库到被收录之间有时间差(来源)。
- 在 Hub 搜索插件名,看结果条数与分类。
- 搜不到时换中文名、英文名、包名三种写法。
- 三种都搜不到,去 GitHub topic 或 npm 按包名核对。
- 仓库存在但市场没有,属于索引未同步或未收录。
- 需要立即安装时,走自定义安装或命令行。
索引源不需要频繁切换。 默认源覆盖大多数插件;切换索引源会改变搜索范围,也容易引入重复条目。
索引滞后不是故障。 它有自己的更新节奏;急着用就走分发源,不要等索引。
分发源:npm、GitHub 与本地
分发源决定安装方式,三种各有前提。
- npm: 包已发布、带构建产物,一条
add 包名即可;最省心。 - GitHub: 装的是源码,需要作者提供
prepare构建脚本,用户还要授权构建;适合尝鲜或没发 npm 的插件。 - 本地目录: 用
add ./目录链接进 profile,适合改源码调试。 - tarball: 适合内部分发与离线安装;版本可控,但要自己管理文件。
GitHub 源最容易卡在构建。 pnpm 默认拒绝执行构建脚本,需要把包名加入允许列表;否则装上了也没有产物(来源)。
本地目录是链接,不是复制。 改源码后重启即可生效;改了依赖要重新 add。
更新源:profile 里记录了什么
升级不是「再装一次」,而是按 profile 记录的来源拉新版本。
- 查看 profile 依赖里该插件的来源与版本。
- 确认来源仍是你要用的那个;换过源的要重新记录。
- 执行更新,观察是否拉到目标版本。
- 更新后核对版本号,再看功能是否正常。
- 需要锁版本时,固定版本号而不是跟随最新。
来源与版本是两条信息。 来源决定从哪拉,版本决定拉哪个;只改其中一个,行为可能不符合预期。
换源后要重新记录。 从 npm 换到 GitHub,profile 里仍是旧来源,更新会继续走旧地址。
切换与优先级
切换顺序建议:先分发源,再更新源,最后才动索引源。
- 先确认分发源可用: 能装上一个已知插件,说明下载链路通。
- 再确认更新源正确: profile 里记录的来源与版本符合预期。
- 最后才换索引源: 索引只影响发现,不影响已安装插件。
- 一次只换一层: 同时换索引与镜像,问题无法归因。
- 换完做对照: 用同一个插件搜索、安装、更新各一次。
索引源优先级最低。 它不改变已装插件的行为;把它当第一顺位排查,方向就错了。
多个源同时启用会重复。 搜索结果重复、版本混淆;只保留一个主索引源。
源失效排查
四类失效,按层定位。
- 搜不到: 索引未同步或未收录;去仓库与 npm 核对是否存在。
- 装不上: 分发源不可达、包名错误、构建被拒;看安装日志的阶段。
- 更新无提示: 镜像滞后、更新源指向旧地址、版本被锁定。
- 更新回旧版: 源里 latest 标签落后,或 profile 锁定了旧版本。
排查先看日志阶段。 下载、解包、构建、写入,四个阶段对应不同原因;只看「失败」两个字没有用。
镜像不是万能。 它只加速下载;索引与版本发现仍取决于源本身。
安全边界
换源会改变信任链。 三条底线不变。
- 核对来源: 包名、owner 与版本三样对齐,再安装。
- 镜像要可信: 优先官方 registry 或组织内部镜像;来源不明的镜像不要用。
- 构建授权要谨慎: GitHub 源的构建脚本会执行代码,只对可信插件开放。
源越多,攻击面越大。 能用一个源解决,就不要叠加;需要镜像时,确认它原样同步。
下一步
先分层,再换源,最后看日志。 想看三种安装来源的对比,看《DeepSeek Harness 插件从哪里安装》;想看本地目录安装,看《dsh plugin add 本地目录怎么装》;想看市场索引,看《DeepSeek Harness 插件市场有多少插件》。
来源:DSH Plugin Hub 2.2.5 界面截图索引、dsh CLI README、DeepSeek Harness 官方文档 - 打包与安装插件
常见问题
插件源、索引源、更新源不是同一件事。索引源负责发现(Hub 收录什么),分发源负责安装(npm、GitHub、本地),更新源负责升级(profile 里记录的依赖来源)。
市场里搜不到某个插件,先在 GitHub 或 npm 按包名搜一次。仓库存在但市场搜不到,多半是索引未同步或未收录;仓库也不存在,才是插件本身没有。
换了 npm 镜像后安装变快但更新提示没有新版本,是因为镜像影响下载,不影响索引与版本发现。镜像可能滞后,或插件更新源仍指向旧地址。
同时配置多个插件源时,先按来源精确匹配,再回退到默认源;同名包来自不同源时,以 profile 实际记录的来源为准。不要同时启用多个索引源。
相关术语
- 索引源
- 索引源是插件市场用来发现插件的来源,决定哪些仓库或包会出现在搜索结果里。— DSH Plugin Hub 2.2.5 界面截图索引
- 分发源
- 分发源是插件的实际安装来源,包括 npm registry、GitHub 仓库与本地目录或 tarball。— DeepSeek Harness 官方文档
- 更新源
- 更新源是 profile 记录的依赖来源,决定升级时从哪里拉取新版本。— dsh CLI README
- 镜像
- 镜像是 registry 的第三方副本,可能滞后或缺少部分包;用于加速下载,不改变插件本身的索引与语义。— dsh CLI README
来源
- DSH Plugin Hub 2.2.5 界面截图索引· dsh-plugin.org
- dsh CLI README· deepseek-ai
- DeepSeek Harness 官方文档 - 打包与安装插件· deepseek-ai