-
-
Notifications
You must be signed in to change notification settings - Fork 4
Supported Models
Refact supports multiple provider families, and each model is described by capability flags resolved from provider config and /v1/caps.
Supported models in Refact are not a fixed, global catalog. They come from the provider families you configure, the provider/runtime catalogs, and the capability data the engine serves from /v1/caps. That means availability, pricing, quotas, rate limits, and data-policy are inherited from the provider you connect, not from Refact itself. See BYOK, Caps and Models, and Code Completion (FIM).
The engine and GUI code show these provider families in the current registry and default-provider templates:
- OpenAI
- OpenAI Responses
- OpenAI Codex
- Anthropic
- Claude Code
- OpenRouter
- Groq
- DeepSeek
- Google Gemini
- LM Studio
- Ollama
- vLLM
- xAI
- Qwen
- Kimi / Moonshot AI
- Z.AI / Zhipu
- MiniMax
- Doubao / Volcengine
- GitHub Copilot
- Custom provider / OpenAI-compatible endpoint
The provider registry also includes dynamic and OAuth-backed flows for some of these families. The GUI names come from the Providers feature constants, while the engine’s registry and YAML templates define the actual provider behavior.
Refact models carry capability metadata such as:
supports_toolssupports_agentsupports_multimodalitysupports_reasoningn_ctxtokenizer
The caps layer also includes related fields used by chat and routing logic, such as completion support, cache control, thinking-budget/reasoning controls, and per-model default selections.
Important distinction: a model can be available in a provider catalog without being suitable for every task. The capability flags tell Refact how to route it.
-
supports_tools: the model can participate in tool-using chat/agent flows. -
supports_agent: the model is appropriate for agent-style workflows. -
supports_multimodality: the model accepts non-text input modalities when enabled. -
supports_reasoning: the model is treated as reasoning-capable by the capability resolver. -
n_ctx: the model context window used for budgeting and UI defaults. -
tokenizer: the tokenizer identifier used by the engine/UI for token counting and related model behavior.
Refact treats the roles separately:
- Chat: ordinary conversational models, tool use, and agent workflows.
- Completion: code completion, especially FIM-style models.
- Embedding: vector models for search / retrieval.
A provider may support one, two, or all three of these roles. The default provider YAML files make this explicit with fields like supports_completion, chat_endpoint, completion_endpoint, and embedding_endpoint.
Completion models are especially important for inline code completion. The engine’s completion scratchpad uses FIM (Fill-in-the-Middle) conventions, and the default configs include FIM-oriented model settings for providers such as Ollama.
Embedding support is configured independently. The engine’s embedding transport expects OpenAI-style embedding requests for supported providers, and the default provider templates show providers such as OpenAI, OpenAI Responses, Google Gemini, and OpenRouter with embedding endpoints.
Capability data is surfaced through the engine’s /v1/caps endpoint. The /v1/caps response is loaded by the IDE clients and is used to drive model selection, model defaults, and feature availability.
Under the hood, the engine loads provider configs, merges default model selections, and computes model capabilities from provider/runtime metadata. For some providers, model lists are dynamic and are matched against caps data at runtime.
That means the model capability you see in the UI is a resolved result, not just a static label.
Provider configs can set different defaults for different roles. The caps model config includes fields such as:
completion_default_modelchat_default_modelchat_model_2task_planner_agent_modelreasoning_default_modelembedding_model
These defaults let each provider choose a preferred model per role without hard-coding a universal model ID into the docs or UI.
Because model availability comes from the configured provider, Refact does not define:
- provider-side pricing
- quota limits
- per-provider data retention policies
- account access rules
- whether a specific vendor model is available in your region or plan
Those properties come from the provider you configure.
Refact on GitHub: https://github.com/JegernOUTT/refact
- Agent Modes
- Agent Tools
- Task Planner & Cards
- Worktrees
- Subagents
- Memory & Knowledge
- Hidden Roles & Plans
- Context Compression
- Scheduler & Cron
- Processes & PTY
- Buddy
- MCP
- Skills, Commands & Hooks
- Marketplace
- Chat System
- Providers
- Caps & Models
- Code Completion (FIM)
- AST
- VecDB
- Exec Runtime
- HTTP API
- Checkpoints & Git
- Voice