ข้ามไปยังเนื้อหาหลัก

สัญญาความสามารถ

รายการนี้บังคับใช้โดย scripts/test-capability-contracts.mjs ความสามารถของผู้ให้บริการจะยังไม่สมบูรณ์จนกว่า schema และการแมปแคตตาล็อก ตัวจัดการที่ดำเนินการได้ ไคลเอนต์เบราว์เซอร์ที่ตรงกัน การทำงาน UI ที่มีชื่อ เอกสาร การทดสอบพฤติกรรมเฉพาะ และ manifest ที่รวมมาจะสอดคล้องกัน

ความสามารถชนิด pluginเส้นทางที่ดำเนินการได้ไคลเอนต์เบราว์เซอร์การทำงาน UIเอกสารการทดสอบพฤติกรรมเฉพาะนิยามที่รวมมา
แชต/การเติมเต็ม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) — การกำหนดเส้นทาง plugin ที่ตรงจะไปถึงผู้ให้บริการที่เลือกทั้งคำขอปกติและ streaminganthropic, codex-oauth, gemini, github, groq, huggingface, kimi-code, llama-cpp, mistral, mlx-lm, openai, openrouter
EmbeddingembeddingPOST /api/ollama/embed
GET /api/embeddings/models (ค้นหาเท่านั้น)
frontend/src/utils/api/modelApi.tsfrontend/src/components/ModelManager.tsxhandleGenerateEmbeddingsdocs/09-RAG_FEATURE.mdscripts/test-plugin-capability-routing.mjs (test:package) — ความสามารถ Hugging Face ไม่ใช้ endpoint แชตทั่วไปและใช้ payload งานhuggingface
การสร้างรูปภาพ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) — การสร้างรูปภาพใช้ผู้ให้บริการที่เลือกและการตั้งค่า OpenAI ตามผู้ใช้comfyui, huggingface, openai, openrouter
เสียงเป็นข้อความsttPOST /api/stt/transcribefrontend/src/utils/api/sttApi.tsfrontend/src/hooks/useDictation.tstoggledocs/42-SPEECH_TO_TEXT.mdscripts/test-stt-routing.mjs (test:package) — STT ส่งคำขอ multipart ที่เข้ากันได้กับ OpenAI ไปยังเส้นทางที่เลือก
frontend/e2e/stt.spec.ts (test:e2e) — อินพุตเสียงผู้ให้บริการเปิดเผยเส้นทางและถอดเสียงที่บันทึก
huggingface, openai
ข้อความเป็นเสียงttsPOST /api/tts/generatefrontend/src/utils/api/ttsApi.tsfrontend/src/components/TTSButton.tsxhandlePlaydocs/38-MEDIA_GENERATION.mdscripts/test-tts-routing.mjs (test:package) — TTS กำหนดเส้นทางนามแฝงโมเดลร่วมผ่าน plugin และ valve ผู้ใช้ที่เลือก
frontend/e2e/tts-playback.spec.ts (test:e2e) — การอ่านตามชุดใช้เสียงที่บันทึกไว้ซ้ำทุกชุด
elevenlabs, huggingface, kyutai-tts-1.6b, kyutai-tts, longcat-audiodit, openai-tts, openai, openrouter, qwen-tts
การสร้างเสียงaudioPOST /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 streaming ไบต์เสียงที่สร้างopenrouter
การสร้างวิดีโอvideoPOST /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) — การสร้างวิดีโอส่ง ตรวจ และดาวน์โหลดผ่าน endpoint ผู้ให้บริการ
scripts/test-openrouter-media-routing.mjs (test:package) — การเผยแพร่วิดีโอที่เตรียมและทำต่อแก้การรับทราบ commit ที่หาย
openrouter

การบังคับใช้

ด่านแพ็กเกจปฏิเสธ schema หรือชนิด plugin ที่ไม่ประกาศ การแมปแคตตาล็อกเก่า เส้นทางค้นหาอย่างเดียวที่แสดงเป็นการดำเนินการ ตัวจัดการไม่มีการขนส่งเบราว์เซอร์ที่ตรง การทำงาน UI ไม่มีการเรียกและตัวกระตุ้นที่มองเห็น เอกสารไม่มีข้อกล่าวอ้างเฉพาะความสามารถ การทดสอบไม่มีพฤติกรรมในกรณีที่ระบุ รายการที่สร้างเก่า และ endpoint manifest การแมปโมเดล หรือค่าเริ่มต้นที่ไม่ถูกต้อง

การสร้าง embedding ทำผ่าน POST /api/ollama/embed และกำหนดเส้นทางไปยัง plugin embedding ที่เลือกได้ GET /api/embeddings/models แสดงโมเดล ด่านบันทึกเป็นการค้นหาเท่านั้นและไม่ยอมรับเป็นหลักฐานว่าการสร้าง embedding ทำงาน

สัญญาต้นฉบับระบุการทดสอบพฤติกรรมเฉพาะและตัวรัน สคริปต์ backend ต้องลงทะเบียนใน test:package; ข้อกำหนด frontend ต้องถูกค้นพบโดยสคริปต์ test:e2e ที่ใช้ Playwright การค้นหาสดอาจจำกัดแคตตาล็อกโมเดล แต่ไม่สร้างความสามารถดำเนินการใหม่