AI Summary For Xenforo 2.3.10.1.3

Change log

  • Added Service/AbstractSummaryService base class, extracting shared buildPrompt, cleanOutput, validateResponse, isEnglishText methods from Ollama/CT2 (~400 lines of duplication eliminated)
  • Added Service/SummaryServiceManager — unified service manager that parses textarea configs (||| delimiter), auto-fills default endpoints for cloud services, selects active service via service_type, with fallback to legacy individual options
  • Added Service/OpenAIService for OpenAI-compatible APIs (DeepSeek, Groq, etc.), calling /v1/chat/completions
  • Added Service/GeminiService for Google Gemini API, calling /v1beta/models/{model}:generateContent
  • Added Service/ClaudeService for Anthropic Claude API, calling /v1/messages
  • _data/options.xml: removed four legacy options (ollama_endpoint/model, ctranslate2_endpoint/model); added unified service_configs textarea (18 rows with full format examples pre-filled); expanded service_type select to include openai/gemini/claude/deepseek
  • Service/OllamaService & Service/Ctranslate2Service: now extend AbstractSummaryService, accept config array injection; generateSummary logic preserved identically to stable version, only config source changed
  • Job/GenerateSummary.php & Cli/Command/SummaryWorker.php: service selection simplified from hardcoded ollama/ct2 branching to single SummaryServiceManager call
  • Setup.php: added upgrade step to auto-migrate legacy individual config options into consolidated textarea format
  • Option/ValidatorService.php: added textarea config format validation — cloud services require API Key, self-hosted require endpoint
  • Textarea config format: cloud services service_id|||api_key|||model (endpoint auto-defaulted), self-hosted service_id|||endpoint|||model
  • Like
Reactions: abdoon
Back
Top