From 1efdc4dcd143e1f701eda0e7ad4942927ade45f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E6=A9=98?= Date: Tue, 28 Apr 2026 06:31:22 +0000 Subject: [PATCH] fix(workflow-utils): omit --model/--provider when not explicitly set Hermes role defaulted model/provider to 'auto', causing 404 on custom providers. Now defaults to undefined and only passes --model/--provider args when explicitly provided. Fixes #222 --- packages/workflow-utils/src/hermes-agent.ts | 14 ++++++++------ packages/workflow-utils/src/hermes-options.ts | 4 ++-- packages/workflow-utils/src/role-types.ts | 4 ++-- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/packages/workflow-utils/src/hermes-agent.ts b/packages/workflow-utils/src/hermes-agent.ts index 61620dc..0d76dd6 100644 --- a/packages/workflow-utils/src/hermes-agent.ts +++ b/packages/workflow-utils/src/hermes-agent.ts @@ -9,8 +9,8 @@ import { type SpawnEnv, type SpawnError, spawnSafe } from "./spawn-safe.js"; */ export type HermesAgentOptions = { prompt: string; - model: string; - provider: string; + model: string | null; + provider: string | null; skills: string[]; /** When true, suppresses interactive UI noise. */ quiet: boolean; @@ -38,13 +38,15 @@ export async function hermesAgent( "-q", options.prompt, "--yolo", - "--model", - options.model, - "--provider", - options.provider, "--max-turns", String(options.maxTurns), ]; + if (options.model) { + args.push("--model", options.model); + } + if (options.provider) { + args.push("--provider", options.provider); + } for (const s of options.skills) { args.push("-s", s); } diff --git a/packages/workflow-utils/src/hermes-options.ts b/packages/workflow-utils/src/hermes-options.ts index 44e788c..dfb866c 100644 --- a/packages/workflow-utils/src/hermes-options.ts +++ b/packages/workflow-utils/src/hermes-options.ts @@ -1,8 +1,8 @@ import type { HermesRoleDefaults, HermesRoleRequired } from "./role-types.js"; const HERMES_DEFAULTS: HermesRoleDefaults = { - model: "auto", - provider: "auto", + model: null, + provider: null, skills: [], quiet: true, maxTurns: 90, diff --git a/packages/workflow-utils/src/role-types.ts b/packages/workflow-utils/src/role-types.ts index f011582..ca8c63a 100644 --- a/packages/workflow-utils/src/role-types.ts +++ b/packages/workflow-utils/src/role-types.ts @@ -40,8 +40,8 @@ export type HermesRoleRequired = { }; export type HermesRoleDefaults = { - model: string; - provider: string; + model: string | null; + provider: string | null; skills: string[]; quiet: boolean; maxTurns: number;