Providers

ClawRouter

ClawRouter มอบคีย์เดียวที่กำหนดขอบเขตด้วยนโยบายให้ OpenClaw สำหรับผู้ให้บริการโมเดลต้นทางหลายราย Plugin clawrouter ที่รวมมาในชุดจะค้นหาเฉพาะโมเดลที่คีย์นั้นอนุญาต กำหนดเส้นทางของแต่ละโมเดลผ่านโปรโตคอลที่ประกาศไว้ และรายงาน งบประมาณของคีย์และการใช้งานรวมบนพื้นผิวแสดงการใช้งานของ OpenClaw

ข้อมูลประจำตัวต้นทางและการส่งต่อตามผู้ให้บริการจะยังคงอยู่ใน ClawRouter ดังนั้น จึงไม่จำเป็นต้องติดตั้งหรือยืนยันตัวตน Plugin ของผู้ให้บริการต้นทางแต่ละรายบน โฮสต์ OpenClaw Plugin นี้รวมมากับ OpenClaw (enabledByDefault: true) เพียงมีข้อมูลประจำตัว ClawRouter ที่ออกให้เท่านั้น

คุณสมบัติ ค่า
ผู้ให้บริการ clawrouter
Plugin รวมมาในชุด (รวมอยู่ใน OpenClaw)
การยืนยันตัวตน CLAWROUTER_API_KEY
URL เริ่มต้น https://clawrouter.openclaw.ai
แค็ตตาล็อกโมเดล กำหนดขอบเขตตามข้อมูลประจำตัวผ่าน /v1/catalog
โควตา งบประมาณและการใช้งานรายเดือนผ่าน /v1/usage

