{"record":{"id":"ac397c7e8f55753b","repo":"BigPizzaV3/CodexPlusPlus","slug":"dream-skin-is-not-enabled","errorCode":null,"errorMessage":"Dream Skin is not enabled","messagePattern":"Dream Skin is not enabled","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/codex-plus-core/src/dream_skin_runtime.rs","lineNumber":285,"sourceCode":"    identity.level = DreamSkinCheckLevel::Pass;\n    let mut checks = vec![identity];\n    checks.extend(verification.checks);\n    DreamSkinRuntimeStatus {\n        state,\n        enabled: true,\n        paused: false,\n        live_applied,\n        checks,\n    }\n}\n\npub async fn apply_dream_skin_live(\n    debug_port: u16,\n    helper_port: u16,\n) -> anyhow::Result<DreamSkinRuntimeStatus> {\n    let settings = SettingsStore::default().load()?;\n    if !settings.enhancements_enabled || !settings.codex_app_dream_skin_enabled {\n        bail!(\"Dream Skin is not enabled\");\n    }\n    if settings.codex_app_dream_skin_paused {\n        bail!(\"Dream Skin is paused\");\n    }\n    let identity = platform_identity_check(&settings.codex_app_path);\n    if identity.level == DreamSkinCheckLevel::Fail {\n        bail!(\"{}\", identity.message);\n    }\n    let target = primary_target(debug_port).await?;\n    let websocket = target\n        .web_socket_debugger_url\n        .as_deref()\n        .context(\"Codex renderer has no WebSocket URL\")?;\n    let probe = crate::assets::dream_skin_live_update_probe_script();\n    let live_probe = crate::bridge::evaluate_script(websocket, &probe)\n        .await\n        .ok()\n        .and_then(|response| {","sourceCodeStart":267,"sourceCodeEnd":303,"githubUrl":"https://github.com/BigPizzaV3/CodexPlusPlus/blob/f2074595a281bc057525c748175c8eb9805b0673/crates/codex-plus-core/src/dream_skin_runtime.rs#L267-L303","documentation":"Thrown by apply_dream_skin_live as an entry-state guard: the live-apply pipeline was invoked while enhancements_enabled or codex_app_dream_skin_enabled is false in the loaded settings. No CDP work is attempted; the offending input is the persisted settings state, meaning the caller (UI or watchdog) raced a disable — re-enable Dream Skin or skip the call.","triggerScenarios":"Thrown at crates/codex-plus-core/src/dream_skin_runtime.rs:285 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["在设置中开启增强功能和 Dream Skin 开关后重试"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f2074595a281bc057525c748175c8eb9805b0673","analyzedAt":"2026-08-23T12:52:24.489Z","contentChangedAt":"2026-08-23T12:52:24.489Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}