先说明来意:我是来投稿插件的,按 README「提交你的插件」给我的仓库加了 dsh-plugin topic,等了两轮刷新都没出现,顺藤摸瓜查到了下面的问题。所以这个 issue 不是「我的插件没被收录」,而是一个会影响所有新插件的同步故障。
现象
Sync plugins to D1 自 2026-09-03 起,每天定时运行都是 cancelled,最后一次成功是 2026-09-02T07:07:43Z(run 33602047675),至今已 11 天。
拉取了最近 35 次运行:cancelled 25 次、success 9 次、failure 1 次。
2026-09-13T07:29:35Z schedule cancelled
2026-09-12T07:11:06Z schedule cancelled
2026-09-11T07:18:38Z schedule cancelled
2026-09-10T07:19:54Z schedule cancelled
2026-09-09T07:24:51Z schedule cancelled
2026-09-08T07:16:01Z schedule cancelled
2026-09-07T07:21:23Z schedule cancelled
2026-09-06T07:08:55Z schedule cancelled
2026-09-05T06:57:13Z schedule cancelled
2026-09-04T07:15:30Z schedule cancelled
2026-09-03T07:12:04Z schedule cancelled
2026-09-02T07:07:43Z schedule success ← 最后一次成功
卡在哪一步
每次都是同一个位置(以今天的 run 34745362396 为例,job 从 07:29:38Z 跑到 07:49:54Z,正好吃满 timeout-minutes: 20):
step: Set up job -> success
step: Run actions/checkout@v4 -> success
step: Run pnpm/action-setup@v4 -> success
step: Run actions/setup-node@v4 -> success
step: Run pnpm install --frozen-lockfile -> success
step: Run pnpm sync:db --skip-contributors -> success
step: Run pnpm probe:install --deadline 8 -> cancelled ← 断点
step: Run pnpm gen:plugins -> skipped
step: Generate api-edge catalog artifacts -> skipped
step: Deploy api-edge worker (…) -> skipped
step: Warn when the api-edge deploy … missing -> skipped
step: Commit refreshed snapshots … -> skipped
影响
pnpm sync:db 本身是成功的,所以 D1 里应该已经有较新的行;但生成目录产物、部署 api-edge worker、提交快照这三步全被跳过,因此 api.dshfind.com 对外提供的目录一直没有重新生成——桌面端社区市场读的就是这份产物。
具体到我的例子:
GET https://api.dshfind.com/v1/plugins?per_page=20&q=dsh-round-rightclick → total=0
GET https://api.dshfind.com/v1/plugins?per_page=20&q=hmr-BH → total=0
GET https://api.dshfind.com/v1/plugins?per_page=20&q=modlens → total=11 (对照组,说明查询参数正常)
hmr-BH/dsh-round-rightclick 是 2026-09-13 创建的公开仓库,已带 dsh-plugin topic,package.json 声明了 dsh.bundle.patch: ./cordis.patch.yml,并且已发布到 npm(dsh-round-rightclick@0.1.1)。按 README 的规则它就该被收录,但因为产物没重新生成,它进不去。任何在 09-02 之后加上 topic 的仓库应该都一样。
一点观察(供参考,不是要求)
工作流注释里其实已经两次记录过同一类问题:
- 贡献者数那步:「2026-08-22 起连续四天的 cancelled 全是这个」→ 用
--skip-contributors 修掉了;
probe:install 那步:「配额一空这步就会在 120s 退避里耗死,把 20 分钟 job 预算占光……(2026-08-27 整轮同步就断在这里)」。
--deadline 8 的收工设计本身是合理的(没探到的保持旧 probed_at、下轮接着探),但它现在的问题是:探测超时会把整条 job 一起带走,导致后面那些与探测无关的产物生成和部署也跑不到。9 月初之后配额似乎更紧张了,于是 --deadline 兜不住了。
可能的缓解方向,供你们判断(我完全不了解你们内部的配额与调度约束,只是把观察列出来):
- 把
probe:install 拆成独立 job,或让它 continue-on-error,使探测超时不再阻断产物生成与部署;
- 后续的
gen:plugins / 生成 api-edge 产物 / 部署步骤加 if: always()(或在 probe 失败时仍执行),保证目录至少能按上轮探测结果重新生成;
- 给 probe 用配额更高的 token,或进一步缩小每轮探测范围(例如新收录仓库优先),把单轮请求量压到 Actions token 配额之下。
如果你们已经知道这件事、只是在排期,请忽略上面这段,只需告诉我大概什么时候恢复就好——我这边等目录恢复后再确认插件是否被收录,不需要额外为我做任何事。
TL;DR (English): Sync plugins to D1 has been cancelled every day since 2026-09-03 (last success: 2026-09-02, run 33602047675). Every run dies at pnpm probe:install --deadline 8 after consuming the full 20-minute job budget, which skips gen:plugins, the api-edge catalog artifact generation, the edge deploy, and the snapshot commit. sync:db itself succeeds, but because the served catalog artifacts are never regenerated, api.dshfind.com is frozen and repos that gained the dsh-plugin topic since 2026-09-02 never appear — e.g. hmr-BH/dsh-round-rightclick (public, topic set, dsh.bundle declared, published to npm) returns total=0 while the control query q=modlens returns 11.
先说明来意:我是来投稿插件的,按 README「提交你的插件」给我的仓库加了
dsh-plugintopic,等了两轮刷新都没出现,顺藤摸瓜查到了下面的问题。所以这个 issue 不是「我的插件没被收录」,而是一个会影响所有新插件的同步故障。现象
Sync plugins to D1自 2026-09-03 起,每天定时运行都是cancelled,最后一次成功是 2026-09-02T07:07:43Z(run 33602047675),至今已 11 天。拉取了最近 35 次运行:
cancelled25 次、success9 次、failure1 次。卡在哪一步
每次都是同一个位置(以今天的 run 34745362396 为例,job 从 07:29:38Z 跑到 07:49:54Z,正好吃满
timeout-minutes: 20):影响
pnpm sync:db本身是成功的,所以 D1 里应该已经有较新的行;但生成目录产物、部署 api-edge worker、提交快照这三步全被跳过,因此api.dshfind.com对外提供的目录一直没有重新生成——桌面端社区市场读的就是这份产物。具体到我的例子:
hmr-BH/dsh-round-rightclick是 2026-09-13 创建的公开仓库,已带dsh-plugintopic,package.json声明了dsh.bundle.patch: ./cordis.patch.yml,并且已发布到 npm(dsh-round-rightclick@0.1.1)。按 README 的规则它就该被收录,但因为产物没重新生成,它进不去。任何在 09-02 之后加上 topic 的仓库应该都一样。一点观察(供参考,不是要求)
工作流注释里其实已经两次记录过同一类问题:
--skip-contributors修掉了;probe:install那步:「配额一空这步就会在 120s 退避里耗死,把 20 分钟 job 预算占光……(2026-08-27 整轮同步就断在这里)」。--deadline 8的收工设计本身是合理的(没探到的保持旧probed_at、下轮接着探),但它现在的问题是:探测超时会把整条 job 一起带走,导致后面那些与探测无关的产物生成和部署也跑不到。9 月初之后配额似乎更紧张了,于是--deadline兜不住了。可能的缓解方向,供你们判断(我完全不了解你们内部的配额与调度约束,只是把观察列出来):
probe:install拆成独立 job,或让它continue-on-error,使探测超时不再阻断产物生成与部署;gen:plugins/ 生成 api-edge 产物 / 部署步骤加if: always()(或在 probe 失败时仍执行),保证目录至少能按上轮探测结果重新生成;如果你们已经知道这件事、只是在排期,请忽略上面这段,只需告诉我大概什么时候恢复就好——我这边等目录恢复后再确认插件是否被收录,不需要额外为我做任何事。
TL;DR (English):
Sync plugins to D1has been cancelled every day since 2026-09-03 (last success: 2026-09-02, run 33602047675). Every run dies atpnpm probe:install --deadline 8after consuming the full 20-minute job budget, which skipsgen:plugins, the api-edge catalog artifact generation, the edge deploy, and the snapshot commit.sync:dbitself succeeds, but because the served catalog artifacts are never regenerated,api.dshfind.comis frozen and repos that gained thedsh-plugintopic since 2026-09-02 never appear — e.g.hmr-BH/dsh-round-rightclick(public, topic set,dsh.bundledeclared, published to npm) returnstotal=0while the control queryq=modlensreturns 11.