Minimal example
Add this to~/.soulforge/config.json (or .soulforge/config.json for project scope):
Fields
More examples
Local server (no key)
Local server (no key)
Corporate gateway with dynamic model list
Corporate gateway with dynamic model list
Multiple providers at once
Multiple providers at once
Thinking / reasoning
For models that support reasoning over an OpenAI-compatible endpoint, add areasoning block. Three styles are supported โ use the one your provider accepts:
The fields are injected into every request body. Raw
extraParams override all other keys on collision.
Scope
- Global โ
~/.soulforge/config.jsonapplies everywhere. - Project โ
.soulforge/config.jsonoverrides global entries with the sameid.
Conflicts
If yourid matches a built-in (e.g. "anthropic"), SoulForge renames it to {id}-custom โ the built-in is never replaced. Custom providers always show [custom] in /keys and --list-providers.
