2.9 KiB
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 torequirements.txtif missing). - Add
_openai_clientand_openai_historymodule-level variables. - Implement
_classify_openai_error(exc)for structured error mapping.
- Import
- Task: Implement
_send_openaitool-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_itemsfor context refresh after tool rounds.
- Task: Implement Multi-modal (Vision) support.
- Add logic to
_send_openaito processscreenshotinputs by encoding them as base64 data URIs.
- Add logic to
- Task: Implement model discovery.
- Implement
_list_openai_models()using theclient.models.list()API.
- Implement
- Task: Update
ai_client.pyutility functions.- Update
send()dispatcher to route to_send_openai. - Update
reset_session()to clear_openai_history.
- Update
- 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 includeopenaiin the error message and loading logic.
- Update
- Task: Add cost tracking for OpenAI models in
src/cost_tracker.py.- Add regex patterns and rates for
gpt-4o,gpt-4o-mini,o1, ando3-minitoMODEL_PRICING.
- Add regex patterns and rates for
- Task: Verify that
credentials.tomlworks 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
openaias a provider.- Add
openaitoPROVIDERSinsrc/gui_2.py. - Add
openaitoPROVIDERSinsrc/app_controller.py.
- Add
- 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.
- Test a simple multi-agent workflow where a Tier 3 worker is configured to use
- 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)