Skip to main content

Managed Tool Routes

Fabric keeps model inference and tool backends separate. You can use a local model with hosted web search, a subscription model with local browser automation, or direct API keys for every capability. Each choice belongs to the active profile.

Configure routes

Use the interactive tools command to inspect and change one capability at a time:

fabric tools
fabric status --deep

fabric tools lists the supported backends for each capability. Selecting a backend may prompt for its credential; saving the selection is not a live provider health check. Optional plugins can add more choices without expanding the permanent core tool schema.

Capability map

CapabilityDirect or local optionsConfiguration
Web search and extractionDDGS, SearXNG, Firecrawl, Tavily, Exa, Parallel, xAIfabric tools → Web
Image generationFAL and installed image-provider pluginsfabric tools → Image generation
Text to speechEdge TTS, ElevenLabs, OpenAI, Mistralfabric tools → Text to speech
Browser automationLocal browser, Browserbase, installed browser-provider pluginsfabric tools → Browser

The exact list evolves with installed plugins and credentials. The interactive picker is the source of truth for the active profile.

Bring your own credentials

Secrets belong in the profile's private auth store or ~/.fabric/.env. Behavioral choices belong in ~/.fabric/config.yaml.

Common direct-provider credentials include:

CapabilityCredential
FirecrawlFIRECRAWL_API_KEY
BrowserbaseBROWSERBASE_API_KEY, BROWSERBASE_PROJECT_ID
FAL image generationFAL_KEY
ElevenLabs speechELEVENLABS_API_KEY
OpenAI speechVOICE_TOOLS_OPENAI_KEY
Mistral speechMISTRAL_API_KEY

Run fabric tools after adding a credential to select the route without hand-editing provider-specific YAML. Verify it with a small real call before depending on it in scheduled or unattended work.

Mix routes intentionally

Tool routing is per capability, not all-or-nothing. For example:

  • use free local DDGS search and a direct Firecrawl key for extraction;
  • keep browser automation local while routing image generation to FAL;
  • use Edge TTS for local speech and ElevenLabs only for premium voices;
  • keep inference on Ollama while enabling a hosted tool that the workflow explicitly needs.

This separation avoids an accidental vendor bundle and makes cost, privacy, and failure boundaries visible.

Local-AI boundary

Choosing Ollama does not automatically make the whole process offline. Web search, cloud browsers, hosted image generation, remote memory, and speech providers may still send data over the network.

Use the profile's local_ai policy to restrict participating AI and memory routes, then inspect the result:

fabric status --deep

Treat whole-process air-gapping as a separate, verified network boundary.

Troubleshooting

A backend does not appear

  1. Confirm its plugin is installed or its credential is present.
  2. Run fabric tools again.
  3. Check fabric logs --level warning for provider initialization failures.
  4. Run a small provider-specific task to verify credentials and reachability.

A configured backend is not used

Confirm you changed the intended profile. Tool routes are profile-scoped, so a setting in default does not silently inherit into another profile.

A hosted route fails

Use the provider's direct status page, verify the credential, and keep a local or alternate backend configured when the workflow must degrade gracefully.