Hi.
I've been playing with Rho for a bit today, and I quite like it so far. I ran into an issue when using it with OpenRouter though:
The configuration for heartbeat and auto_memory models won't accept two slashes in model identifiers, making it impossible to configure OpenRouter models. Instead, rho falls back to openrouter/openrouter/auto, which is very expensive because that meta model-ID usually gets routed to Opus 4.6.
In extensions/lib/auto-memory-model.ts, normalizeConfiguredModel():
const parts = trimmed.split("/");
if (parts.length !== 2 || !parts[0] || !parts[1]) {
return {
kind: "invalid",
warning: `Invalid auto_memory_model '${trimmed}'. Expected 'auto' or 'provider/model-id'.`,
};
}
This strict 2-part split is incompatible with OpenRouter's 3-part naming (e.g., openrouter/openai/gpt-5.4-mini); similar logic is also in place for the heartbeat model.
Hi.
I've been playing with Rho for a bit today, and I quite like it so far. I ran into an issue when using it with OpenRouter though:
The configuration for heartbeat and auto_memory models won't accept two slashes in model identifiers, making it impossible to configure OpenRouter models. Instead,
rhofalls back toopenrouter/openrouter/auto, which is very expensive because that meta model-ID usually gets routed to Opus 4.6.In
extensions/lib/auto-memory-model.ts,normalizeConfiguredModel():This strict 2-part split is incompatible with OpenRouter's 3-part naming (e.g.,
openrouter/openai/gpt-5.4-mini); similar logic is also in place for the heartbeat model.