LISTING POLICY / PUBLIC CONTRACTFAIL CLOSED

收录前,
先把标准公开。

DSH STORE 从公开 GitHub 项目中发现候选,但“被发现”不等于“已收录”。只有固定来源、结构、权限、兼容性与证据门槛逐项成立,插件才可能进入受保护的 Catalog。

01 / PRINCIPLES

我们按证据收录,不按热度背书。

Star、截图、README 宣称和提交标签只能帮助发现项目,不能替代固定源码、权限与安装契约检查。

01

来源可追溯

只接受公开 canonical GitHub 仓库,并把每次审核固定到完整 40 位 Commit。

02

结构可复现

manifest、Bundle Patch、入口 ID、运行文件和生命周期脚本必须组成一致的安装契约。

03

权限最小且透明

文件、网络、命令、凭据、Profile 与外部依赖逐项披露;无法确认就保持 unknown。

04

未知即停止晋级

歧义、截断、漂移或证据不足都会暂缓或阻止收录,不通过降低门槛获得“通过”。

02 / CANDIDATE STANDARD

候选可以被看见,但不能被误认为可安装。

候选库负责保留发现与复查线索;Catalog 才是商城身份与策略权威。两者使用不同门槛和动作权限。

DISCOVERY LAYER

进入候选库

  • 公开 GitHub 仓库,项目与 DSH 插件具有可复核关联
  • 按 canonical 仓库去重,记录发现来源与当前状态
  • 可标记 discovered、reviewing 或 rejected

候选记录不含安装字段,也不提供安装、构建或运行按钮。

TRUSTED CATALOG

晋级 Catalog

  • 完整 Commit 上的标准 DSH Bundle 与许可证成立
  • 源码检查面完整,身份、入口、权限与兼容性无歧义
  • 机器计划绑定 base Commit 和输入哈希,经 PR、CI 与合并验证

只有合并后的远端 Catalog 与公开页面读回,才能证明实际收录。

DIRECT

标准直连

仓库根目录已经包含完整标准 Bundle,可进入固定源码审核。

MONOREPO

单仓多包

插件位于明确子目录,manifestPath 与 installPath 必须唯一且不可越界。

ADAPTER

需要适配器

上游不是 DSH Bundle,但存在受支持的窄接口;需另建标准适配器,不能冒充直装。

BLOCKED

阻止收录

来源、许可、宿主边界或安全契约无法成立;保留原因,但不开放受保护安装。

03 / WHAT WE CHECK

我们会检查哪些内容?

每项都从同一个固定 Commit 取证。检查结果描述对应范围,不会从静态证据推断真实运行结果。

检查面核对内容不满足时
仓库与固定身份canonical HTTPS GitHub 地址、完整 Commit、默认分支来源、包路径与重复身份拒绝或暂缓
Manifest 一致性包名、语义化版本、repository、license、files、Node.js 与 DSH 声明身份不一致即阻止
Bundle 与入口dsh.bundle.patch 路径、Patch 内容、唯一 entryIds,以及是否触碰受保护组件非标准或冲突即阻止
构建与安装契约运行文件是否存在;preinstall、install、postinstall、prepare 是否精确披露;依赖是否自包含隐藏脚本或缺产物即阻止
权限与数据边界文件、网络、命令、凭据、Profile、会话、原生制品与外部服务信号保守标级;自动准入失败
安全与失败行为硬编码密钥、临时外传端点、破坏性命令、挖矿、敏感日志、动态执行与越界路径硬信号阻止;风险信号警告
兼容性与证据精确 DSH 版本、Node.js、系统、Profile 范围,以及安装、运行、安全证据状态未知保持 unknown
Catalog 合约分类、中文名、用途、搜索词、状态、更新策略、当前目录重复项与 schemaRegistry 校验失败关闭
04 / BOUNDED STATIC AUDIT

自动化只读固定源码,并且检查面有硬上限。

上限用于保证“读全”和确定性,不是大插件不安全的结论。超限、截断或暂时无法读取时,结果是检查不完整并失败关闭。

1,200最多仓库树条目
240最多运行时文件
256 KiB单文件上限
2 MiB运行时源码总上限
NO THIRD-PARTY EXECUTION

自动化不会运行第三方 install、prepare、build、test 或运行时代码,也不会下载依赖来补足结论。

05 / HARD BLOCKERS

这些情况不会进入受保护安装通道。

硬性边界优先于评分、热度、作者声明或历史版本表现。

MKT001

来源不可固定

非 GitHub、浮动分支/标签、仓库归属不明、路径歧义或许可证权威不可验证。

MKT002–006

安装契约不完整

缺 manifest、Bundle Patch、唯一入口、运行产物,或生命周期脚本与实际源码不一致。

MKT007

越过 DSH 边界

修改 DSH 核心或 @deepseek-ai/*,停用、替换、遮蔽官方清单或受保护组件。

FAIL CLOSED

证据未知或检查不完整

源码漂移、接口失败、超限、截断、敏感泄露或破坏性行为信号存在时停止晋级。

06 / ADMISSION FLOW

从发现到公开收录,每一道门都有证据。

自动扫描每 8 小时运行;Catalog、Pages、国际站和国内站每 3 小时独立核对。没有合格变更时明确记录为 0。

  1. 01

    发现与去重

    从提交表单、GitHub 主题和检索中发现,按 canonical 仓库去重。

  2. 02

    固定完整 Commit

    把候选身份、manifest、Patch 与运行面固定在同一份不可变源码上。

  3. 03

    有界静态检查

    完成结构、安全、权限、依赖、兼容性与 Catalog 合约核对。

  4. 04

    策略判定

    符合自动低风险门槛才可 source-verified;其他结果进入复核、整改、blocked 或 rejected。

  5. 05

    哈希绑定 PR 与 CI

    计划绑定 base Commit 和输入哈希,经 Registry 检查、测试与 CodeQL 后才可合并。

  6. 06

    远端与公开面读回

    分别确认 GitHub Catalog、Pages、国际站和国内站;真实 Profile 安装与运行仍是独立验收。

IMPORTANT / EVIDENCE BOUNDARY

收录不是完整安全审计,也不是运行成功证明。

静态检查只证明对应固定源码在明确边界内满足当前政策。真实安装、冷启动、可见 UI、功能效果、故障恢复和独立安全审核必须分别提供证据;unknown 不是失败,也绝不是通过。