Hop til hovedindhold

Egenskabskontrakter

Oversigten håndhæves af scripts/test-capability-contracts.mjs. En udbyderegenskab er ikke komplet, før dens skema og katalogtilknytning, eksekverbare håndtering, matchende browserklient, navngivne UI-handling, dokumentation, fokuserede adfærdstest og medfølgende manifester stemmer overens.

EgenskabPlugintyperEksekverbar ruteBrowserklientUI-handlingDokumentationFokuserede adfærdstestMedfølgende definitioner
Chat/fuldførelsechat, completionWS /ws (chat_stream)frontend/src/hooks/useChat.tsfrontend/src/pages/ChatPage.tsxhandleSendMessagedocs/08-PLUGIN_ARCHITECTURE.mdscripts/test-chat-provider-selection.mjs (test:package) — præcis pluginrouting når den valgte udbyder for normale og streamede anmodningeranthropic, codex-oauth, gemini, github, groq, huggingface, kimi-code, llama-cpp, mistral, mlx-lm, openai, openrouter
IndlejringerembeddingPOST /api/ollama/embed
GET /api/embeddings/models (kun registrering)
frontend/src/utils/api/modelApi.tsfrontend/src/components/ModelManager.tsxhandleGenerateEmbeddingsdocs/09-RAG_FEATURE.mdscripts/test-plugin-capability-routing.mjs (test:package) — Hugging Face-egenskaber ignorerer den generiske Chat-endpoint og bruger opgavepayloadshuggingface
BilledgenereringimagePOST /api/image-gen/generatefrontend/src/utils/api/imageGenApi.tsfrontend/src/components/ImageGenerationPanel.tsxhandleGeneratedocs/38-MEDIA_GENERATION.mdscripts/test-image-generation-routing.mjs (test:package) — billedgenerering bruger den valgte udbyder og brugerafgrænsede OpenAI-indstillingercomfyui, huggingface, openai, openrouter
Tale til tekststtPOST /api/stt/transcribefrontend/src/utils/api/sttApi.tsfrontend/src/hooks/useDictation.tstoggledocs/42-SPEECH_TO_TEXT.mdscripts/test-stt-routing.mjs (test:package) — STT sender en OpenAI-kompatibel multipart-anmodning til valgt rute
frontend/e2e/stt.spec.ts (test:e2e) — udbyderens taleinput viser ruten og transskriberer optaget lyd
huggingface, openai
Tekst til talettsPOST /api/tts/generatefrontend/src/utils/api/ttsApi.tsfrontend/src/components/TTSButton.tsxhandlePlaydocs/38-MEDIA_GENERATION.mdscripts/test-tts-routing.mjs (test:package) — TTS dirigerer et fælles modelalias gennem valgt plugin og brugerventil
frontend/e2e/tts-playback.spec.ts (test:e2e) — batchoplæsning genbruger den valgte gemte stemme for hver batch
elevenlabs, huggingface, kyutai-tts-1.6b, kyutai-tts, longcat-audiodit, openai-tts, openai, openrouter, qwen-tts
LydgenereringaudioPOST /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 lydoutput streamer genererede lydbytesopenrouter
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 sender, forespørger og henter gennem udbyderendpointen
scripts/test-openrouter-media-routing.mjs (test:package) — forberedte video- og genoptagelsespublikationer løser mistede commit-bekræftelser
openrouter

Håndhævelse

Pakkekontrollen afviser ikke-deklarerede skemaer eller plugintyper, forældede katalogtilknytninger, registreringsruter præsenteret som kørsel, håndteringer uden matchende browsertransport, UI-handlinger uden kald og synlig udløser, dokumentation uden egenskabsspecifikke påstande, test uden adfærd i den navngivne sag, forældet genereret oversigt samt ugyldige manifestendpoints, modeltilknytninger og standardværdier.

Indlejringsgenerering kører gennem POST /api/ollama/embed og kan dirigeres til et valgt indlejringsplugin. GET /api/embeddings/models viser modeller; kontrollen registrerer ruten som ren registrering og accepterer den aldrig som bevis på, at genereringen virker.

Kildekontrakten identificerer hver fokuseret adfærdstest og dens kørsel. Backendscripts skal registreres i test:package; frontendspecifikationer skal kunne findes af det Playwright-baserede test:e2e-script. Liveregistrering kan indsnævre et modelkatalog, men opretter ingen ny eksekverbar egenskab.