Capabilities
Capabilities describe what a model can do. Scirix uses them to decide which tasks, called roles, a provider is allowed to handle. Setting them correctly matters: a provider missing a required capability is simply not offered for that role.
Where you set them🔗
- A preset: capabilities are set automatically by the preset. You do not need to do anything.
- Custom: open the Advanced settings disclosure and check the capabilities there.
- Your own hardware (Part C): the Capabilities checkboxes in the provider form. The default is
chat_completiononly. Check more if your model supports them.
Available capabilities🔗
| Capability | Meaning |
|---|---|
chat_completion | The model can hold a conversation and generate text. The baseline for almost everything. |
tool_use | The model can call tools and functions. Required for all agentic work. |
vision | The model can understand images. |
json_mode | The model can be forced to output valid JSON. |
streaming | The model can stream its output token by token. |
reasoning | The model supports extended reasoning. Advertised for information; reasoning effort is configured separately per provider. |
embedding | The model produces embeddings, vector representations of text. Required to build the search index. |
embedding_batching | The model accepts batched embedding requests, which speeds up indexing. |
There is one additional operator-level option, strict_tool_calling, which forces tool-call arguments to match their declared JSON schema exactly. It is an opt-in enforced at the gateway and is not part of the standard checkbox list.
Which roles need which capabilities🔗
Each Scirix role requires certain capabilities. A provider or group can only be assigned to a role if it advertises everything that role needs.
| Role | Required capabilities |
|---|---|
| Coding Agent | chat_completion + tool_use |
| Design Agent | chat_completion + tool_use |
| Single-Agent | chat_completion + tool_use |
| Task Manager | chat_completion + tool_use |
| Code Review | chat_completion + tool_use |
| Audit Remediation | chat_completion + tool_use |
| Goal Shaping | chat_completion + tool_use |
| Instant Assistant | chat_completion |
| Batch Summarization | chat_completion |
| Namespace Worker | chat_completion |
| Light Utility | chat_completion |
| Vision Analysis | chat_completion + vision |
| Doc/Code Audit | chat_completion + json_mode |
| Convention Audit | chat_completion + json_mode |
| Embedding | embedding |
Practical guidance🔗
- If you want your model to do real agent work (coding, review, audits), it must have
tool_usechecked, and the model must genuinely support tool calling. - If you want it to serve audits, it also needs
json_mode. - If you want it to build the index, it needs
embedding. See The embedding index. - Only check capabilities your model actually has. Checking
tool_useon a model that cannot call tools causes failures at run time, not at setup time. In practice this looks like tasks that start and then fail with model errors. See Troubleshooting.