Skip to content

systems provider detection

factory-droid[bot] edited this page Jul 5, 2026 · 1 revision

Provider detection

Active contributors: Douwe de Vries, vriesd

Purpose

Provider detection checks whether local AI CLIs are installed, authenticated, and able to provide model choices. QA Scribe does not store provider API keys.

Key source files

File Purpose
src-tauri/src/commands/providers.rs Tauri commands for provider status.
src-tauri/src/commands/providers/detection.rs Fast and deep readiness checks.
src-tauri/src/commands/providers/probe.rs Runs probe commands with timeout and temp outputs.
src-tauri/src/commands/providers/models.rs Detects or constructs provider model lists.
src-tauri/src/commands/providers/cache.rs Caches readiness for short periods.
src-tauri/src/commands/providers/types.rs Frontend-facing provider status types.
src-tauri/src/provider_command.rs Resolves executables using PATH and fallback locations.
crates/qa-scribe-core/src/ai/mod.rs Builds provider command arguments for generation.

How it works

Detection is split between fast executable checks and deeper provider-specific probes. The README documents Claude Code, Codex CLI, and GitHub Copilot CLI support. Provider model and reasoning choices are recorded on AI Runs and passed to CLIs where supported.

Integration points

The Settings UI in frontend/src/views/SettingsView.tsx displays provider readiness and model choices. Generation preflight in frontend/src/workflows/generationPreflight.tsx checks readiness before starting Generation jobs.

Entry points for modification

Add provider-specific readiness logic under src-tauri/src/commands/providers, command construction in crates/qa-scribe-core/src/ai/mod.rs, and frontend settings display changes in frontend/src/views/SettingsView.tsx.

Clone this wiki locally