DEV Community

Cover image for คู่มือการใช้งาน Apidog CLI บน OpenClaw
Thanawat Wongchai
Thanawat Wongchai

Posted on • Originally published at apidog.com

คู่มือการใช้งาน Apidog CLI บน OpenClaw

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

ลองใช้ Apidog วันนี้

วิธีเชื่อมต่อคือใช้ Apidog CLI (apidog-cli) เพื่อรันสถานการณ์ทดสอบที่สร้างใน Apidog จากเทอร์มินัล เมื่อ OpenClaw รู้จักคำสั่ง apidog run แล้ว มันจะรัน API test อ่าน exit code และใช้ผลลัพธ์เป็นเงื่อนไขผ่าน/ไม่ผ่านได้เหมือน unit test

บทความนี้เน้นการตั้งค่าที่ต้องใช้กับ OpenClaw โดยตรง:

  1. เพิ่มกฎ Apidog ลงใน AGENTS.md
  2. คัดลอกคำสั่ง apidog run จาก Apidog
  3. อนุญาตให้ OpenClaw เรียกคำสั่งผ่าน exec
  4. ใช้ exit code และรายงาน CLI เพื่อให้เอเจนต์ตัดสินใจขั้นตอนถัดไป

ก่อนเริ่ม ให้ติดตั้งและล็อกอิน Apidog CLI ให้เรียบร้อย โดย apidog --version ต้องแสดงเวอร์ชัน และบัญชี Apidog ต้องลงชื่อเข้าใช้แล้ว ดูขั้นตอนเพิ่มเติมได้ที่ วิธีติดตั้ง Apidog CLI ด้วย AI coding agent

OpenClaw ที่กล่าวถึงนี้คืออะไร

OpenClaw คือ AI agent แบบโอเพนซอร์สที่ทำงานบนเครื่องของคุณ มี workspace, skills และเครื่องมือ exec สำหรับรันคำสั่งเชลล์จริง

หากคุณเคยรัน openclaw แล้วเห็นมันแก้ไขไฟล์และเรียกคำสั่งในโปรเจกต์ คุณอยู่ในบริบทที่ถูกต้องแล้ว สำหรับภาพรวมการตั้งค่า โปรดดู:

OpenClaw เรียนรู้กฎของโปรเจกต์จากไฟล์ใน workspace โดยไฟล์สำคัญสำหรับงานนี้คือ AGENTS.md ซึ่งช่วยเปลี่ยนคำสั่งชั่วคราวอย่าง “รัน API tests” ให้เป็นกฎถาวรที่เอเจนต์ใช้งานได้ทุกเซสชัน

ขั้นตอนที่ 1: เพิ่มกฎ Apidog ลงใน AGENTS.md

OpenClaw อ่านไฟล์ใน workspace และใส่เนื้อหาเข้าไปในบริบทของเอเจนต์ ใช้ AGENTS.md เพื่อบอกวิธีรันและตีความผลการทดสอบ API

workspace เริ่มต้นคือ:

~/.openclaw/workspace
Enter fullscreen mode Exit fullscreen mode

คุณสามารถชี้ OpenClaw ไปยังไดเรกทอรีโปรเจกต์ผ่าน agents.list[].workspace ได้ และยังรองรับ AGENTS.md ที่กำหนดขอบเขตตามไดเรกทอรีย่อย ดูรายละเอียดได้ใน เอกสารอ้างอิง AGENTS.md ของ OpenClaw

เพิ่มบล็อกนี้ลงใน AGENTS.md ของโปรเจกต์:

## การทดสอบ API ด้วย Apidog

- หากต้องการรันการทดสอบ API ให้ใช้ Apidog CLI: `apidog run -t <scenario_id> -e <env_id> -r cli`
- รหัสออก 0 หมายถึงการยืนยันทั้งหมดผ่าน ไม่ใช่ศูนย์หมายความว่ามีบางอย่างล้มเหลว ถือเป็นเกตผ่าน/ไม่ผ่าน
- เครื่องได้รับการยืนยันตัวตนด้วย `apidog login` แล้ว อย่าเพิ่มแฟล็ก --access-token และอย่าใส่โทเค็นในไฟล์นี้เด็ดขาด
- หากแฟล็กดูไม่คุ้นเคย ให้รัน `apidog run --help` แทนการคาดเดา
Enter fullscreen mode Exit fullscreen mode

อย่าเก็บ scenario ID ไว้เฉพาะในแชต เพราะข้อมูลนั้นจะหายไปเมื่อจบเซสชัน การใส่คำสั่งจริงลงใน AGENTS.md ทำให้เพื่อนร่วมทีมและ OpenClaw ทุกครั้งใช้คำสั่งเดียวกันได้

