Technical reference
สถาปัตยกรรมรันไทม์ของเอเจนต์
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 ที่สัมพันธ์กับรากของแพ็กเกจ:
{ "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
รุ่นของรันไทม์โมเดล
การเริ่มต้น Gateway และการเผยแพร่การกำหนดค่า Plugin หรือการยืนยันตัวตน จะสร้างรุ่นรันไทม์โมเดลที่เตรียมไว้หนึ่งรุ่นต่อเอเจนต์ที่กำหนดค่าไว้ แต่ละรุ่นเป็นเจ้าของเทมเพลตการยืนยันตัวตนที่ค้นพบ รีจิสทรีโมเดล และแค็ตตาล็อกโมเดลที่ฉายผลแล้วในรูปแบบสแนปช็อตแบบอะตอมมิกหนึ่งชุด การทำงานของเอเจนต์จะแยกสำเนาที่แก้ไขได้ของที่เก็บการยืนยันตัวตนและรีจิสทรีจากสแนปช็อตนั้น ส่วนพาธการเรียกดู สถานะ Cron doctor TUI PDF และรูปภาพจะอ่านแค็ตตาล็อกที่เผยแพร่แล้วแทนการค้นหาระบบไฟล์ซ้ำ
รันไทม์แบบฝังตัวที่ทำงานแยกเดี่ยวจะเผยแพร่สแนปช็อตรูปแบบเดียวกันที่ขอบเขตการเปิดใช้งาน ระบบจะไม่ให้บริการรุ่นที่ล้มเหลวหรือล้าสมัยควบคู่กับรุ่นใหม่ที่ยังไม่สมบูรณ์ เจ้าของวงจรชีวิตต้องเผยแพร่รุ่นทดแทนที่สมบูรณ์ก่อน