Memmy
MemTensor's local-first memory hub and agent, on your key. Reaches: the whole catalog — it speaks both wires, so the same key serves open-weight chat ids and Claude ids depending on which provider you configure.
1
Point ~/.memmy/config.yaml at the gateway
Memmy resolves provider: against its own provider registry. It has no entry for InferenceHub, so use custom — the escape hatch for gateways — and override the endpoint with apiBase. The base URL ends in /v1:
# ~/.memmy/config.yamlagents: defaults: model: zai-glm-5.2 provider: customproviders: custom: apiKey: sk-prov-live-YOUR_KEY apiBase: https://app.inferencehub.tech/v1Memmy expands
${ENV_NAME} in this file, so you can write apiKey: ${IH_KEY} and keep the key out of the config entirely.2
Run it
memmy agent -m "summarise what I worked on yesterday"Tool calls route through the gateway unchanged, which is what the memory Skills are built on — so memmy-memory init and the per-agent adapters work the same way they do on a first-party provider.
3
Optional — use the Messages wire instead
Memmy's anthropic backend honours apiBase too. Point it at the bare origin (no /v1 — Memmy appends the Messages path itself):
# ~/.memmy/config.yaml — Messages wire insteadagents: defaults: model: glm-5.2 provider: anthropicproviders: anthropic: apiKey: sk-prov-live-YOUR_KEY apiBase: https://app.inferencehub.techTroubleshooting
| If you see… | Fix |
|---|---|
No API key configured for provider 'null' | The name in provider: isn't in Memmy's registry — a typo, or a gateway name like inferencehub, which it doesn't know. Use custom (or anthropic) and set apiBase. The message names 'null' rather than the bad value; that's reported upstream. |
| "Using default configuration." then a crash | The config failed to load and Memmy fell back to defaults instead of stopping, so the real error is the one printed first. Check the YAML — an unset variable referenced as ${ENV_NAME} will do it. |
| "model not found" | Match the wire: open-weight chat ids (zai-glm-5.2, gpt-oss-120b, …) on custom, Claude and GLM ids on anthropic. Live ids are on the Models page. |
apiType is only supported for providers.openai | Memmy only lets the built-in openai provider pin chatCompletions vs responses. Drop the line — auto resolves to Chat Completions for custom, which is what the gateway serves here. |