name: Feature request
about: Suggest an idea for AI Council Orchestrator
title: '[FEATURE] Add Streaming Response Support'
labels: 'enhancement', 'OSCG26'
assignees: ''
Is your feature request related to a problem? Please describe.
Current implementation returns complete responses only after all models finish processing, causing delays for long-running requests. Users must wait for the entire pipeline to complete before seeing any results.
Describe the solution you'd like
Implement async streaming to yield partial results as models complete. This allows users to see intermediate results while other models are still processing.
Describe alternatives you've considered
- Polling for status (less efficient)
- WebSocket-based streaming (more complex)
- Server-Sent Events (SSE) for HTTP (future enhancement)
Use case
- Real-time feedback for long-running requests
- Progressive UI updates showing model completion
- Better user experience for complex queries requiring multiple models
Implementation ideas
- Added
StreamingChunk dataclass in ai_council/core/models.py
- Added
process_request_streaming() to OrchestrationLayer interface
- Implemented streaming in
ai_council/orchestration/layer.py
- Added public API in
ai_council/main.py
Additional context
- Chunk types: PROGRESS, SUBTASK_START, SUBTASK_COMPLETE, MODEL_COMPLETE, FINAL, ERROR
- Each chunk includes progress percentage, model used, confidence score
- Compatible with existing execution modes (fast, balanced, best_quality)
Would you be willing to contribute this feature?
name: Feature request
about: Suggest an idea for AI Council Orchestrator
title: '[FEATURE] Add Streaming Response Support'
labels: 'enhancement', 'OSCG26'
assignees: ''
Is your feature request related to a problem? Please describe.
Current implementation returns complete responses only after all models finish processing, causing delays for long-running requests. Users must wait for the entire pipeline to complete before seeing any results.
Describe the solution you'd like
Implement async streaming to yield partial results as models complete. This allows users to see intermediate results while other models are still processing.
Describe alternatives you've considered
Use case
Implementation ideas
StreamingChunkdataclass inai_council/core/models.pyprocess_request_streaming()toOrchestrationLayerinterfaceai_council/orchestration/layer.pyai_council/main.pyAdditional context
Would you be willing to contribute this feature?