Files
manual_slop/conductor/tracks/openai_integration_20260308/plan.md

2.9 KiB

Implementation Plan: OpenAI Provider Integration

Phase 1: Core Client Implementation

  • Task: Define OpenAI state and initialize client in src/ai_client.py.
    • Import openai (ensure it's added to requirements.txt if missing).
    • Add _openai_client and _openai_history module-level variables.
    • Implement _classify_openai_error(exc) for structured error mapping.
  • Task: Implement _send_openai tool-call loop.
    • Implement function/tool definition conversion to OpenAI format.
    • Implement the core Chat Completions API call with streaming support.
    • Implement tool result packaging and the recursion loop (up to MAX_TOOL_ROUNDS).
    • Integrate _reread_file_items for context refresh after tool rounds.
  • Task: Implement Multi-modal (Vision) support.
    • Add logic to _send_openai to process screenshot inputs by encoding them as base64 data URIs.
  • Task: Implement model discovery.
    • Implement _list_openai_models() using the client.models.list() API.
  • Task: Update ai_client.py utility functions.
    • Update send() dispatcher to route to _send_openai.
    • Update reset_session() to clear _openai_history.
  • Task: Conductor - User Manual Verification 'Phase 1: Core Client Implementation' (Protocol in workflow.md)

Phase 2: Configuration & Credentials

  • Task: Update credential loading in src/ai_client.py.
    • Update _load_credentials() to include openai in the error message and loading logic.
  • Task: Add cost tracking for OpenAI models in src/cost_tracker.py.
    • Add regex patterns and rates for gpt-4o, gpt-4o-mini, o1, and o3-mini to MODEL_PRICING.
  • Task: Verify that credentials.toml works with the new provider section.
  • Task: Conductor - User Manual Verification 'Phase 2: Configuration & Credentials' (Protocol in workflow.md)

Phase 3: GUI & Controller Integration

  • Task: Register openai as a provider.
    • Add openai to PROVIDERS in src/gui_2.py.
    • Add openai to PROVIDERS in src/app_controller.py.
  • Task: Ensure model fetching works in the GUI.
    • Verify that clicking "Fetch Models" in the AI Settings panel correctly populates OpenAI models when the provider is selected.
  • Task: Conductor - User Manual Verification 'Phase 3: GUI & Controller Integration' (Protocol in workflow.md)

Phase 4: MMA Integration & Final Verification

  • Task: Verify MMA compatibility.
    • Test a simple multi-agent workflow where a Tier 3 worker is configured to use gpt-4o-mini.
    • Verify that tool calls, history, and context injection work as expected within the tiered architecture.
  • Task: Run full regression suite.
    • Ensure adding OpenAI hasn't introduced side effects for Gemini or Anthropic providers.
  • Task: Conductor - User Manual Verification 'Phase 4: MMA Integration & Final Verification' (Protocol in workflow.md)