Agent coordination
เอเจนต์ ACP — การตั้งค่า
สำหรับภาพรวม คู่มือปฏิบัติงานสำหรับผู้ดูแลระบบ และแนวคิด โปรดดู เอเจนต์ ACP
หน้านี้ครอบคลุมการกำหนดค่าฮาร์เนส acpx การตั้งค่า Plugin สำหรับบริดจ์ MCP และการกำหนดค่าสิทธิ์
ใช้หน้านี้เฉพาะเมื่อตั้งค่าเส้นทาง ACP/acpx สำหรับการกำหนดค่ารันไทม์ app-server แบบเนทีฟของ Codex ให้ใช้ ฮาร์เนส Codex สำหรับคีย์ OpenAI API หรือการกำหนดค่าผู้ให้บริการโมเดลด้วย Codex OAuth ให้ใช้ OpenAI
Codex มีเส้นทาง OpenClaw สองแบบ:
| เส้นทาง | การกำหนดค่า/คำสั่ง | หน้าการตั้งค่า |
|---|---|---|
| Codex app-server แบบเนทีฟ | /codex ..., การอ้างอิงเอเจนต์ openai/gpt-* |
ฮาร์เนส Codex |
| อะแดปเตอร์ Codex ACP แบบระบุชัดเจน | /acp spawn codex, runtime: "acp", agentId: "codex" |
หน้านี้ |
ควรเลือกเส้นทางแบบเนทีฟ เว้นแต่จำเป็นต้องใช้ลักษณะการทำงานของ ACP/acpx โดยเฉพาะ
การรองรับฮาร์เนส acpx (ปัจจุบัน)
นามแฝงฮาร์เนส acpx ที่มีมาให้ในตัว (จากการอ้างอิง acpx ที่ตรึงเวอร์ชันไว้):
| นามแฝง | ครอบ |
|---|---|
claude |
Claude Code |
codex |
Codex CLI |
copilot |
GitHub Copilot CLI |
cursor |
Cursor CLI (cursor-agent acp) |
droid |
Factory Droid |
fast-agent |
fast-agent |
gemini |
Gemini CLI |
iflow |
iFlow CLI |
kilocode |
Kilocode |
kimi |
Kimi CLI |
kiro |
Kiro CLI |
mux |
Mux |
opencode |
OpenCode |
openclaw |
บริดจ์ OpenClaw ACP (openclaw acp แบบเนทีฟ) |
pi |
เอเจนต์เขียนโค้ด Pi |
qoder |
Qoder CLI |
qwen |
Qwen Code |
trae |
Trae CLI |
factory-droid และ factorydroid จะถูกแก้ไขไปยังอะแดปเตอร์ droid ที่มีมาให้ในตัวด้วย
เมื่อ OpenClaw ใช้แบ็กเอนด์ acpx ควรใช้ค่าเหล่านี้สำหรับ agentId เว้นแต่การกำหนดค่า acpx จะกำหนดนามแฝงเอเจนต์แบบกำหนดเองไว้
หากการติดตั้ง Cursor ภายในเครื่องยังคงเปิดเผย ACP เป็น agent acp ให้เขียนทับคำสั่งเอเจนต์ cursor ในการกำหนดค่า acpx แทนการเปลี่ยนค่าเริ่มต้นที่มีมาให้ในตัว
การใช้ acpx CLI โดยตรงสามารถกำหนดเป้าหมายไปยังอะแดปเตอร์ใดก็ได้ผ่าน --agent <command> แต่ช่องทางหลีกเลี่ยงแบบดิบนี้เป็นคุณสมบัติของ acpx CLI (ไม่ใช่เส้นทาง agentId ตามปกติของ OpenClaw)
การควบคุมโมเดลขึ้นอยู่กับความสามารถของอะแดปเตอร์ การอ้างอิงโมเดล Codex ACP จะได้รับการปรับให้เป็นมาตรฐานโดย OpenClaw ก่อนเริ่มต้น ฮาร์เนสอื่นต้องรองรับทั้ง ACP models และ
session/set_model; หากฮาร์เนสไม่เปิดเผยทั้งความสามารถ ACP ดังกล่าวและแฟล็กโมเดลสำหรับเริ่มต้นของตนเอง OpenClaw/acpx จะไม่สามารถบังคับเลือกโมเดลได้
การกำหนดค่าที่จำเป็น
ค่าพื้นฐานของ ACP ส่วนแกนหลัก:
{ acp: { enabled: true, // ไม่บังคับ ค่าเริ่มต้นคือ true; ตั้งเป็น false เพื่อหยุดการส่งงาน ACP ชั่วคราวโดยยังคงการควบคุม /acp ไว้ dispatch: { enabled: true }, backend: "acpx", defaultAgent: "codex", allowedAgents: [ "claude", "codex", "copilot", "cursor", "droid", "gemini", "iflow", "kilocode", "kimi", "kiro", "openclaw", "opencode", "qwen", ], stream: { deliveryMode: "live", }, },}การกำหนดค่าการผูกเธรดขึ้นอยู่กับอะแดปเตอร์ของช่องทาง ตัวอย่างสำหรับ Discord:
{ session: { threadBindings: { enabled: true, idleHours: 24, maxAgeHours: 0, }, }, channels: { discord: { threadBindings: { enabled: true, // ค่าเริ่มต้นเป็น true อยู่แล้ว; แสดงไว้อย่างชัดเจนที่นี่ spawnSessions: true, }, }, },}หากการสร้าง ACP ที่ผูกกับเธรดไม่ทำงาน ให้ตรวจสอบแฟล็กคุณสมบัติของอะแดปเตอร์ก่อน:
- Discord:
channels.discord.threadBindings.spawnSessions=true
การผูกกับบทสนทนาปัจจุบันไม่จำเป็นต้องสร้างเธรดย่อย แต่ต้องมีบริบทบทสนทนาที่ใช้งานอยู่และอะแดปเตอร์ช่องทางที่เปิดเผยการผูกบทสนทนา ACP
โปรดดู ข้อมูลอ้างอิงการกำหนดค่า
การตั้งค่า Plugin สำหรับแบ็กเอนด์ acpx
การติดตั้งแบบแพ็กเกจใช้ Plugin รันไทม์ @openclaw/acpx อย่างเป็นทางการสำหรับ ACP
ให้ติดตั้งและเปิดใช้งานก่อนใช้เซสชันฮาร์เนส ACP:
openclaw plugins install @openclaw/acpxopenclaw config set plugins.entries.acpx.enabled trueการเช็กเอาต์ซอร์สยังสามารถใช้ Plugin เวิร์กสเปซภายในเครื่องได้หลังจาก pnpm install
เริ่มต้นด้วย:
/acp doctorหากปิดใช้งาน acpx ปฏิเสธผ่าน plugins.allow / plugins.deny หรือต้องการ
เปลี่ยนกลับไปใช้ Plugin แบบแพ็กเกจ ให้ใช้พาธแพ็กเกจแบบระบุชัดเจน:
openclaw plugins install @openclaw/acpxopenclaw config set plugins.entries.acpx.enabled trueการติดตั้งเวิร์กสเปซภายในเครื่องระหว่างการพัฒนา:
openclaw plugins install ./path/to/local/acpx-pluginจากนั้นตรวจสอบสถานะแบ็กเอนด์:
/acp doctorการตรวจสอบการเริ่มต้นรันไทม์ acpx
Plugin acpx ฝังรันไทม์ ACP โดยตรง (ไม่มีไบนารีหรือเวอร์ชัน acpx แยกต่างหากให้กำหนดค่า) โดยค่าเริ่มต้น Plugin จะลงทะเบียนแบ็กเอนด์ที่ฝังไว้ระหว่างการเริ่มต้น
Gateway และรอการตรวจสอบการเริ่มต้นก่อนสัญญาณ ready ของ Gateway
ตั้งค่า OPENCLAW_ACPX_RUNTIME_STARTUP_PROBE=0 หรือ
OPENCLAW_SKIP_ACPX_RUNTIME_PROBE=1 เฉพาะสำหรับสคริปต์หรือสภาพแวดล้อมที่ตั้งใจปิดใช้งานการตรวจสอบการเริ่มต้นไว้ เรียกใช้ /acp doctor เพื่อทำการตรวจสอบตามต้องการอย่างชัดเจน
เขียนทับคำสั่งของเอเจนต์ ACP แต่ละตัวด้วยอาร์กิวเมนต์แบบมีโครงสร้าง เมื่อพาธ หรือค่าแฟล็กควรคงเป็นโทเค็น argv เดียว:
{ "plugins": { "entries": { "acpx": { "enabled": true, "config": { "agents": { "claude": { "command": "node", "args": ["/path/to/custom adapter.mjs", "--verbose"] } } } } } }}agents.<id>.commandคือไฟล์ปฏิบัติการหรือสตริงคำสั่งที่มีอยู่สำหรับเอเจนต์ ACP นั้นagents.<id>.argsไม่บังคับ แต่ละรายการในอาร์เรย์จะถูกใส่อัญประกาศสำหรับเชลล์ก่อนที่ OpenClaw จะส่งผ่านรีจิสทรีสตริงคำสั่ง acpx ปัจจุบัน
โปรดดู Plugins
การดาวน์โหลดอะแดปเตอร์อัตโนมัติ
acpx จะดาวน์โหลดอะแดปเตอร์ ACP โดยอัตโนมัติ (เช่น บริดจ์ Claude และ Codex ACP)
ผ่าน npx เมื่อใช้งานครั้งแรก ไม่จำเป็นต้องติดตั้งแพ็กเกจอะแดปเตอร์
ด้วยตนเอง และไม่มีขั้นตอนหลังการติดตั้งแยกต่างหากสำหรับ OpenClaw หากการดาวน์โหลดหรือการสร้างโปรเซสอะแดปเตอร์ล้มเหลว /acp doctor จะรายงานความล้มเหลว
บริดจ์ MCP สำหรับเครื่องมือ Plugin
โดยค่าเริ่มต้น เซสชัน ACPX จะไม่เปิดเผยเครื่องมือที่ลงทะเบียนโดย Plugin ของ OpenClaw ให้แก่ ฮาร์เนส ACP
หากต้องการให้เอเจนต์ ACP เช่น Codex หรือ Claude Code เรียกใช้เครื่องมือของ Plugin OpenClaw ที่ติดตั้งไว้ เช่น การเรียกคืน/จัดเก็บหน่วยความจำ ให้เปิดใช้งานบริดจ์เฉพาะ:
openclaw config set plugins.entries.acpx.config.pluginToolsMcpBridge trueสิ่งที่การตั้งค่านี้ทำ:
- แทรกเซิร์ฟเวอร์ MCP ที่มีมาให้ในตัวชื่อ
openclaw-plugin-toolsลงในการบูตเซสชัน ACPX - เปิดเผยเครื่องมือ Plugin ที่ลงทะเบียนไว้แล้วโดย Plugin ของ OpenClaw ที่ติดตั้งและเปิดใช้งานอยู่
- ส่งข้อมูลประจำตัวของเซสชัน ACP ที่ใช้งานอยู่ให้แก่แฟกทอรีเครื่องมือ Plugin เพื่อให้ เครื่องมือที่มีขอบเขตระดับเอเจนต์ยังคงอยู่ในเนมสเปซของเอเจนต์นั้น
- กำหนดให้คุณสมบัตินี้ต้องเปิดใช้งานอย่างชัดเจนและปิดไว้โดยค่าเริ่มต้น
หมายเหตุด้านความปลอดภัยและความเชื่อถือ:
- การตั้งค่านี้ขยายพื้นผิวเครื่องมือของฮาร์เนส ACP
- เอเจนต์ ACP จะเข้าถึงได้เฉพาะเครื่องมือ Plugin ที่ใช้งานอยู่ใน Gateway แล้วเท่านั้น
- ให้ถือว่านี่เป็นขอบเขตความเชื่อถือเดียวกับการอนุญาตให้ Plugin เหล่านั้นทำงานภายใน OpenClaw เอง
- ตรวจสอบ Plugin ที่ติดตั้งไว้ก่อนเปิดใช้งาน
mcpServers แบบกำหนดเองยังคงทำงานเหมือนเดิม บริดจ์เครื่องมือ Plugin ที่มีมาให้ในตัวเป็น
ความสะดวกเพิ่มเติมที่เลือกเปิดใช้ได้ ไม่ใช่สิ่งทดแทนการกำหนดค่าเซิร์ฟเวอร์ MCP ทั่วไป
บริดจ์ MCP สำหรับเครื่องมือ OpenClaw
โดยค่าเริ่มต้น เซสชัน ACPX จะไม่เปิดเผยเครื่องมือ OpenClaw ที่มีมาให้ในตัวผ่าน
MCP เช่นกัน ให้เปิดใช้งานบริดจ์เครื่องมือส่วนแกนหลักแยกต่างหาก เมื่อเอเจนต์ ACP ต้องใช้เครื่องมือ
ที่มีมาให้ในตัวบางรายการ เช่น cron:
openclaw config set plugins.entries.acpx.config.openClawToolsMcpBridge trueสิ่งที่การตั้งค่านี้ทำ:
- แทรกเซิร์ฟเวอร์ MCP ที่มีมาให้ในตัวชื่อ
openclaw-toolsลงในการบูตเซสชัน ACPX - เปิดเผยเครื่องมือ OpenClaw ที่มีมาให้ในตัวบางรายการ เซิร์ฟเวอร์เริ่มต้นเปิดเผย
cron - กำหนดให้การเปิดเผยเครื่องมือส่วนแกนหลักต้องเปิดใช้งานอย่างชัดเจนและปิดไว้โดยค่าเริ่มต้น
การกำหนดค่าเวลาหมดอายุของการดำเนินการรันไทม์
Plugin acpx กำหนดเวลา 120 วินาทีโดยค่าเริ่มต้นสำหรับการเริ่มต้นรันไทม์แบบฝังและการดำเนินการควบคุม ซึ่งช่วยให้ฮาร์เนสที่ช้ากว่า เช่น Gemini CLI มีเวลาเพียงพอ
ในการเริ่มต้นและกำหนดค่าเริ่มต้น ACP ให้เสร็จสิ้น เขียนทับค่านี้หากโฮสต์ต้องใช้
ขีดจำกัดการดำเนินการอื่น:
openclaw config set plugins.entries.acpx.config.timeoutSeconds 180รอบการทำงานของรันไทม์ใช้เวลาหมดอายุของเอเจนต์/การเรียกใช้ของ OpenClaw รวมถึง /acp timeout
sessions_spawn ไม่รับการเขียนทับเวลาหมดอายุเป็นรายครั้ง เส้นทางสำหรับผู้ดูแลระบบ
คือ agents.defaults.subagents.runTimeoutSeconds ให้รีสตาร์ต Gateway หลังจาก
เปลี่ยน timeoutSeconds
การกำหนดค่าเอเจนต์สำหรับการตรวจสอบสถานะ
เมื่อ /acp doctor หรือการตรวจสอบการเริ่มต้นตรวจสอบแบ็กเอนด์ Plugin acpx
ที่รวมมาให้จะตรวจสอบเอเจนต์ฮาร์เนสหนึ่งตัว หากตั้งค่า acp.allowedAgents ไว้ ค่าเริ่มต้นจะเป็น
เอเจนต์ตัวแรกที่อนุญาต มิฉะนั้นค่าเริ่มต้นจะเป็น codex หากการติดตั้งใช้งาน
ต้องใช้เอเจนต์ ACP อื่นสำหรับการตรวจสอบสถานะ ให้ตั้งค่าเอเจนต์สำหรับตรวจสอบอย่างชัดเจน:
openclaw config set plugins.entries.acpx.config.probeAgent claudeรีสตาร์ต Gateway หลังจากเปลี่ยนค่านี้
การกำหนดค่าสิทธิ์
เซสชัน ACP ทำงานแบบไม่โต้ตอบ โดยไม่มี TTY สำหรับอนุมัติหรือปฏิเสธพรอมต์ขอสิทธิ์เขียนไฟล์และเรียกใช้เชลล์ Plugin acpx มีคีย์การกำหนดค่าสองคีย์ที่ควบคุมวิธีจัดการสิทธิ์:
สิทธิ์ของ harness ACPX เหล่านี้แยกจากการอนุมัติ exec ของ OpenClaw และแยกจากแฟล็กข้ามข้อจำกัดของผู้ให้บริการแบ็กเอนด์ CLI เช่น Claude CLI --permission-mode bypassPermissions โดย ACPX approve-all เป็นสวิตช์ฉุกเฉินระดับ harness สำหรับเซสชัน ACP
สำหรับการเปรียบเทียบในภาพรวมระหว่าง OpenClaw tools.exec.mode, การอนุมัติของ Codex Guardian
และสิทธิ์ของ harness ACPX โปรดดู
โหมดสิทธิ์
permissionMode
ควบคุมการดำเนินการที่เอเจนต์ของ harness สามารถทำได้โดยไม่ต้องแจ้งขอ
| ค่า | ลักษณะการทำงาน |
|---|---|
approve-all |
อนุมัติการเขียนไฟล์และคำสั่งเชลล์ทั้งหมดโดยอัตโนมัติ |
approve-reads |
อนุมัติเฉพาะการอ่านโดยอัตโนมัติ ส่วนการเขียนและ exec ต้องแจ้งขอ |
deny-all |
ปฏิเสธคำขอสิทธิ์ทั้งหมด |
nonInteractivePermissions
ควบคุมสิ่งที่จะเกิดขึ้นเมื่อควรแสดงคำขอสิทธิ์ แต่ไม่มี TTY แบบโต้ตอบให้ใช้งาน (ซึ่งเป็นกรณีของเซสชัน ACP เสมอ)
| ค่า | ลักษณะการทำงาน |
|---|---|
fail |
ยุติเซสชันพร้อม PermissionPromptUnavailableError (ค่าเริ่มต้น) |
deny |
ปฏิเสธสิทธิ์โดยไม่แจ้งและดำเนินการต่อ (ลดระดับการทำงานอย่างราบรื่น) |
การกำหนดค่า
ตั้งค่าผ่านการกำหนดค่า Plugin:
openclaw config set plugins.entries.acpx.config.permissionMode approve-allopenclaw config set plugins.entries.acpx.config.nonInteractivePermissions failรีสตาร์ต Gateway หลังจากเปลี่ยนค่าเหล่านี้
เนื้อหาที่เกี่ยวข้อง
- เอเจนต์ ACP — ภาพรวม คู่มือการปฏิบัติงานสำหรับผู้ดูแลระบบ และแนวคิด
- เอเจนต์ย่อย
- การกำหนดเส้นทางแบบหลายเอเจนต์