Chuyển tới nội dung chính

Hợp đồng khả năng

Danh mục này được scripts/test-capability-contracts.mjs thực thi. Một khả năng của nhà cung cấp chưa hoàn chỉnh cho đến khi lược đồ và ánh xạ danh mục, trình xử lý có thể thực thi, máy khách trình duyệt tương ứng, hành động UI có tên, tài liệu, kiểm thử hành vi tập trung và các manifest đi kèm đều thống nhất.

Khả năngLoại pluginTuyến có thể thực thiMáy khách trình duyệtHành động UITài liệuKiểm thử hành vi tập trungĐịnh nghĩa đi kèm
Trò chuyện / hoàn tấtchat, completionWS /ws (chat_stream)frontend/src/hooks/useChat.tsfrontend/src/pages/ChatPage.tsxhandleSendMessagedocs/08-PLUGIN_ARCHITECTURE.mdscripts/test-chat-provider-selection.mjs (test:package) — định tuyến plugin chính xác đến nhà cung cấp đã chọn cho yêu cầu thường và streaminganthropic, codex-oauth, gemini, github, groq, huggingface, kimi-code, llama-cpp, mistral, mlx-lm, openai, openrouter
EmbeddingembeddingPOST /api/ollama/embed
GET /api/embeddings/models (chỉ khám phá)
frontend/src/utils/api/modelApi.tsfrontend/src/components/ModelManager.tsxhandleGenerateEmbeddingsdocs/09-RAG_FEATURE.mdscripts/test-plugin-capability-routing.mjs (test:package) — các khả năng Hugging Face bỏ qua endpoint Chat chung và dùng payload tác vụhuggingface
Tạo hình ảnhimagePOST /api/image-gen/generatefrontend/src/utils/api/imageGenApi.tsfrontend/src/components/ImageGenerationPanel.tsxhandleGeneratedocs/38-MEDIA_GENERATION.mdscripts/test-image-generation-routing.mjs (test:package) — tạo hình ảnh dùng nhà cung cấp đã chọn và cài đặt OpenAI theo phạm vi người dùngcomfyui, huggingface, openai, openrouter
Giọng nói thành văn bảnsttPOST /api/stt/transcribefrontend/src/utils/api/sttApi.tsfrontend/src/hooks/useDictation.tstoggledocs/42-SPEECH_TO_TEXT.mdscripts/test-stt-routing.mjs (test:package) — STT gửi yêu cầu multipart tương thích OpenAI đến tuyến đã chọn
frontend/e2e/stt.spec.ts (test:e2e) — đầu vào giọng nói của nhà cung cấp công bố tuyến và phiên âm âm thanh đã ghi
huggingface, openai
Văn bản thành giọng nóittsPOST /api/tts/generatefrontend/src/utils/api/ttsApi.tsfrontend/src/components/TTSButton.tsxhandlePlaydocs/38-MEDIA_GENERATION.mdscripts/test-tts-routing.mjs (test:package) — TTS định tuyến bí danh mô hình dùng chung qua plugin và valve người dùng đã chọn
frontend/e2e/tts-playback.spec.ts (test:e2e) — đọc thành tiếng theo lô dùng lại giọng đã lưu được chọn cho mọi lô
elevenlabs, huggingface, kyutai-tts-1.6b, kyutai-tts, longcat-audiodit, openai-tts, openai, openrouter, qwen-tts
Tạo âm thanhaudioPOST /api/media/sound/generatefrontend/src/utils/api/mediaApi.tsfrontend/src/components/MediaGenerationPanel.tsxhandleGeneratedocs/38-MEDIA_GENERATION.mdscripts/test-openrouter-media-routing.mjs (test:package) — các mô hình đầu ra âm thanh OpenRouter truyền trực tuyến byte âm thanh được tạoopenrouter
Tạo videovideoPOST /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) — tạo video gửi, thăm dò và tải xuống qua endpoint nhà cung cấp
scripts/test-openrouter-media-routing.mjs (test:package) — các lần phát hành video đã chuẩn bị và tiếp tục xử lý xác nhận commit bị mất
openrouter

Thực thi

Cổng kiểm tra gói từ chối lược đồ hoặc loại plugin chưa khai báo, ánh xạ danh mục lỗi thời, tuyến chỉ dùng để khám phá nhưng được trình bày như thực thi, trình xử lý không có phương thức truyền tải trình duyệt tương ứng, hành động UI không có lệnh gọi và kích hoạt hiển thị, tài liệu không có khẳng định riêng cho khả năng, kiểm thử không có hành vi trong ca kiểm thử được đặt tên, danh mục được tạo đã cũ, cùng endpoint manifest, ánh xạ mô hình hoặc giá trị mặc định không hợp lệ.

Việc tạo embedding được thực thi qua POST /api/ollama/embed và có thể định tuyến đến plugin embedding đã chọn. GET /api/embeddings/models liệt kê mô hình; cổng kiểm tra ghi nhận đây là tuyến chỉ dành cho khám phá và không bao giờ xem nó là bằng chứng rằng việc tạo embedding hoạt động.

Hợp đồng nguồn xác định từng kiểm thử hành vi tập trung và trình chạy của nó. Tập lệnh backend phải được đăng ký trong test:package; đặc tả frontend phải được tập lệnh test:e2e dựa trên Playwright tìm thấy. Khám phá trực tiếp có thể thu hẹp danh mục mô hình nhưng không tạo ra khả năng thực thi mới.