---
summary: 'OpenClaw จัดโครงสร้างรันไทม์เอเจนต์ในตัวอย่างไร: โครงสร้างโค้ด ขอบเขต ไฟล์กำกับทรัพยากร และการเลือกรันไทม์'
title: สถาปัตยกรรมรันไทม์ของเอเจนต์
x-i18n:
    generated_at: "2026-07-19T18:01:17Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: 3e09ff21b4369a7c102db51e4458ad3ba1e86c9fe43a3a8bff72eef1713d2d51
    source_path: agent-runtime-architecture.md
    workflow: 16
---

OpenClaw เป็นเจ้าของรันไทม์เอเจนต์ในตัว โค้ดรันไทม์อยู่ภายใต้ `src/agents/` การรับส่งข้อมูลของโมเดล/ผู้ให้บริการอยู่ภายใต้ `src/llm/` และสัญญาที่เปิดให้ Plugin ใช้งานจะแสดงผ่าน barrel ของ `openclaw/plugin-sdk/*`

## โครงสร้างรันไทม์

| พาธ                                | รับผิดชอบ                                                                                                                                                                                                                      |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `src/agents/embedded-agent-runner/` | ลูปการลองทำงานในตัว (`run.ts`, `run/`) การเลือกโมเดลและการปรับผู้ให้บริการให้อยู่ในรูปแบบมาตรฐาน (`model*.ts`) พารามิเตอร์คำขอแยกตามผู้ให้บริการ (`extra-params.*`) Compaction การเชื่อมต่อทรานสคริปต์และเซสชัน                            |
| `src/agents/sessions/`              | การคงอยู่ของเซสชัน (`session-manager.ts`) การค้นหาทรัพยากร (`package-manager.ts`, `resource-loader.ts`) การโหลด `extensions` ภายในเซสชัน เทมเพลตพรอมต์ Skills ธีม และตัวแสดงผลเครื่องมือที่ใช้ TUI เป็นระบบเบื้องหลัง (`tools/`) |
| `packages/agent-core/`              | แกนหลักของเอเจนต์ที่นำกลับมาใช้ใหม่ได้ (`@openclaw/agent-core`): ลูปเอเจนต์ ชนิดของฮาร์เนส ข้อความ ตัวช่วย Compaction เทมเพลตพรอมต์ Skills และสัญญาการจัดเก็บเซสชัน                                                           |
| `src/agents/runtime/`               | ฟาซาดของ OpenClaw ที่เชื่อม `@openclaw/agent-core` เข้ากับรันไทม์ LLM ของ SDK สำหรับ Plugin และส่งออกซ้ำพร้อมยูทิลิตีพร็อกซีภายในเครื่อง                                                                                             |
| `src/agents/agent-tools*.ts`        | นิยามเครื่องมือที่ OpenClaw เป็นเจ้าของ สคีมาพารามิเตอร์ นโยบายเครื่องมือ อะแดปเตอร์ก่อน/หลังการเรียกเครื่องมือ และเครื่องมือแก้ไขของโฮสต์/แซนด์บ็อกซ์                                                                                            |
| `src/agents/agent-hooks/`           | ฮุกของรันไทม์ในตัว: มาตรการป้องกัน Compaction คำสั่ง Compaction และการตัดบริบท                                                                                                                                   |
| `src/agents/harness/`               | รีจิสทรีฮาร์เนส นโยบายการเลือก และวงจรชีวิตสำหรับฮาร์เนสในตัวและฮาร์เนสที่ลงทะเบียนโดย Plugin                                                                                                                       |
| `src/llm/`                          | รีจิสทรีโมเดล/ผู้ให้บริการ ตัวช่วยการรับส่งข้อมูล และการติดตั้งใช้งานสตรีมเฉพาะผู้ให้บริการ (`src/llm/providers/`)                                                                                                          |

## ขอบเขต

แกนหลักเรียกรันไทม์ในตัวผ่านโมดูล OpenClaw และ barrel ของ SDK โดยไม่มีแพ็กเกจเฟรมเวิร์กเอเจนต์ภายนอกเหลืออยู่ Plugin ใช้จุดเริ่มต้น `openclaw/plugin-sdk/*` ที่มีเอกสารกำกับ และไม่นำเข้าส่วนภายในของ `src/**`

