OpenBMB/ChatDev · error · DesignError

Design parsing failed for '{config_path}': {exc}

Error message

Design parsing failed for '{config_path}': {exc}

What it means

500 returned by GET of Vue graph content when loading the file raises an unexpected exception (not merely a missing file). The true exception is logged with the filename before this generic message is returned.

Source

Thrown at check/check.py:84

        raise DesignError("YAML root must be a mapping")

    if vars_override:
        merged_vars = dict(raw_data.get("vars") or {})
        merged_vars.update(vars_override)
        raw_data = dict(raw_data)
        raw_data["vars"] = merged_vars

    data = prepare_design_mapping(raw_data, source=str(config_path))

    schema_errors = validate_design(data, set_defaults=set_defaults, fn_module_ref=fn_module)
    if schema_errors:
        formatted = "\n".join(f"- {err}" for err in schema_errors)
        raise DesignError(f"Design validation failed for '{config_path}':\n{formatted}")

    try:
        design = DesignConfig.from_dict(data, path="root")
    except ConfigError as exc:
        raise DesignError(f"Design parsing failed for '{config_path}': {exc}") from exc

    logic_errors = check_workflow_structure(data)
    if logic_errors:
        formatted = "\n".join(f"- {err}" for err in logic_errors)
        raise DesignError(f"Workflow logical issues detected for '{config_path}':\n{formatted}")
    else:
        print("Workflow OK.")

    graph = data.get("graph") or {}
    _ensure_supported(graph)

    return design


def check_config(yaml_content: Any) -> str:
    if not isinstance(yaml_content, dict):
        return "YAML root must be a mapping"

View on GitHub (pinned to 4fb2db0ea9)

Solutions

  1. Check server logs for 'Failed to load Vue graph content' with the real error.
  2. Fix read permissions on the graph file and its directory.
  3. If the file is corrupted, restore from source or re-save the graph.
Defensive patterns

Strategy: fallback

Try / catch

catch (e) { if (e.status === 500 && e.detail === 'Unable to read graph content') reportServerIssue(filename); }

Prevention

When it happens

Trigger: GET /api/vuegraphs/{filename} where the file exists but reading fails: permission denied, file locked, corrupted storage backend.

Common situations: Permission changes after deployment; files created by another user; partial writes leaving unreadable files.

Related errors


AI-assisted analysis of OpenBMB/ChatDev@4fb2db0ea9 (2026-08-27). Data as JSON: /api/errors/b1410d92ab0485a3. Report an issue: GitHub.