Skip to content

Index

external

External-framework subprocess backends (Hermes Agent, OpenClaw).

Classes

HermesBackend

HermesBackend(base_url: str, api_key: str, api_mode: str = 'chat_completions', max_iterations: int = 90, timeout_seconds: float = 7200.0)

Bases: InferenceBackend

Spawn real Hermes Agent (pinned commit) as a subprocess per task.

Source code in src/openjarvis/evals/backends/external/hermes_agent.py
def __init__(
    self,
    base_url: str,
    api_key: str,
    api_mode: str = "chat_completions",
    max_iterations: int = 90,
    timeout_seconds: float = 7200.0,
) -> None:
    self._base_url = base_url
    self._api_key = api_key
    self._api_mode = api_mode
    self._max_iterations = max_iterations
    self._timeout = timeout_seconds

    cfg = load_third_party_config()
    self._entry: ThirdPartyEntry = cfg.entries["hermes"]
    verify_commit_pin(self._entry)
Attributes
framework_commit_value property
framework_commit_value: str

Pinned commit of Hermes Agent (for telemetry tagging).

OpenClawBackend

OpenClawBackend(base_url: str, api_key: str, timeout_seconds: float = 7200.0)

Bases: InferenceBackend

Spawn real OpenClaw (pinned commit) as a Node subprocess per task.

Source code in src/openjarvis/evals/backends/external/openclaw.py
def __init__(
    self,
    base_url: str,
    api_key: str,
    timeout_seconds: float = 7200.0,
) -> None:
    self._base_url = base_url
    self._api_key = api_key
    self._timeout = timeout_seconds

    cfg = load_third_party_config()
    self._entry: ThirdPartyEntry = cfg.entries["openclaw"]
    verify_commit_pin(self._entry)
Attributes
framework_commit_value property
framework_commit_value: str

Pinned commit of OpenClaw (for telemetry tagging).