เริ่มต้นใช้งาน

  • รับข้อมูลประจำตัวที่กำหนดขอบเขต

    ขอข้อมูลประจำตัวจากผู้ดูแลระบบ ClawRouter โดยนโยบายของข้อมูลประจำตัวนั้นต้องครอบคลุม ผู้ให้บริการ โมเดล และงบประมาณรายเดือนที่ควรใช้ ข้อมูลประจำตัวจะ แสดงเพียงครั้งเดียวเมื่อออกให้

  • กำหนดค่า OpenClaw

    bash
    export CLAWROUTER_API_KEY="..."openclaw onboard --auth-choice clawrouter-api-keyopenclaw plugins enable clawrouter

    clawrouter รวมมาในชุดและเปิดใช้งานตามค่าเริ่มต้น หากการกำหนดค่าตั้งค่า plugins.allow ให้เพิ่ม clawrouter ลงในรายการนั้นก่อนเปิดใช้งาน สำหรับ การติดตั้งใช้งานแบบกำหนดเอง ให้ตั้งค่า models.providers.clawrouter.baseUrl เป็น ต้นทางของ ClawRouter โดยค่าเริ่มต้นคือ https://clawrouter.openclaw.ai

  • แสดงรายการโมเดลที่ได้รับอนุญาต

    bash
    openclaw models list --all --provider clawrouter

    ใช้การอ้างอิงโมเดลที่ส่งคืนมาตามที่แสดงทุกประการ โดยยังคงเนมสเปซต้นทางไว้ เช่น clawrouter/openai/gpt-5.5, clawrouter/anthropic/claude-sonnet-4-6 หรือ clawrouter/google/gemini-3.5-flash หากกำหนดค่า agents.defaults.modelPolicy.allow ให้เพิ่มการอ้างอิง ClawRouter ที่เลือกแต่ละรายการลงไป

  • เลือกโมเดล

    bash
    openclaw models set clawrouter/<provider>/<model>

    นอกจากนี้ยังสามารถเลือกโมเดลที่ส่งคืนมาสำหรับการเรียกใช้หนึ่งครั้งด้วย openclaw agent --model clawrouter/<provider>/<model> --message "..."

  • การติดตั้งใช้งานแบบไม่โต้ตอบที่มีการจัดการ

    เก็บคีย์พร็อกซีไว้ในการฉีดข้อมูลลับของเวิร์กโหลด และจัดเก็บเฉพาะ SecretRef ใน openclaw.json ฟิลด์มาตรฐานสำหรับการจัดการมีดังนี้:

    วัตถุประสงค์ ฟิลด์การกำหนดค่าหรือสภาพแวดล้อม
    ต้นทางของเราเตอร์ models.providers.clawrouter.baseUrl
    ข้อมูลประจำตัว models.providers.clawrouter.apiKey -> env SecretRef
    ค่าข้อมูลลับ CLAWROUTER_API_KEY ในสภาพแวดล้อมของกระบวนการ Gateway
    โมเดลเริ่มต้น agents.defaults.model.primary -> clawrouter/<provider>/<model>
    แท็กเวิร์กโหลด models.providers.clawrouter.headers.X-ClawRouter-Project-Id (ไม่บังคับ)

    ตัวอย่างเช่น ตัวควบคุมการติดตั้งใช้งานสามารถเป็นเจ้าของแพตช์ JSON5 นี้:

    json5
    {  plugins: {    entries: { clawrouter: { enabled: true } },  },  models: {    providers: {      clawrouter: {        baseUrl: "https://clawrouter.internal.example",        apiKey: {          source: "env",          provider: "default",          id: "CLAWROUTER_API_KEY",        },        headers: {          "X-ClawRouter-Project-Id": "fakeco",        },      },    },  },  agents: {    defaults: {      model: { primary: "clawrouter/openai/gpt-5.5" },    },  },}

    หากการติดตั้งใช้งานตั้งค่า plugins.allow ให้คงรายการที่มีอยู่และเพิ่ม clawrouter ตรวจสอบความถูกต้องและนำไปใช้โดยไม่ใช้วิซาร์ดแบบโต้ตอบ:

    bash
    openclaw config patch --file ./clawrouter.patch.json5 --dry-run --jsonopenclaw config patch --file ./clawrouter.patch.json5

    การทดลองเรียกใช้จะแก้ค่า SecretRef แต่จะไม่แสดงค่าของข้อมูลลับ หากต้องการหมุนเวียน ข้อมูลประจำตัว ให้อัปเดต Secret ภายนอกที่จ่ายค่า CLAWROUTER_API_KEY และ รีสตาร์ตเวิร์กโหลด Gateway เพื่อโหลดสภาพแวดล้อมของกระบวนการใหม่ ไฟล์การกำหนดค่าและการอ้างอิงโมเดลจะไม่เปลี่ยนแปลง

    สำหรับ Gateway แบบ Docker สแตนด์อโลนที่สร้างจากซอร์ส ClawRouter รวมอยู่ใน รันไทม์รากแล้ว ให้เลือกเฉพาะ Plugin ช่องทางที่ต้องจัดแพ็กเกจแยกต่างหาก เช่น OPENCLAW_EXTENSIONS=clickclack, slack หรือ msteams; ดู อิมเมจที่สร้างจากซอร์สพร้อม Plugin ที่เลือก การติดตั้งใช้งานแบบไฟล์เก็บถาวร/อุปกรณ์ต้องจัดแพ็กเกจซอร์สที่นำมารวมเดียวกันผ่าน ไปป์ไลน์อาร์ติแฟกต์ของตนเอง แทนการใช้อิมเมจ OCI

    ความพร้อมและหลักฐานจากระบบจริง

    การตรวจสอบเหล่านี้พิสูจน์ขอบเขตที่ต่างกัน อย่าใช้รายการหนึ่งแทนอีกรายการ:

    bash
    # ตรวจสอบเฉพาะสถานะกระบวนการ ClawRouter โดยไม่ใช้ข้อมูลประจำตัวหรือโมเดลต้นทางcurl -fsS https://clawrouter.internal.example/v1/health # ตรวจสอบเฉพาะความพร้อมเมื่อเริ่มต้น Gateway ของ OpenClaw โดยไม่มีการเรียกโมเดลcurl -fsS http://127.0.0.1:18789/readyz # การค้นพบแค็ตตาล็อกที่กำหนดขอบเขตตามข้อมูลประจำตัวopenclaw models list --all --provider clawrouter --json # โพรบการอนุมานจริงขั้นต่ำผ่านผู้ให้บริการ ClawRouter ที่กำหนดค่าไว้openclaw models status --probe --probe-provider clawrouter --probe-max-tokens 8 --json # คาแนรีของเวิร์กโหลดโดยใช้การอ้างอิงโมเดลที่ได้รับอนุญาตอย่างถูกต้องopenclaw agent --agent main \  --model clawrouter/openai/gpt-5.5 \  --message "ตอบกลับให้ตรงตามนี้ทุกประการ: CLAWROUTER_CANARY_OK" \  --json

    ใช้โมเดลที่แค็ตตาล็อกตามขอบเขตส่งคืนมา แทนการคัดลอกโมเดลตัวอย่าง โดยไม่ตรวจสอบ การตอบกลับ /readyz ที่สำเร็จหมายความว่า Gateway สามารถให้บริการ คำขอได้ แต่ไม่ได้ยืนยันว่า ClawRouter ข้อมูลประจำตัวของระบบ หรือผู้ให้บริการ ต้นทางพร้อมใช้งาน โพรบโมเดลและคาแนรีของเอเจนต์คือหลักฐานการอนุมาน

    สำหรับการวินิจฉัยในระบบจริง ให้เรียกคาแนรีและตรวจสอบบันทึกมาตรฐานของ Gateway การวินิจฉัยการขนส่งโมเดลเฉพาะเมตาดาต้าที่มีอยู่จะส่งบรรทัดในรูปแบบดังนี้:

    text
    [model-fetch] เริ่ม provider=clawrouter api=openai-responses model=openai/gpt-5.5 method=POST url=https://clawrouter.internal.example/v1/responses[model-fetch] การตอบกลับ provider=clawrouter api=openai-responses model=openai/gpt-5.5 status=200

    Plugin จะส่งส่วนหัว X-ClawRouter-Client, X-ClawRouter-Agent-Id และ X-ClawRouter-Session-Id ที่มีความยาวจำกัด เมื่อมีตัวระบุเหล่านั้น นอกจากนี้ยัง แมป callId (<run-id>:model:<n>) สำหรับการวินิจฉัยของการเรียกโมเดลไปยัง X-Request-ID เพื่อให้สามารถเชื่อมโยงเหตุการณ์การเรียกโมเดลของ OpenClaw กับ เส้นทางตรวจสอบเฉพาะเมตาดาต้าของ ClawRouter ได้ ค่าที่อยู่ภายในงบประมาณ request-id 128 อักขระจะเหมือนกัน ค่าที่ยาวกว่าจะคงคำต่อท้าย :model:<n> และแฮชแบบ กำหนดผลลัพธ์แน่นอน เพื่อให้การเรียกแต่ละครั้งยังมีขนาดจำกัดและเชื่อมโยงกันได้ เมตาดาต้าการติดตั้งใช้งานแบบคงที่ เช่น X-ClawRouter-Project-Id สามารถตั้งค่าในแมป headers ของผู้ให้บริการได้ ส่วนหัวสำหรับการระบุเอเจนต์และเซสชันยังคงมีขีดจำกัดแยกต่างหากที่ 256 อักขระ รหัสคำขออัตโนมัติที่มีอักขระนอกชุดตัวระบุ ASCII ของ ClawRouter จะใช้รูปแบบที่จำกัดขนาดและกำหนดผลลัพธ์แน่นอนแบบเดียวกัน ส่วนหัวที่กำหนดค่าไว้อย่างชัดเจน รวมถึง X-Request-ID ในรูปแบบตัวพิมพ์ใดก็ตาม จะมี ลำดับความสำคัญเหนือค่าอัตโนมัติ การวินิจฉัยการขนส่งจะบันทึกเมตาดาต้าการกำหนดเส้นทางและการตอบกลับ แต่จะไม่บันทึกข้อมูลประจำตัว รหัสคำขอ พรอมต์ หรือผลลัพธ์ที่สร้าง เหตุการณ์ตรวจสอบของ ClawRouter เองจะแสดงผู้ให้บริการต้นทางที่เลือกและ สถานะการเก็บรักษาเนื้อหา

    การค้นพบโมเดล

    GET /v1/catalog ส่งคืน { providers: [...] } โดยรายการของผู้ให้บริการแต่ละรายการ จะแสดง models[] ของตนเอง (พร้อมรหัสต้นทาง ความสามารถ และราคา) และ เส้นทางคำขอที่รองรับ OpenClaw ไม่มีรายการโมเดล ClawRouter แบบคงที่ ชุดที่สองให้มาด้วย โมเดลในแค็ตตาล็อกจะได้รับการประกาศเป็นโมเดล OpenClaw เมื่อ:

    • นโยบายของข้อมูลประจำตัวอนุญาตผู้ให้บริการของโมเดลนั้น
    • โมเดลในแค็ตตาล็อกประกาศความสามารถ LLM ที่รองรับ (llm.responses, llm.chat, llm.messages หรือ llm.stream พร้อมเส้นทางสตรีมมิง ที่ตรงกัน) และ
    • ผู้ให้บริการเปิดเผยเส้นทางที่ตรงกันสำหรับการขนส่งประเภทใดประเภทหนึ่งด้านล่าง

    การเพิ่มโมเดลไปยังผู้ให้บริการ ClawRouter ที่รองรับไม่ต้องออกรุ่น OpenClaw ใหม่: การรีเฟรชแค็ตตาล็อกครั้งถัดไป (แคช 60 วินาทีต่อขอบเขตข้อมูลประจำตัว) จะค้นพบ โมเดลนั้น โมเดลที่ต้องใช้โปรโตคอลการรับส่งแบบใหม่ต้องเพิ่มการรองรับใน Plugin ก่อน

    Plugin โปรโตคอลและผู้ให้บริการ

    ClawRouter เป็นเจ้าของข้อมูลประจำตัวต้นทาง แค็ตตาล็อกของระบบจะบอก OpenClaw ว่าต้องใช้ การขนส่งใด จึงไม่จำเป็นต้องติดตั้ง Plugin การยืนยันตัวตนของบริษัทต้นทางทุกแห่ง

    ความสามารถ/เส้นทางในแค็ตตาล็อก การขนส่งของ OpenClaw
    llm.responses (ผู้ให้บริการที่เข้ากันได้กับ OpenAI) openai-responses
    llm.chat (ผู้ให้บริการที่เข้ากันได้กับ OpenAI) openai-completions
    llm.messages + เส้นทาง anthropic.messages anthropic-messages
    llm.stream + เส้นทาง google.generate_content แบบสตรีมมิง google-generative-ai

    Plugin ยังใช้นโยบายการเล่นซ้ำและสคีมาของเครื่องมือที่ตรงกันสำหรับ ตระกูลเหล่านั้นด้วย (ความเข้ากันได้ของสคีมาเครื่องมือ OpenAI/DeepSeek/Gemini/Perplexity และนโยบายการเล่นซ้ำแบบเนทีฟของ Anthropic และ Google Gemini) โมเดล Perplexity จะได้รับ การเขียนสคีมาใหม่อย่างเข้มงวด: ระบบจะลบ patternProperties และ additionalProperties และ ทุกสคีมาวัตถุจะประกาศ properties เนื่องจาก Perplexity ปฏิเสธสคีมาเครื่องมือ ที่ไม่มีค่าเหล่านี้ ผู้ให้บริการในแค็ตตาล็อกที่เปิดเผยเฉพาะ รูปแบบคำขอที่ไม่รองรับจะไม่ถูกประกาศเป็นโมเดลข้อความของ OpenClaw โดยตั้งใจ ให้ทำให้ผู้ให้บริการเหล่านั้นเป็นมาตรฐานตามหนึ่งในสัญญาที่รองรับใน ClawRouter แทนการส่งเพย์โหลดที่เข้ากันไม่ได้

    โควตาและการใช้งาน

    การตอบกลับ /v1/usage ของ ClawRouter จะป้อนข้อมูลให้พื้นผิวแสดงการใช้งาน ของผู้ให้บริการ OpenClaw ตามปกติ ได้แก่ ยอดรวมคำขอ โทเค็น และค่าใช้จ่าย รวมถึงหน้าต่าง งบประมาณรายเดือนเมื่อคีย์มีขีดจำกัด คีย์ที่ไม่มีการวัดปริมาณยังคงแสดงการใช้งานรวม โดยไม่มีหน้าต่างเปอร์เซ็นต์

    การค้นหาโควตาใช้คีย์ตามขอบเขตเดียวกับการค้นพบโมเดล การค้นหาโควตา ที่ล้มเหลวจะไม่ขัดขวางการเรียกใช้โมเดล

    ตรวจสอบสแนปช็อตจากระบบจริงด้วย:

    bash
    openclaw status --usageopenclaw models status

    สแนปช็อตผู้ให้บริการเดียวกันพร้อมใช้งานสำหรับ /status ในแชตและ UI การใช้งานของ OpenClaw งบประมาณมีขอบเขตครอบคลุมทั้งนโยบาย ดังนั้นคำขอที่มาจากไคลเอนต์อื่น ซึ่งใช้นโยบาย ClawRouter เดียวกันอาจเปลี่ยนเปอร์เซ็นต์คงเหลือได้

    การแก้ไขปัญหา

    อาการ การตรวจสอบ
    ไม่มีโมเดล ClawRouter ยืนยันว่าเปิดใช้งาน Plugin และ plugins.allow อนุญาต จากนั้นตรวจสอบว่าข้อมูลประจำตัวยังใช้งานได้และอนุญาตผู้ให้บริการที่พร้อมอย่างน้อยหนึ่งราย
    ไม่พบโมเดล ClawRouter ที่กำหนดค่าไว้ ตรวจสอบความสามารถ /v1/catalog และการรองรับเส้นทางของโมเดลนั้น สัญญาการขนส่งที่ไม่รองรับจะถูกกรองออกโดยตั้งใจ
    นโยบายปฏิเสธการแทนที่โมเดล เพิ่มการอ้างอิงแค็ตตาล็อกที่ตรงกันทุกประการหรือ clawrouter/* ไปยัง agents.defaults.modelPolicy.allow
    401 หรือ 403 จากแค็ตตาล็อกหรือการใช้งาน ออกข้อมูลประจำตัว ClawRouter ใหม่หรือกำหนดขอบเขตใหม่ OpenClaw จะไม่ย้อนกลับไปใช้คีย์ของผู้ให้บริการต้นทาง
    การเรียกโมเดลล้มเหลวหลังการค้นพบ ตรวจสอบการเชื่อมต่อผู้ให้บริการและสถานะของระบบต้นทางใน ClawRouter แล้วลองอีกครั้งหลังสถานะความพร้อมกลับคืนมา
    การใช้งานมียอดรวมแต่ไม่มีเปอร์เซ็นต์ นโยบายไม่มีการวัดปริมาณ ให้เพิ่มงบประมาณรายเดือนใน ClawRouter เพื่อแสดงหน้าต่างเปอร์เซ็นต์

    พฤติกรรมด้านความปลอดภัย

    • การค้นพบแค็ตตาล็อกจำกัดขอบเขตตามคีย์พร็อกซีที่กำหนดค่าไว้ และแคชแยกตามขอบเขตข้อมูลประจำตัว (ไดเรกทอรีเอเจนต์ ไดเรกทอรีเวิร์กสเปซ รหัสโปรไฟล์การตรวจสอบสิทธิ์ และ URL ฐาน)
    • คีย์พร็อกซีจะถูกแนบเฉพาะเมื่อส่งคำขอเท่านั้น โดยจะไม่ถูกจัดเก็บไว้ในข้อมูลเมตาของโมเดล
    • ค่าการระบุที่มาและการเชื่อมโยงคำขออัตโนมัติจะถูกตัดช่องว่าง และปฏิเสธอักขระควบคุมก่อนส่ง ค่าการระบุที่มาจำกัดไว้ที่ 256 อักขระ ส่วนรหัสคำขอจำกัดไว้ที่ 128 อักขระ
    • ข้อมูลวินิจฉัยการรับส่งข้อมูลของโมเดลมีเฉพาะข้อมูลเมตา และจะไม่มีคีย์พร็อกซีหรือเนื้อหาของโมเดลรวมอยู่ด้วย
    • รหัสโมเดล Anthropic และ Gemini แบบเนทีฟจะถูกเขียนใหม่เป็นรหัสต้นทางเฉพาะเมื่อส่งเท่านั้น
    • แถวในแค็ตตาล็อกที่ไม่รองรับหรือไม่ได้รับสิทธิ์จะปฏิเสธโดยค่าเริ่มต้นและไม่สามารถเลือกได้

    ที่เกี่ยวข้อง

    Was this useful?
    On this page

    On this page