Přeskočit na hlavní obsah

Kontrakty schopností

Přehled vymáhá scripts/test-capability-contracts.mjs. Schopnost poskytovatele není úplná, dokud se neshoduje její schéma a mapování katalogu, spustitelná obsluha, odpovídající klient prohlížeče, pojmenovaná akce UI, dokumentace, zaměřený test chování a přibalené manifesty.

SchopnostTypy pluginůSpustitelná trasaKlient prohlížečeAkce UIDokumentaceZaměřené testy chováníPřibalené definice
Chat/dokončeníchat, completionWS /ws (chat_stream)frontend/src/hooks/useChat.tsfrontend/src/pages/ChatPage.tsxhandleSendMessagedocs/08-PLUGIN_ARCHITECTURE.mdscripts/test-chat-provider-selection.mjs (test:package) — přesné směrování pluginu dorazí k vybranému poskytovateli u běžných i streamovaných požadavkůanthropic, codex-oauth, gemini, github, groq, huggingface, kimi-code, llama-cpp, mistral, mlx-lm, openai, openrouter
VkládáníembeddingPOST /api/ollama/embed
GET /api/embeddings/models (pouze zjišťování)
frontend/src/utils/api/modelApi.tsfrontend/src/components/ModelManager.tsxhandleGenerateEmbeddingsdocs/09-RAG_FEATURE.mdscripts/test-plugin-capability-routing.mjs (test:package) — schopnosti Hugging Face ignorují obecný endpoint Chatu a používají payloady úkolůhuggingface
Generování obrázkůimagePOST /api/image-gen/generatefrontend/src/utils/api/imageGenApi.tsfrontend/src/components/ImageGenerationPanel.tsxhandleGeneratedocs/38-MEDIA_GENERATION.mdscripts/test-image-generation-routing.mjs (test:package) — generování používá vybraného poskytovatele a uživatelská nastavení OpenAIcomfyui, huggingface, openai, openrouter
Řeč na 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 posílá multipart požadavek kompatibilní s OpenAI na vybranou trasu
frontend/e2e/stt.spec.ts (test:e2e) — řečový vstup poskytovatele zveřejní trasu a přepíše zaznamenaný zvuk
huggingface, openai
Text na řečttsPOST /api/tts/generatefrontend/src/utils/api/ttsApi.tsfrontend/src/components/TTSButton.tsxhandlePlaydocs/38-MEDIA_GENERATION.mdscripts/test-tts-routing.mjs (test:package) — TTS směruje společný alias modelu přes vybraný plugin a uživatelský ventil
frontend/e2e/tts-playback.spec.ts (test:e2e) — dávkové předčítání používá vybraný uložený hlas pro každou dávku
elevenlabs, huggingface, kyutai-tts-1.6b, kyutai-tts, longcat-audiodit, openai-tts, openai, openrouter, qwen-tts
Generování zvukuaudioPOST /api/media/sound/generatefrontend/src/utils/api/mediaApi.tsfrontend/src/components/MediaGenerationPanel.tsxhandleGeneratedocs/38-MEDIA_GENERATION.mdscripts/test-openrouter-media-routing.mjs (test:package) — modely OpenRouter se zvukovým výstupem streamují vygenerované bajty zvukuopenrouter
Generování videavideoPOST /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) — generování videa odesílá, dotazuje a stahuje přes endpoint poskytovatele
scripts/test-openrouter-media-routing.mjs (test:package) — připravené publikace videa a obnovení řeší ztracená potvrzení commitů
openrouter

Vymáhání

Kontrola balíčku odmítá nedeklarovaná schémata nebo typy pluginů, zastaralá mapování katalogu, trasy pouze pro zjišťování vydávané za spuštění, obsluhy bez odpovídajícího přenosu prohlížeče, akce UI bez volání a viditelného spouštěče, dokumentaci bez tvrzení specifických pro schopnost, testy bez chování v pojmenovaném případu, zastaralý generovaný přehled a neplatné endpointy manifestu, mapy modelů či výchozí hodnoty.

Generování vkládání běží přes POST /api/ollama/embed a lze jej směrovat do vybraného pluginu. GET /api/embeddings/models vypisuje modely; kontrola trasu eviduje pouze jako zjišťování a nikdy ji nepřijímá jako důkaz funkčnosti.

Zdrojový kontrakt identifikuje každý zaměřený test chování a jeho běh. Skripty backendu musí být registrované v test:package; specifikace frontendu musí najít skript test:e2e založený na Playwright. Živé zjišťování může zúžit katalog modelů, ale nevytváří novou spustitelnou schopnost.