Przejdź do głównej zawartości

Kontrakty możliwości

Spis jest wymuszany przez scripts/test-capability-contracts.mjs. Możliwość jest kompletna dopiero, gdy schemat i katalog, handler, klient przeglądarki, akcja UI, dokumentacja, test zachowania i manifesty są zgodne.

MożliwośćTypy pluginówTrasaKlientAkcja UIDokumentacjaTestyDefinicje
Chat/completionchat, completionWS /ws (chat_stream)frontend/src/hooks/useChat.tsfrontend/src/pages/ChatPage.tsxhandleSendMessagedocs/08-PLUGIN_ARCHITECTURE.mdscripts/test-chat-provider-selection.mjs (test:package) — dokładne trasowanie zwykłe i streaminganthropic, codex-oauth, gemini, github, groq, huggingface, kimi-code, llama-cpp, mistral, mlx-lm, openai, openrouter
EmbeddingiembeddingPOST /api/ollama/embed
GET /api/embeddings/models (tylko wykrywanie)
frontend/src/utils/api/modelApi.tsfrontend/src/components/ModelManager.tsxhandleGenerateEmbeddingsdocs/09-RAG_FEATURE.mdscripts/test-plugin-capability-routing.mjs (test:package) — Hugging Face używa tras zadaniowychhuggingface
ObrazyimagePOST /api/image-gen/generatefrontend/src/utils/api/imageGenApi.tsfrontend/src/components/ImageGenerationPanel.tsxhandleGeneratedocs/38-MEDIA_GENERATION.mdscripts/test-image-generation-routing.mjs (test:package) — wybrany dostawca i ustawienia użytkownikacomfyui, huggingface, openai, openrouter
STTsttPOST /api/stt/transcribefrontend/src/utils/api/sttApi.tsfrontend/src/hooks/useDictation.tstoggledocs/42-SPEECH_TO_TEXT.mdscripts/test-stt-routing.mjs (test:package) — multipart OpenAI
frontend/e2e/stt.spec.ts (test:e2e) — ujawnienie trasy i transkrypcja
huggingface, openai
TTSttsPOST /api/tts/generatefrontend/src/utils/api/ttsApi.tsfrontend/src/components/TTSButton.tsxhandlePlaydocs/38-MEDIA_GENERATION.mdscripts/test-tts-routing.mjs (test:package) — plugin i ustawienia
frontend/e2e/tts-playback.spec.ts (test:e2e) — głos w partiach
elevenlabs, huggingface, kyutai-tts-1.6b, kyutai-tts, longcat-audiodit, openai-tts, openai, openrouter, qwen-tts
AudioaudioPOST /api/media/sound/generatefrontend/src/utils/api/mediaApi.tsfrontend/src/components/MediaGenerationPanel.tsxhandleGeneratedocs/38-MEDIA_GENERATION.mdscripts/test-openrouter-media-routing.mjs (test:package) — strumień audioopenrouter
WideovideoPOST /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) — wysyłanie, polling, pobieranie i odzyskiwanie potwierdzeńopenrouter

Egzekwowanie

Kontrola odrzuca niezadeklarowane typy, stare mapowania, trasy wykrywania jako wykonanie, handlery bez klienta, akcje bez wywołania, niepełną dokumentację/testy, stary spis i błędne endpointy/mapy/domysły.

Generowanie embeddingów odbywa się przez POST /api/ollama/embed; GET /api/embeddings/models tylko wylicza modele. Skrypty backendu muszą być w test:package, testy frontendowe w test:e2e. Wykrywanie nie tworzy nowej możliwości.