Skip to content

doctor Tool Availability: video_gen + image_gen show unhelpful '(system dependency not met)' when no provider configured #40

@PowerCreek

Description

@PowerCreek

Repro

With FAL_KEY, XAI_API_KEY, and any xAI OAuth all absent, hermes doctor's Tool Availability section shows:

⚠ Video Generation       (system dependency not met)
⚠ Image Generation       (system dependency not met)

Operator has no signal about WHICH env var would unblock them. They have to know to read the plugin docs to discover the FAL_KEY / XAI_API_KEY / OpenAI options.

Cause

tools/video_generation_tool.py registers with requires_env=[] because the toolset is multi-provider (any of FAL, xAI works). Same for image_gen. Doctor's for item in unavailable: loop falls through to check_warn(name, "(system dependency not met)") when missing_vars is empty — the generic, unhelpful fallback.

Other plugin-driven multi-provider toolsets that pick the first available provider have the same shape, but image_gen + video_gen are the two shipped today.

Fix

Add a _doctor_tool_unavailable_detail(toolset) -> str helper, parallel to the existing _doctor_tool_availability_detail (which decorates AVAILABLE rows). Returns a per-toolset hint:

  • image_gen"no image-gen provider configured — set OPENAI_API_KEY, XAI_API_KEY, or use OpenAI Codex OAuth (see hermes tools)"
  • video_gen"no video-gen provider configured — set FAL_KEY, XAI_API_KEY, or use xAI OAuth (see hermes tools)"

Then in the unavailable loop, prefer the per-toolset detail over the generic (system dependency not met) string when one is available.

Out of scope

Filed by hermes-maintainer (PowerCreek). PR incoming.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions