BigPizzaV3/CodexPlusPlus · error

不支持的 Dream Skin 主题协议版本

Error message

不支持的 Dream Skin 主题协议版本

What it means

Thrown by validate_manifest when manifest.package_version or manifest.skin_api_version is not exactly 1 — the only Dream Skin package/skin protocol generation this client understands. It fires before any field-level checks, so it indicates a package from a newer (or simply alien) protocol; the offending inputs are the two version integers in manifest.json.

Source

Thrown at crates/codex-plus-core/src/dream_skin_package.rs:909

        bail!("主题包背景图片内容与扩展名不一致:{name}");
    }
    Ok(())
}

fn file_limit(name: &str) -> usize {
    match name {
        "manifest.json" => MANIFEST_LIMIT,
        "theme.json" => THEME_LIMIT,
        "theme.css" => CSS_LIMIT,
        "LICENSE.txt" => LICENSE_LIMIT,
        "manifest.sig" => SIGNATURE_LIMIT,
        _ => IMAGE_LIMIT,
    }
}

fn validate_manifest(manifest: &DreamSkinPackageManifest, platform: &str) -> anyhow::Result<()> {
    if manifest.package_version != 1 || manifest.skin_api_version != 1 {
        bail!("不支持的 Dream Skin 主题协议版本");
    }
    if manifest.theme_id.chars().count() < 3
        || manifest.theme_id.chars().count() > 64
        || !valid_theme_id(&manifest.theme_id)
    {
        bail!("manifest.themeId 无效");
    }
    if !valid_semver(&manifest.version) || !valid_semver(&manifest.min_client_version) {
        bail!("manifest 版本号无效");
    }
    if compare_semver(&manifest.min_client_version, "1.5.12").is_gt() {
        bail!(
            "主题包需要更新版本的 Dream Skin 协议:{}",
            manifest.min_client_version
        );
    }
    if manifest.platforms.is_empty()
        || manifest.platforms.len() > 2

View on GitHub (pinned to f2074595a2)

Solutions

  1. 升级 Codex++ 到支持该协议版本的发行版
  2. 使用 package_version=1、skin_api_version=1 的主题包
  3. 联系主题作者更新主题包版本
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/codex-plus-core/src/dream_skin_package.rs:909 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BigPizzaV3/CodexPlusPlus@f2074595a2 (2026-08-23). Data as JSON: /api/errors/99bbe0c44df2c647. Report an issue: GitHub.