`@earendil-works/pi-tui` ยังคงเป็นการขึ้นต่อกันของบุคคลที่สาม ซึ่งเป็นชุดเครื่องมือคอมโพเนนต์เทอร์มินัลที่ TUI ภายในเครื่องและตัวแสดงผลเครื่องมือของเซสชันใช้ การนำมาไว้ภายในจะเป็นงานรวมซอร์สของการขึ้นต่อกันแยกต่างหาก

## แมนิเฟสต์

แพ็กเกจทรัพยากรประกาศทรัพยากร OpenClaw ในเมทาดาทา `package.json` รายการเป็นพาธไฟล์หรือ glob ที่สัมพันธ์กับรากของแพ็กเกจ:

```json
{
  "openclaw": {
    "extensions": ["extensions/index.ts"],
    "skills": ["skills/*.md"],
    "prompts": ["prompts/*.md"],
    "themes": ["themes/*.json"]
  }
}
```

ประเภททรัพยากรที่ไม่ได้ระบุไว้ในแมนิเฟสต์จะย้อนกลับไปใช้การค้นหาไดเรกทอรี `extensions/`, `skills/`, `prompts/` และ `themes/` ตามแบบแผน

## การเลือกรันไทม์

- รหัสรันไทม์ในตัวคือ `openclaw` นามแฝงเดิม `pi` จะถูกปรับเป็น `openclaw`; `codex-app-server` จะถูกปรับเป็น `codex`
- ฮาร์เนสของ Plugin ลงทะเบียนรหัสรันไทม์เพิ่มเติม (ตัวอย่างเช่น `codex`)
- นโยบายรันไทม์คือการกำหนดค่า `agentRuntime.id` ที่มีขอบเขตตามโมเดล/ผู้ให้บริการ (รายการโมเดลมีลำดับความสำคัญเหนือรายการผู้ให้บริการ) หากไม่ได้ตั้งค่าหรือเป็น `default` จะได้รับการตีความเป็น `auto`
- `auto` จะเลือกฮาร์เนสของ Plugin ที่ลงทะเบียนไว้และรองรับเส้นทางผู้ให้บริการที่มีผล มิฉะนั้นจะเลือกรันไทม์ OpenClaw ในตัว คำนำหน้าผู้ให้บริการหรือโมเดลเพียงอย่างเดียวจะไม่เลือกฮาร์เนส
- OpenAI อาจเลือก `codex` โดยปริยายได้เฉพาะสำหรับเส้นทาง Platform Responses หรือ ChatGPT Responses อย่างเป็นทางการผ่าน HTTPS ที่ตรงกันทุกประการและไม่มีการแทนที่คำขอที่ผู้ใช้กำหนด อะแดปเตอร์ Completions ปลายทางที่กำหนดเอง และเส้นทางที่มีพฤติกรรมคำขอซึ่งผู้ใช้กำหนดจะยังคงใช้ `openclaw`; ระบบจะปฏิเสธปลายทาง HTTP แบบข้อความธรรมดาที่เป็นทางการ ดู [รันไทม์เอเจนต์โดยปริยายของ OpenAI](/th/providers/openai#implicit-agent-runtime)

## รุ่นของรันไทม์โมเดล

การเริ่มต้น Gateway และการเผยแพร่การกำหนดค่า Plugin หรือการยืนยันตัวตน จะสร้างรุ่นรันไทม์โมเดลที่เตรียมไว้หนึ่งรุ่นต่อเอเจนต์ที่กำหนดค่าไว้ แต่ละรุ่นเป็นเจ้าของเทมเพลตการยืนยันตัวตนที่ค้นพบ รีจิสทรีโมเดล และแค็ตตาล็อกโมเดลที่ฉายผลแล้วในรูปแบบสแนปช็อตแบบอะตอมมิกหนึ่งชุด การทำงานของเอเจนต์จะแยกสำเนาที่แก้ไขได้ของที่เก็บการยืนยันตัวตนและรีจิสทรีจากสแนปช็อตนั้น ส่วนพาธการเรียกดู สถานะ Cron doctor TUI PDF และรูปภาพจะอ่านแค็ตตาล็อกที่เผยแพร่แล้วแทนการค้นหาระบบไฟล์ซ้ำ

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

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

- [เวิร์กโฟลว์รันไทม์เอเจนต์ OpenClaw](/th/openclaw-agent-runtime)
- [รันไทม์เอเจนต์](/th/concepts/agent-runtimes)
