Hoppa till huvudinnehåll

Förmågekontrakt

Inventeringen upprätthålls av scripts/test-capability-contracts.mjs. En leverantörsförmåga är inte komplett förrän dess schema och katalogmappning, körbara hanterare, matchande webbläsarklient, namngivna UI-åtgärd, dokumentation, fokuserade beteendetest och medföljande manifest överensstämmer.

FörmågaPlugintyperKörbar ruttWebbläsarklientUI-åtgärdDokumentationFokuserade beteendetestMedföljande definitioner
Chatt/kompletteringchat, completionWS /ws (chat_stream)frontend/src/hooks/useChat.tsfrontend/src/pages/ChatPage.tsxhandleSendMessagedocs/08-PLUGIN_ARCHITECTURE.mdscripts/test-chat-provider-selection.mjs (test:package) — exakt plugindirigering når vald leverantör för vanliga och strömmande begärandenanthropic, codex-oauth, gemini, github, groq, huggingface, kimi-code, llama-cpp, mistral, mlx-lm, openai, openrouter
InbäddningarembeddingPOST /api/ollama/embed
GET /api/embeddings/models (endast identifiering)
frontend/src/utils/api/modelApi.tsfrontend/src/components/ModelManager.tsxhandleGenerateEmbeddingsdocs/09-RAG_FEATURE.mdscripts/test-plugin-capability-routing.mjs (test:package) — Hugging Face-förmågor ignorerar den generiska Chatt-endpointen och använder uppgiftspayloadshuggingface
BildgenereringimagePOST /api/image-gen/generatefrontend/src/utils/api/imageGenApi.tsfrontend/src/components/ImageGenerationPanel.tsxhandleGeneratedocs/38-MEDIA_GENERATION.mdscripts/test-image-generation-routing.mjs (test:package) — bildgenerering använder vald leverantör och användaravgränsade OpenAI-inställningarcomfyui, huggingface, openai, openrouter
Tal till textsttPOST /api/stt/transcribefrontend/src/utils/api/sttApi.tsfrontend/src/hooks/useDictation.tstoggledocs/42-SPEECH_TO_TEXT.mdscripts/test-stt-routing.mjs (test:package) — STT skickar en OpenAI-kompatibel multipartbegäran till vald rutt
frontend/e2e/stt.spec.ts (test:e2e) — leverantörens talindata visar rutten och transkriberar inspelat ljud
huggingface, openai
Text till talttsPOST /api/tts/generatefrontend/src/utils/api/ttsApi.tsfrontend/src/components/TTSButton.tsxhandlePlaydocs/38-MEDIA_GENERATION.mdscripts/test-tts-routing.mjs (test:package) — TTS dirigerar ett gemensamt modellalias genom valt plugin och användarventil
frontend/e2e/tts-playback.spec.ts (test:e2e) — batchad uppläsning återanvänder vald sparad röst för varje batch
elevenlabs, huggingface, kyutai-tts-1.6b, kyutai-tts, longcat-audiodit, openai-tts, openai, openrouter, qwen-tts
LjudgenereringaudioPOST /api/media/sound/generatefrontend/src/utils/api/mediaApi.tsfrontend/src/components/MediaGenerationPanel.tsxhandleGeneratedocs/38-MEDIA_GENERATION.mdscripts/test-openrouter-media-routing.mjs (test:package) — OpenRouter-modeller med ljudutdata strömmar genererade ljudbyteopenrouter
VideogenereringvideoPOST /api/media/video/generate
POST /api/media/video/jobs/:jobId/resume
frontend/src/utils/api/mediaApi.ts
frontend/src/utils/api/mediaApi.ts
frontend/src/components/MediaGenerationPanel.tsxhandleGeneratedocs/38-MEDIA_GENERATION.mdscripts/test-openrouter-media-routing.mjs (test:package) — videogenerering skickar, avsöker och hämtar genom leverantörens endpoint
scripts/test-openrouter-media-routing.mjs (test:package) — förberedda video- och återupptagningspubliceringar löser förlorade commit-bekräftelser
openrouter

Tillämpning

Paketgrinden avvisar odeklarerade scheman eller plugintyper, inaktuella katalogmappningar, rutter som endast identifierar men presenteras som körning, hanterare utan matchande webbläsartransport, UI-åtgärder utan anrop och synlig utlösare, dokumentation utan förmågespecifika påståenden, test utan beteende i det namngivna fallet, inaktuell genererad inventering samt ogiltiga manifestendpoints, modellmappningar och standardvärden.

Inbäddningsgenerering körs genom POST /api/ollama/embed och kan dirigeras till ett valt inbäddningsplugin. GET /api/embeddings/models listar modeller; grinden registrerar rutten som enbart identifiering och accepterar den aldrig som bevis på att genereringen fungerar.

Källkontraktet identifierar varje fokuserat beteendetest och dess körprogram. Backendskript måste registreras i test:package; frontendspecifikationer måste hittas av det Playwright-baserade test:e2e-skriptet. Liveidentifiering kan begränsa en modellkatalog men skapar ingen ny körbar förmåga.