Skip to content

v4.2.0

Choose a tag to compare

@github-actions github-actions released this 24 Jul 02:42

What's Changed

Features

  • Local and OpenAI-compatible providers at $0: Run Ollama, LM Studio, vLLM, or any OpenAI-compatible endpoint as a first-class model source with amicus provider add. Supports provider list|test|remove, all with --json output. Local models price at an explicit $0 tier, so budget gates and the default-model picker treat them as free.
  • Local inference completes instead of hanging: Local provider blocks now carry a 5-minute engine request timeout and a non-empty apiKey, so amicus start, fanout, and council against local servers complete successfully. Local models need about 32k context loaded (LM Studio's 16k default is insufficient) and are slower to first token (30-90s cold prefill is normal).
  • Bearer management for local providers: amicus key <localId> <token> manages a local provider's bearer token, stored securely in the 0600 .env file rather than config.json. Local providers without a configured bearer use a placeholder instead.
  • amicus init for on-demand registration: Re-run skill install and MCP registration with amicus init [--claude] [--desktop] [--json] for plugin-channel installs, failed postinstalls, or repairing deleted ~/.claude state.
  • Local provider reachability checks: The amicus doctor command gains a local-providers check (warn, never error) that validates configured local endpoints are reachable, plus a compact summary line when all checks pass.
  • Setup wizard support for local providers: Both the readline wizard and Electron GUI now offer to add a local provider during setup, with preset shortcuts for Ollama, LM Studio, and vLLM.

Improvements

  • Flexible local endpoint configuration: Configure local providers with preset shortcuts (--preset ollama|lmstudio|vllm) or explicit --url for any OpenAI-compatible endpoint. Optional bearer tokens and custom pricing are supported.
  • Per-flavor local provider hints: Route errors now include flavor-specific hints when a local provider is unreachable or missing a key, guiding users to provider-specific troubleshooting.
  • Council respects local provider availability: Council members using local providers are never dropped from a bench on catalog absence, preserving them when the server is temporarily down so the actual error (unreachable) bubbles up at runtime.
  • Local models excluded from network refresh filter: Local-only catalog rows no longer clobber a good OpenRouter cache during an offline refresh, keeping the two data sources cleanly separated.
  • Landing page highlights local and headless modes: The website now foregrounds the three ways to run the council (Claude session, headless CI, local models) and emphasizes $0 local inference.
  • Documentation and troubleshooting updates: Expanded docs cover local provider setup, honest expectations for local model performance, and updated troubleshooting checklist to reflect actual amicus doctor checks.

Infrastructure

  • New CLI handler for provider management: src/cli-handlers-provider.js implements amicus provider add|list|test|remove with dependency injection for testability, mirroring the pattern used by doctor checks.
  • Split route-suggestions module: Extracted buildSuggestions logic into a new src/utils/route-suggestions.js to keep route-launch.js under the 300-line gate while adding local provider wiring.
  • Separate env-var store for local bearers: Created src/utils/env-raw-store.js to handle arbitrary environment variable writes to the .env file, keeping api-key-store.js focused and under size limits.
  • Local provider merge layer: New src/utils/local-providers.js provides getLocalProviders(), bearer derivation, validation, and preset definitions as a single source of truth for provider configuration.
  • Scheme-aware local probing: New src/utils/local-probe.js implements secure HTTP/HTTPS probing with redirect rejection, header redaction, and configurable timeouts for local endpoint reachability and model discovery.
  • Test coverage for local workflows: Added 15+ new test files covering local provider e2e, setup flows, routing, pricing, and error handling to verify the full local provider pipeline.

Full Changelog: v4.1.2...v4.2.0