收录 · 本站规则
怎样进入可安装列表。
下面写的是本站自己执行的发现、核对和治理规则。规范全文都在这一页,入口也全部留在站内。
01
自动收录条件
要进入「可安装」列表,仓库需要同时满足下列要求。若还没有有效的 dsh.bundle,仓库仍会出现在浏览页,只是会带上对应状态。
- 公开且读得到同步任务必须能拉取仓库元数据,以及根目录的 package.json。
- 带上发现标记仓库应声明
dsh-plugin Topic,供定时扫描找到。
- 写明可安装 bundle根目录 package.json 里的
dsh.bundle.patch 必须是安全的相对路径。
- 仓库状态正常已归档仓库和 Fork 不会被自动放进公开列表。
02
Manifest 最低契约
patch 只能指向仓库内部的相对路径:不能写绝对路径,也不能靠 .. 逃出仓库根目录。对应文件要和仓库一起维护。
{
"dsh": {
"bundle": {
"patch": "./cordis.patch.yml"
}
}
}
03
本站显示的状态
这些标签只说明本站检查到了什么,并不等于对插件代码做了安全背书。
- Manifest 格式检查通过
- 由自动发现进入,并且根目录 bundle 通过格式校验,可以出现在公开列表。
- 来源:社区目录
- 从社区维护的公开目录同步过来;本站没有核对其 Manifest、功能质量或安全性。
- 缺少有效 dsh.bundle
- 仓库已被发现并出现在浏览列表,但不提供安装命令;补上有效声明后会自动转为可安装。
- 已隔离
- 因误收录、重复、风险或治理决定被移出,不会出现在公开列表。
04
验证边界
本站只核对公开元数据和 manifest 结构。我们不会运行插件代码,不会验证安装后的实际行为,也不会持续盯着权限变化。
复制安装命令只表示命令进了剪贴板,并不表示插件已经装好。安装前请自行核对仓库内容、依赖和所需权限。
05
同步与移除
公开数据按计划定时刷新。新仓库不会马上出现,已有元数据也可能要等到下一轮同步才会更新。
不再满足条件、已归档或被隔离的插件会从公开列表拿掉。为防止异常同步覆盖正常数据,当数量骤降超过 40% 或发现过程不完整时,本站会暂停发布新快照。
用户提交走 GitHub Issue:Action 预检后开出审核 PR,维护者合并后站点数据才会更新。待审记录保存在 data/submissions.json,自动发现不会删除它们。
目录的所有写入都通过 GitHub PR 审核后再发布:用户提交(submission/<n>)、自动发现(discover/sync)、社区目录 Manifest 复核(review/curated-manifest)。维护者在 仓库 Pull Requests 合并后,站点数据才会更新。
01
Auto-inclusion requirements
To appear on the installable list, a repository must meet all of the following. Repositories without a valid dsh.bundle still show up on the browse page, with the matching status.
- Public and readableThe sync job must be able to fetch repository metadata and the root
package.json.
- Discovery markerThe repository should declare the
dsh-plugin topic so the scheduled scan can find it.
- Installable bundle
dsh.bundle.patch in the root package.json must be a safe relative path.
- Healthy repository statusArchived repositories and forks are not added to the public list automatically.
02
Manifest minimum contract
The patch may only point at a relative path inside the repository: no absolute paths, and no .. escapes from the repo root. Keep that file in the same repository.
{
"dsh": {
"bundle": {
"patch": "./cordis.patch.yml"
}
}
}
03
Statuses shown on this site
These labels only describe what this site checked. They are not a security endorsement of the plugin code.
- Manifest shape validated
- Entered via auto-discovery, and the root bundle passed the format check, so it can appear on the public list.
- Source: community catalog
- Synced from a community-maintained public catalog; this site did not verify its Manifest, quality, or safety.
- Missing a valid dsh.bundle
- The repository was discovered and appears in the browse list, but no install command is offered; add a valid declaration and it will become installable on the next sync.
- Quarantined
- Removed because of a mistaken listing, duplicate, risk, or a governance decision; it will not appear on the public list.
04
Verification boundary
This site only checks public metadata and manifest shape. We do not run plugin code, verify post-install behavior, or continuously watch permission changes.
Copying an install command only means it reached the clipboard, not that the plugin is installed. Review the repository, its dependencies, and the permissions it needs before you install.
05
Sync and removal
Public data refreshes on a schedule. New repositories will not appear immediately, and existing metadata may wait until the next sync to update.
Plugins that no longer meet the rules, have been archived, or were quarantined are taken off the public list. To avoid a bad sync overwriting good data, this site will refuse to publish a new snapshot when the published count drops by more than 40% or discovery is incomplete.
User submissions go through a GitHub Issue: an Action prechecks the repo, opens a review PR, and the site updates only after a maintainer merges. Pending records live in data/submissions.json; auto-discovery never deletes them.
Every catalog write is reviewed by merging a GitHub PR: user submissions (submission/<n>), discovery (discover/sync), and curated Manifest review (review/curated-manifest). Maintainers merge at the repository pull requests to publish site data.