ขั้นตอนที่ 2: รับคำสั่งจาก Apidog

ไม่ต้องเดา scenario ID หรือ environment ID เอง

  1. เปิดสถานการณ์ทดสอบใน Apidog
  2. ไปที่แท็บ CI/CD
  3. คัดลอกคำสั่งที่ Apidog สร้างให้

ตัวอย่าง:

apidog run -t 1234567 -e 890123 -r cli
Enter fullscreen mode Exit fullscreen mode

ความหมายของแฟล็ก:

แฟล็ก ความหมาย
-t ID ของสถานการณ์ทดสอบ
-e ID ของสภาพแวดล้อม
-r cli ใช้ CLI reporter เพื่อพิมพ์ผลลัพธ์ในเทอร์มินัล

แทนที่ค่าตัวอย่างใน AGENTS.md ด้วย ID จริงของคุณ เพื่อให้ OpenClaw รันสถานการณ์ที่ถูกต้องกับ environment ที่ถูกต้องเสมอ

หากต้องการปรับแฟล็กเพิ่มเติม ดูได้ที่:

ขั้นตอนที่ 3: ให้เอเจนต์รันการทดสอบ

เมื่อ AGENTS.md อยู่ใน workspace ที่ OpenClaw ใช้งานแล้ว คุณสามารถให้เอเจนต์แก้ไขโค้ดที่เกี่ยวข้องกับ API หรือสั่งให้รันการตรวจสอบได้โดยตรง

OpenClaw จะอ่านกฎใน AGENTS.md และรันคำสั่งลักษณะนี้ผ่าน exec:

apidog run -t 1234567 -e 890123 -r cli
Enter fullscreen mode Exit fullscreen mode

ตั้งค่า permission สำหรับ exec

OpenClaw ควบคุมการรันคำสั่งผ่าน permission mode เช่น:

  • deny
  • allowlist
  • ask
  • auto
  • full

ดูรายละเอียดได้ที่ หน้าโหมดการอนุญาตของ OpenClaw

สำหรับ coding agent ค่า auto เหมาะกับกรณีทั่วไป เพราะคำสั่งใน allowlist จะรันได้โดยไม่ต้องถาม ส่วนคำสั่งอื่นจะถูกตรวจสอบก่อน

หากใช้โหมด ask OpenClaw จะหยุดรอการอนุมัติก่อนรัน apidog run คุณสามารถอนุมัติครั้งแรก หรือเพิ่ม apidog ลงใน allowlist เพื่อให้การทดสอบแบบอ่านอย่างเดียวกับ staging รันได้ต่อเนื่อง

ตั้งค่าส่วนนี้ภายใต้ tools.exec ใน openclaw.json

ขั้นตอนที่ 4: อ่านรายงานภายใน OpenClaw

ตัวรายงาน -r cli แสดงผลแบบทีละขั้นในเทอร์มินัล รวมถึง:

  • คำขอที่ถูกส่ง
  • assertion แต่ละรายการ
  • assertion ที่ล้มเหลว
  • ค่าที่คาดหวังและค่าจริง

ข้อมูลนี้สำคัญ เพราะเป็นสิ่งที่ OpenClaw ใช้เพื่อวิเคราะห์ว่าควรแก้ไขอะไรต่อไป ดังนั้นควรเก็บ cli reporter ไว้เสมอ

หากต้องการไฟล์รายงานสำหรับเปิดในเบราว์เซอร์หรือแชร์กับทีม ให้เพิ่ม HTML reporter:

apidog run -t 1234567 -e 890123 -r cli,html
Enter fullscreen mode Exit fullscreen mode

รายงาน HTML จะถูกเขียนลงใน:

./apidog-reports
Enter fullscreen mode Exit fullscreen mode

ใช้ cli,html แทน html อย่างเดียว เพื่อให้ OpenClaw ยังอ่านผลลัพธ์แบบ inline ได้

หากต้องการ JUnit format สำหรับ CI dashboard หรือรูปแบบรายงานอื่น ดู คู่มือรายงานการทดสอบ Apidog CLI

การทดสอบ OpenClaw ภายในลูปของตัวเอง

ผลลัพธ์ที่ต้องการไม่ใช่แค่ให้ OpenClaw รันคำสั่งเมื่อคุณสั่ง แต่คือให้มันเลือกใช้ API tests เองตามกฎใน AGENTS.md

