---
read_when:
    - คุณต้องการคีย์ที่มีการจัดการเพียงคีย์เดียวสำหรับผู้ให้บริการโมเดลหลายราย
    - คุณต้องการการค้นหาโมเดลหรือการรายงานโควตาของ ClawRouter ใน OpenClaw
summary: กำหนดเส้นทางโมเดลตามขอบเขตข้อมูลประจำตัวผ่าน ClawRouter และแสดงโควตาที่มีการจัดการ
title: ClawRouter
x-i18n:
    generated_at: "2026-07-19T07:26:56Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: 929a93e8d1d003e21f792d0fdab9542553ffab374f59d4d0505819b0f719591f
    source_path: providers/clawrouter.md
    workflow: 16
---

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` |

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

<Steps>
  <Step title="รับข้อมูลประจำตัวที่กำหนดขอบเขต">
    ขอข้อมูลประจำตัวจากผู้ดูแลระบบ ClawRouter โดยนโยบายของข้อมูลประจำตัวนั้นต้องครอบคลุม
    ผู้ให้บริการ โมเดล และงบประมาณรายเดือนที่ควรใช้ ข้อมูลประจำตัวจะ
    แสดงเพียงครั้งเดียวเมื่อออกให้
  </Step>
  <Step title="กำหนดค่า OpenClaw">
    ```bash
    export CLAWROUTER_API_KEY="..."
    openclaw onboard --auth-choice clawrouter-api-key
    openclaw plugins enable clawrouter
    ```

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

  </Step>
  <Step title="แสดงรายการโมเดลที่ได้รับอนุญาต">
    ```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 ที่เลือกแต่ละรายการลงไป

  </Step>
  <Step title="เลือกโมเดล">
    ```bash
    openclaw models set clawrouter/<provider>/<model>
    ```

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

  </Step>
</Steps>

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

เก็บคีย์พร็อกซีไว้ในการฉีดข้อมูลลับของเวิร์กโหลด และจัดเก็บเฉพาะ
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 --json
openclaw config patch --file ./clawrouter.patch.json5
```

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

สำหรับ Gateway แบบ Docker สแตนด์อโลนที่สร้างจากซอร์ส ClawRouter รวมอยู่ใน
รันไทม์รากแล้ว ให้เลือกเฉพาะ Plugin ช่องทางที่ต้องจัดแพ็กเกจแยกต่างหาก
เช่น `OPENCLAW_EXTENSIONS=clickclack`, `slack` หรือ `msteams`; ดู
[อิมเมจที่สร้างจากซอร์สพร้อม Plugin ที่เลือก](/th/install/docker#source-built-images-with-selected-plugins)
การติดตั้งใช้งานแบบไฟล์เก็บถาวร/อุปกรณ์ต้องจัดแพ็กเกจซอร์สที่นำมารวมเดียวกันผ่าน
ไปป์ไลน์อาร์ติแฟกต์ของตนเอง แทนการใช้อิมเมจ 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 --usage
openclaw 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 แบบเนทีฟจะถูกเขียนใหม่เป็นรหัสต้นทางเฉพาะเมื่อส่งเท่านั้น
- แถวในแค็ตตาล็อกที่ไม่รองรับหรือไม่ได้รับสิทธิ์จะปฏิเสธโดยค่าเริ่มต้นและไม่สามารถเลือกได้

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

<CardGroup cols={2}>
  <Card title="ผู้ให้บริการโมเดล" href="/th/concepts/model-providers" icon="layers">
    การกำหนดค่าผู้ให้บริการและการเลือกโมเดล
  </Card>
  <Card title="การติดตามการใช้งาน" href="/th/concepts/usage-tracking" icon="chart-line">
    พื้นที่แสดงการใช้งานและสถานะของ OpenClaw
  </Card>
</CardGroup>
