Skip to content

Question: should allow_non_gpt_model also bypass Hephaestus registration checks? #5399

Description

@dyyxxhh

Question

Should agents.hephaestus.allow_non_gpt_model: true also allow Hephaestus to be registered when agents.hephaestus.model is a non-GPT model?

I may be misunderstanding the intended behavior, so I wanted to ask before treating this as a bug.

Context

I saw commit 997db0e05b59a60add35de208c7338158fdf007d, which adds allow_non_gpt_model under agents.hephaestus and passes it into the no-hephaestus-non-gpt hook.

With this config:

{
  "agents": {
    "hephaestus": {
      "model": "volcengine/glm-5.2",
      "mode": "all",
      "allow_non_gpt_model": true
    }
  }
}

I expected Hephaestus - Deep Agent to still appear in the OpenCode agent list, using the configured non-GPT model, with only a warning from the hook.

What I observed

On oh-my-openagent@4.11.1, Hephaestus is still skipped during registration when the configured model is non-GPT.

From reading the bundled code, maybeCreateHephaestusConfig() still checks isHephaestusSupportedModel(...) before returning the agent. As far as I can tell, allow_non_gpt_model is currently only used by the runtime no-hephaestus-non-gpt hook, after an agent/session already exists.

So the option prevents switching away from Hephaestus at runtime, but does not allow a non-GPT Hephaestus to appear in /agent in the first place.

Environment

  • oh-my-openagent: 4.11.1
  • opencode: 1.17.7
  • Hephaestus model: volcengine/glm-5.2
  • Config path: agents.hephaestus.allow_non_gpt_model: true

Clarification requested

Is the intended behavior:

  1. allow_non_gpt_model should only affect the runtime hook, and Hephaestus registration should remain GPT-only; or
  2. allow_non_gpt_model should also bypass the registration-time isHephaestusSupportedModel(...) checks?

If option 2 is intended, I think the registration path may need to read agents.hephaestus.allow_non_gpt_model as well.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions