BigPizzaV3/CodexPlusPlus · error

theme.json 包含缺失或不支持的字段

Error message

theme.json 包含缺失或不支持的字段

What it means

Thrown by validate_theme when the theme.json object is missing any REQUIRED key or contains a key outside both REQUIRED and OPTIONAL whitelists. This is a strict schema guard on untrusted theme JSON: unknown keys are rejected rather than ignored so forward-incompatible themes fail loudly. The offending input is the key set of the theme.json object.

Source

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

        "brandSubtitle",
        "tagline",
        "projectPrefix",
        "projectLabel",
        "statusText",
        "quote",
        "promoTitle",
        "promoSub",
        "promoUrl",
        "appearance",
        "art",
        "colors",
    ];
    if REQUIRED.iter().any(|key| !object.contains_key(*key))
        || object
            .keys()
            .any(|key| !REQUIRED.contains(&key.as_str()) && !OPTIONAL.contains(&key.as_str()))
    {
        bail!("theme.json 包含缺失或不支持的字段");
    }
    if object.get("schemaVersion").and_then(Value::as_u64) != Some(1)
        || object.get("id").and_then(Value::as_str) != Some(manifest.theme_id.as_str())
        || object.get("name").and_then(Value::as_str).is_none()
        || object.get("image").and_then(Value::as_str) != Some(image_name)
    {
        bail!("theme.json 与 manifest 身份或背景图不一致");
    }
    if object
        .get("name")
        .and_then(Value::as_str)
        .is_some_and(|name| !safe_manifest_text(name, 1, 80, false))
    {
        bail!("theme.json.name 无效");
    }
    for key in [
        "brandSubtitle",
        "tagline",

View on GitHub (pinned to f2074595a2)

Solutions

  1. 补齐所有必需字段
  2. 删除 schema 未定义的自定义字段
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/codex-plus-core/src/dream_skin_package.rs:1008 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/419fdb5678687523. Report an issue: GitHub.