ตัวอย่างลูปการทำงาน:

  1. OpenClaw แก้ไข handler สำหรับ response การชำระเงิน
  2. OpenClaw รัน scenario ของ Apidog กับ staging
  3. OpenClaw อ่าน exit code และผลลัพธ์ CLI
  4. ถ้า exit code เป็น 0 ให้ดำเนินงานต่อ
  5. ถ้า exit code ไม่เป็น 0 ให้อ่าน assertion ที่ล้มเหลว
  6. แก้โค้ดและรันซ้ำ

API tests จึงกลายเป็นส่วนหนึ่งของลูปเดียวกับการแก้โค้ดและรัน unit tests

แนวทางนี้คือโมเดล delegate-then-verify:

  • คุณสร้างและตรวจสอบ scenario ใน Apidog
  • OpenClaw รันคำสั่งและอ่านผลลัพธ์
  • exit code เป็นเกตที่ใช้ตัดสินผลผ่าน/ไม่ผ่าน

อ่านแนวทางเพิ่มเติมได้ที่:

ตรวจสอบว่า OpenClaw กำลังรัน CLI จริง ๆ

อย่าเชื่อเพียงข้อความสรุปของเอเจนต์ ให้ตรวจสอบ 3 จุดต่อไปนี้

1. ตรวจสอบคำสั่งที่ถูกเรียกจริง

ดู log ของ OpenClaw แล้วค้นหาบรรทัด:

apidog run ...
Enter fullscreen mode Exit fullscreen mode

ต้องมีทั้งคำสั่งและ output ที่ตามมา หาก OpenClaw ระบุว่ารัน tests แล้ว แต่ไม่มีคำสั่งใน log แสดงว่ามันสรุปงานที่ไม่ได้ทำ

ให้สั่งมันรันใหม่และแสดง raw output

2. ตรวจสอบ exit code

ถามเอเจนต์โดยตรง:

What was the exit code of that apidog run command?
Enter fullscreen mode Exit fullscreen mode

กติกาคือ:

exit code 0      = assertion ทุกข้อผ่าน
exit code ไม่ใช่ 0 = มีอย่างน้อยหนึ่ง assertion ล้มเหลว
Enter fullscreen mode Exit fullscreen mode

หากข้อความสรุประบุว่า “การทดสอบผ่าน” แต่ exit code ไม่ใช่ 0 ให้เชื่อ exit code

3. ตรวจสอบ scenario และ environment ID

หากพบข้อความเช่น:

scenario not found
Enter fullscreen mode Exit fullscreen mode

ตรวจสอบค่าเหล่านี้อีกครั้ง:

-t <scenario_id>
-e <env_id>
Enter fullscreen mode Exit fullscreen mode

เปรียบเทียบค่าจาก:

  1. AGENTS.md
  2. คำสั่งที่คัดลอกจากแท็บ CI/CD ของ Apidog

ค่าที่อยู่ใน AGENTS.md ควรเป็นแหล่งอ้างอิงเดียวที่ OpenClaw ใช้งาน

ทางเลือก: เชื่อมต่อเซิร์ฟเวอร์ Apidog MCP

การใช้ apidog run ผ่าน exec ครอบคลุมการรันทดสอบเป็นหลัก แต่คุณสามารถใช้ Model Context Protocol (MCP) เพื่อให้ OpenClaw เข้าถึงข้อมูลจำเพาะ API ระหว่างเขียนโค้ดได้

OpenClaw รองรับการเพิ่ม MCP server ด้วยคำสั่ง:

openclaw mcp add <name>
Enter fullscreen mode Exit fullscreen mode

คำสั่งนี้จะบันทึกคำจำกัดความของ server ลงใน:

~/.openclaw/openclaw.json
Enter fullscreen mode Exit fullscreen mode

ภายใต้ mcp.servers และรองรับแฟล็ก stdio เช่น --command และ --arg ดูรายละเอียดได้ใน เอกสารประกอบ MCP ของ OpenClaw

เซิร์ฟเวอร์ Apidog MCP ช่วยเปิดเผย API specification ผ่าน MCP เพื่อให้ OpenClaw อ่าน schema ระหว่างพัฒนาได้

แบ่งหน้าที่ให้ชัดเจน:

เครื่องมือ หน้าที่
Apidog CLI รัน API tests และคืน exit code
Apidog MCP ส่ง API specification และ schema ให้เอเจนต์

เมื่อ OpenClaw ทำผิดพลาด

ปัญหาต่อไปนี้พบได้บ่อยระหว่างการตั้งค่า

OpenClaw เพิกเฉยต่อ AGENTS.md

