Autonomous agents
Long-running assistant agents that route every model call through a gateway process. Both read the GM key from the environment:
export GM_API_KEY="gm_live_…"Hermes Agent
Section titled “Hermes Agent”Add GM as a named provider in ~/.hermes/config.yaml:
providers: gm: api: https://api.saygm.com/v1 key_env: GM_API_KEY transport: chat_completions default_model: gpt-5.5
model: default: gpt-5.5 provider: custom:gmHermes reads the key from the environment variable named by key_env, so the
export GM_API_KEY above covers it. To persist the key instead, put
GM_API_KEY=gm_live_… in ~/.hermes/.env — Hermes keeps secrets there, never
in config.yaml.
For a Claude model, use the Anthropic-compatible endpoint:
providers: gm-claude: api: https://api.saygm.com key_env: GM_API_KEY transport: anthropic_messages default_model: claude-opus-4-8Run hermes model to switch models interactively, or use the triple syntax
mid-session: /model custom:gm:gpt-5.5.
OpenClaw
Section titled “OpenClaw”Add GM as a custom provider in ~/.openclaw/openclaw.json:
{ agents: { defaults: { model: { primary: "gm/gpt-5.5" }, }, }, models: { mode: "merge", providers: { gm: { baseUrl: "https://api.saygm.com/v1", apiKey: "${GM_API_KEY}", api: "openai-completions", models: [ { id: "gpt-5.5", name: "GPT-5.5 via GM", contextWindow: 272000, maxTokens: 128000, }, ], }, }, },}OpenClaw expands ${GM_API_KEY} from the environment. For a Claude model, set
api: "anthropic-messages", baseUrl: "https://api.saygm.com", and an
available messages model ID. openclaw onboard walks through the same setup
interactively — pick Custom provider when it asks for a model provider.
Check the selected model’s actual context and output limits in the
model catalog rather than copying the example
contextWindow and maxTokens values.