Menu

#125 Support multiple LLM providers per member

open
nobody
None
2026-05-03
2026-04-13
Anonymous
No

Originally created by: kumaakh
Originally owned by: yashrajsapra

Summary

Currently each member supports a single LLM provider (none, Claude, or Gemini). This should be expanded to a list of providers per member.

Goal

Allow a member to be registered with multiple LLM providers (e.g. both Gemini and Claude), so the PM can drive which specific model is used at each stage of a larger workflow.

Context

Raised via community FAQ: https://github.com/Apra-Labs/apra-fleet/discussions/123

Discussion

  • Anonymous

    Anonymous - 2026-04-23

    Originally posted by: kumaakh

    Technical direction: The cleanest model is a providers array in the member registry replacing the current single provider field.

    1. Schema (src/types.ts): change provider?: string to providers?: string[]. Backward compat: single-element array when reading old registry entries.
    2. Register_member / update_member: accept providers (array) alongside the legacy provider (string, maps to [provider]).
    3. execute_prompt dispatch: add optional provider param — if specified, use that provider's strategy; if omitted, use the first provider in the member's list (current behavior preserved).
    4. provision_llm_auth: already takes member_name — extend to accept optional provider param to target a specific provider's auth on a multi-provider member.
    5. member_detail / fleet_status: display all providers.

    This allows PM to dispatch a Gemini pass for reasoning followed by a Claude pass for code generation on the same member without re-registering anything.

     
  • Anonymous

    Anonymous - 2026-04-23
     

Log in to post a comment.

MongoDB Logo MongoDB