Files
AI-VideoAssistant/engine/docs/extension_ports.md
Xin Wang 4e2450e800 Refactor backend integration and service architecture
- Removed the backend client compatibility wrapper and associated methods to streamline backend integration.
- Updated session management to utilize control plane gateways and runtime configuration providers.
- Adjusted TTS service implementations to remove the EdgeTTS service and simplify service dependencies.
- Enhanced documentation to reflect changes in backend integration and service architecture.
- Updated configuration files to remove deprecated TTS provider options and clarify available settings.
2026-03-06 09:00:43 +08:00

1.4 KiB

Engine Extension Ports (Draft)

This document defines the draft port set used to keep core runtime extensible.

Port Modules

  • core/ports/control_plane.py
    • AssistantRuntimeConfigProvider
    • ConversationHistoryStore
    • KnowledgeRetriever
    • ToolCatalog
    • ControlPlaneGateway
  • core/ports/llm.py
    • LLMServiceSpec
    • LLMPort
    • optional extensions: LLMCancellable, LLMRuntimeConfigurable
  • core/ports/tts.py
    • TTSServiceSpec
    • TTSPort
  • core/ports/asr.py
    • ASRServiceSpec
    • ASRPort
    • optional extensions: ASRInterimControl, ASRBufferControl
  • core/ports/service_factory.py
    • RealtimeServiceFactory

Adapter Layer

  • app/service_factory.py provides DefaultRealtimeServiceFactory.
  • It maps resolved provider specs to concrete adapters.
  • Core orchestration (core/duplex_pipeline.py) depends on the factory port/specs, not concrete provider classes.

Provider Behavior (Current)

  • LLM:
    • supported providers: openai, openai_compatible, openai-compatible, siliconflow
    • fallback: MockLLMService
  • TTS:
    • supported providers: dashscope, openai_compatible, openai-compatible, siliconflow
    • fallback: MockTTSService
  • ASR:
    • supported providers: openai_compatible, openai-compatible, siliconflow
    • fallback: BufferedASRService

Notes

  • This is a draft contract set; follow-up work can add explicit capability negotiation and contract-version fields.