หาก OpenClaw รันคำสั่งทั่วไปหรือไม่รันคำสั่งเลย ให้ตรวจสอบว่า:

  • AGENTS.md อยู่ใน workspace ที่ active
  • กฎไม่ได้อยู่ในไดเรกทอรีที่อยู่นอกขอบเขตของเอเจนต์
  • คุณเริ่ม session ใหม่หลังแก้ไขไฟล์แล้ว

OpenClaw รองรับ AGENTS.md แบบกำหนดขอบเขตตามไดเรกทอรี ดังนั้นตำแหน่งไฟล์มีผลต่อการโหลดกฎ

OpenClaw ไม่รันอะไรเพราะ exec ถูกบล็อก

หาก apidog run ถูกข้ามหรือถูกปฏิเสธ ให้ตรวจสอบ tools.exec ในการตั้งค่า OpenClaw

แนวทางแก้ไข:

  • เปลี่ยน permission mode เป็น auto
  • เพิ่ม apidog ลงใน allowlist

ดูวิธีเปิดใช้เฉพาะคำสั่งที่จำเป็นได้ใน คู่มือการติดตั้ง OpenClaw อย่างปลอดภัย

OpenClaw พยายามส่ง access token

หากเอเจนต์เพิ่ม --access-token เอง แสดงว่ามันกำลังเดาคำสั่งจากตัวอย่างสาธารณะ

ย้ำกฎนี้ใน AGENTS.md:

เครื่องได้รับการยืนยันตัวตนด้วย `apidog login` แล้ว
อย่าเพิ่ม `--access-token`
อย่าใส่โทเค็นลงในไฟล์
Enter fullscreen mode Exit fullscreen mode

อย่าเก็บ token จริงใน AGENTS.md ดูรูปแบบการยืนยันตัวตนที่ถูกต้องได้ที่ การยืนยันตัวตน Apidog CLI

OpenClaw สร้างแฟล็กขึ้นมาเอง

หากเจอข้อผิดพลาด:

unknown option
Enter fullscreen mode Exit fullscreen mode

อย่าให้เอเจนต์เดาต่อ ให้รัน:

apidog run --help
Enter fullscreen mode Exit fullscreen mode

จากนั้นใช้เฉพาะแฟล็กที่ CLI เวอร์ชันที่ติดตั้งรองรับ

OpenClaw รายงานว่าผ่าน ทั้งที่การรันล้มเหลว

นี่คือข้อผิดพลาดที่สำคัญที่สุด กำหนดให้ exit code เป็นผลลัพธ์สุดท้ายเสมอ:

exit code 0       => ผ่าน
exit code ไม่ใช่ 0 => ไม่ผ่าน
Enter fullscreen mode Exit fullscreen mode

หากข้อความสรุปและ exit code ขัดแย้งกัน ให้เชื่อ exit code

หลักการเดียวกันนี้ใช้ได้กับเอเจนต์อื่นเช่นกัน ดูเพิ่มเติมได้ที่:

จากเอเจนต์รายวันสู่ลูปที่ผ่านการทดสอบ

การตั้งค่าที่ต้องทำมีเพียงไม่กี่ขั้นตอน:

  1. ติดตั้ง apidog-cli ตามคู่มือการติดตั้ง
  2. เพิ่มคำสั่ง Apidog ลงใน AGENTS.md
  3. ตั้งค่า tools.exec เพื่อให้ OpenClaw รันคำสั่งได้
  4. ใช้ exit code เป็นเกตผ่าน/ไม่ผ่าน

หลังจากนั้น OpenClaw จะมีคำสั่งที่ชัดเจนสำหรับรัน API tests และอ่านผลลัพธ์ในลูปเดียวกับที่ใช้แก้ไขโค้ด ทำให้ตรวจพบ endpoint ที่เสียได้ระหว่างทำงาน แทนที่จะพบหลังเผยแพร่แล้ว

การทดสอบที่อยู่หลัง GUI จะรันเมื่อมนุษย์คลิก แต่คำสั่ง apidog run สามารถรันได้ทุกครั้งที่ OpenClaw ต้องตรวจสอบงาน

สร้าง scenario ใน Apidog คัดลอกคำสั่งลงใน AGENTS.md แล้วให้ OpenClaw ใช้งานในการเปลี่ยนแปลงครั้งถัดไป

ดาวน์โหลด Apidog เพื่อเริ่มสร้าง scenario และหากต้องการใช้เกตเดียวกันใน CI โดยไม่ต้องมีเอเจนต์ ดู Apidog CLI ใน GitHub Actions

Top comments (0)