Hermes Agent ทำงานจากเทอร์มินัลของคุณ จดจำสิ่งที่เรียนรู้ข้ามเซสชัน และใช้คำสั่งเชลล์จริงเพื่อทำงานให้สำเร็จ ส่วนหลังนี้คือจุดเริ่มต้น: หากสามารถรันคำสั่งได้ ก็สามารถรันการทดสอบ API ของคุณได้
ตัวรันที่เชื่อมต่อทั้งสองเข้าด้วยกันคือ Apidog CLI ซึ่งเป็นแพ็กเกจ npm ที่ชื่อว่า apidog-cli มันรันสถานการณ์การทดสอบที่คุณสร้างขึ้นด้วยภาพใน Apidog ตรงจากเทอร์มินัลและออกด้วยรหัสสถานะที่ Hermes สามารถดำเนินการได้ คู่มือนี้ครอบคลุมครึ่งหนึ่งที่เฉพาะเจาะจงกับ Hermes: เครื่องมือ terminal ที่รันคำสั่ง ไฟล์บริบทที่สอน Hermes Workflow ของคุณ วิธีที่การรันทำงานในลูปของมัน และเซิร์ฟเวอร์ Apidog MCP เสริมที่ส่งมอบสเปก API ของคุณให้ Hermes ในขณะที่มันทำงาน
หากยังไม่ได้ติดตั้ง CLI ให้เริ่มต้นด้วย วิธีติดตั้ง Apidog CLI ด้วย AI coding agent ซึ่งจะแนะนำ agent ในการติดตั้งและยืนยันตัวตน กลับมาเมื่อ apidog --version พิมพ์ตัวเลขออกมา นอกจากนี้ คุณยังต้องมีบัญชี Apidog ที่มีสถานการณ์การทดสอบที่บันทึกไว้อย่างน้อยหนึ่งรายการ ดาวน์โหลด Apidog หากคุณยังไม่มี
ความหมายของ “การใช้ CLI ใน Hermes”
Hermes Agent สร้างโดย Nous Research ทำงานในเทอร์มินัลของคุณ สื่อสารกับโมเดล AI ของคุณ และดำเนินการผ่านเครื่องมือในตัว เครื่องมือที่สำคัญในที่นี้คือเครื่องมือ terminal: Hermes รันคำสั่งเชลล์โดยเรียกใช้ในไดเรกทอรีการทำงานของคุณ จากนั้นอ่านผลลัพธ์กลับเข้าไปในการให้เหตุผลของมัน ไม่จำเป็นต้องติดตั้งปลั๊กอิน Apidog และคุณไม่จำเป็นต้องมี การใช้ Apidog CLI ใน Hermes หมายถึงสามสิ่ง:
- สอน Hermes ถึง Workflow เพียงครั้งเดียว โดยการเขียนลงในไฟล์บริบทที่ Hermes โหลดเมื่อเริ่มต้น เพื่อให้มันรู้คำสั่ง แฟล็ก และว่ารหัสออกคือแหล่งที่มาของความจริง
- ให้ Hermes รัน
apidog runผ่านเครื่องมือterminalเหมือนคำสั่งอื่นๆ - เลือกเชื่อมต่อเซิร์ฟเวอร์ Apidog MCP เพื่อให้ Hermes สามารถอ่านสเปก API ของคุณในขณะที่มันเขียนโค้ดที่การทดสอบเหล่านั้นตรวจสอบ
ไฟล์บริบทคือสิ่งที่ทำให้สิ่งนี้มีรูปร่างแบบ Hermes แทนที่จะเป็นคู่มือ "เปิดเทอร์มินัลและพิมพ์" ทั่วไป ซึ่งเปลี่ยน "รันการทดสอบของฉัน" แบบครั้งเดียวให้เป็นสิ่งที่มันสามารถทำได้ด้วยตัวเอง
กลไก: ไฟล์บริบท ไม่ใช่การแจ้งเตือนแชท
Hermes โหลดบริบทของโปรเจกต์เมื่อเริ่มต้นเซสชัน เอนจินบริบทของมันจะสแกนไดเรกทอรีการทำงานของคุณเพื่อหาไฟล์คำแนะนำ รวมถึง CLAUDE.md และ AGENTS.md และฉีดเข้าไปใน system prompt นั่นเป็นธรรมเนียมเดียวกับที่ Claude Code และ Codex ใช้ ดังนั้นหาก repo ของคุณมี AGENTS.md อยู่แล้ว Hermes ก็จะอ่านมันด้วย
นี่คือเหตุผลที่คุณเขียน CLI ลงในไฟล์บริบทแทนที่จะกล่าวถึงในการแชท ID สถานการณ์ที่พิมพ์ในเซสชันจะหายไปเมื่อสิ้นสุดเซสชัน แต่ ID ที่อยู่ใน AGENTS.md จะอยู่ตรงนั้นสำหรับเพื่อนร่วมทีมทุกคนและการรัน Hermes ทุกครั้งนับจากนี้ (Hermes ยังอ่าน SOUL.md ด้วย แต่สิ่งนั้นเป็นสำหรับบุคลิกของ agent ไม่ใช่สำหรับโปรเจกต์ของคุณ เก็บคำแนะนำการทดสอบไว้ใน AGENTS.md)
ขั้นตอนที่ 1: เพิ่มบล็อก Apidog ไปยังไฟล์บริบทของคุณ
เปิด AGENTS.md ใน root ของ repository ของคุณ หรือสร้างมันขึ้นมา แล้วเพิ่มส่วนที่บอก Hermes ว่ามี CLI อยู่ วิธีการรัน และวิธีการอ่านผลลัพธ์ ให้ใช้คำสั่งและ ID จริง ไม่ใช่แค่คำอธิบาย
## การทดสอบ API ด้วย Apidog CLI
Repo นี้ใช้ Apidog CLI (`apidog-cli`, คำสั่ง `apidog`) เพื่อรันสถานการณ์
การทดสอบ API สถานการณ์เหล่านี้อยู่ในโปรเจกต์ Apidog ของเรา ไม่อยู่ใน repo นี้
เมื่อคุณเปลี่ยนแปลง API handler, route, หรือรูปทรงของ response ให้รัน
สถานการณ์ Apidog ที่เกี่ยวข้องผ่านเครื่องมือ terminal ก่อนที่จะถือว่าการเปลี่ยนแปลงเสร็จสมบูรณ์:
apidog run -t 605067 -e 1629989 -n 1 -r cli
- `-t 605067` คือสถานการณ์การทดสอบ checkout-flow
- `-e 1629989` คือสภาพแวดล้อม staging
- เครื่องได้ยืนยันตัวตนแล้วผ่าน `apidog login` ดังนั้นห้ามส่ง
access token และห้ามพิมพ์ access token ออกมา
ถือว่ารหัสออกเป็นแหล่งที่มาของความจริง: `0` หมายถึงทุกการยืนยันผ่าน,
ค่าที่ไม่ใช่ศูนย์หมายถึงความล้มเหลว หากออกด้วยค่าที่ไม่ใช่ศูนย์ ให้อ่านการยืนยันที่ล้มเหลวใน
รายงานและแก้ไขโค้ด จากนั้นรันซ้ำ ห้ามรายงานว่าผ่านหากออกด้วยค่าที่ไม่ใช่ศูนย์
แทนที่ 605067 ด้วย ID สถานการณ์จริงของคุณ และ 1629989 ด้วยสภาพแวดล้อมที่ Hermes ควรกระทบในระหว่างการทำงานปกติ โดยปกติแล้วจะเป็น staging หรือ local dev ไม่ใช่ production หากต้องการได้ ID ที่ถูกต้อง ให้คัดลอกคำสั่ง apidog run ที่ Apidog สร้างขึ้นในแท็บ CI/CD ของสถานการณ์ (จะกล่าวถึงต่อไป) และตัด access token ออกก่อนที่จะวาง เนื่องจากเครื่องได้ล็อกอินอยู่แล้วและ token ไม่ควรอยู่ในไฟล์ที่ commit
สองสิ่งทำให้บล็อกนี้ทำงานได้ดี คือการระบุชื่อคำสั่งอย่างแม่นยำ เพื่อไม่ให้ Hermes เดาแฟล็ก และระบุกฎการผ่าน/ไม่ผ่านด้วยภาษาที่เข้าใจง่าย เพื่อให้ Hermes รู้ว่ารหัสออกมีลำดับความสำคัญสูงกว่าสรุปของมันเอง ซึ่งช่วยคุณจากความล้มเหลวของ agent ที่พบบ่อยที่สุด: การบอกว่า "การทดสอบผ่าน" อย่างมั่นใจทั้งๆ ที่การรันล้มเหลว
ขั้นตอนที่ 2: รับคำสั่งจาก Apidog
รับคำสั่งที่ทราบว่าถูกต้องดีก่อนที่คุณจะขอให้ Hermes รันอะไร เปิดสถานการณ์ของคุณใน Apidog สลับไปที่แท็บ CI/CD และเลือกตัวเลือก command-line Apidog จะสร้างคำสั่ง apidog run เต็มรูปแบบพร้อม ID และ access token ที่กรอกไว้แล้ว:
apidog run --access-token YOUR_ACCESS_TOKEN -t 605067 -e 1629989 -n 1 -r cli
605067 คือ ID สถานการณ์ และ 1629989 คือ ID สภาพแวดล้อม; ของคุณจะแตกต่างกันไป เนื่องจากคุณยืนยันตัวตน CLI ระหว่างการติดตั้ง ให้ตัดส่วน --access-token ออกและเก็บ ID ไว้ นั่นคือคำสั่งที่ไฟล์บริบทของคุณบอกให้ Hermes ใช้
ขั้นตอนที่ 3: ให้ Hermes รันการทดสอบ
เริ่ม Hermes ใน repo ของคุณ จากนั้นขอให้มันทำการตรวจสอบ ด้วยบล็อกที่พร้อมใช้งาน prompt จะสั้น:
รันสถานการณ์การทดสอบ Apidog API ของเราตามที่ AGENTS.md อธิบาย ฉันได้ยืนยันตัวตนแล้ว ดังนั้นไม่ต้องส่ง access token ใช้ apidog run -t 605067 -e 1629989 -n 1 -r cli แสดงผลลัพธ์ทั้งหมดและบอกรหัสออกให้ฉันด้วยHermes จะเรียกใช้เครื่องมือ terminal ของมันเพื่อดำเนินการคำสั่งในไดเรกทอรีการทำงานของคุณ และ reporter -r cli จะสตรีมผลลัพธ์แบบทีละขั้นตอนกลับไปยังบริบทของมัน ซึ่งคุณจะเห็นการร้องขอและการยืนยันแต่ละรายการ เนื่องจาก Hermes ส่งคำสั่งผ่านเลเยอร์การอนุมัติ คุณอาจเห็น prompt ก่อนที่จะรัน ขึ้นอยู่กับการกำหนดค่าของคุณ สถานการณ์การทดสอบแบบอ่านอย่างเดียวที่เทียบกับ staging เป็นประเภทคำสั่งที่ปลอดภัยและอยู่ในพื้นที่ทำงานที่สามารถอนุญาตได้
การตรวจสอบของคุณ: ดูที่รหัสออก ไม่ใช่สรุป apidog run จะออก 0 เมื่อทุกการยืนยันผ่าน และค่าที่ไม่ใช่ศูนย์เมื่อมีการล้มเหลวหนึ่งรายการ พฤติกรรมนี้เป็นเหตุผลทั้งหมดที่ทำให้สิ่งนี้ทำงานเป็น gate สำหรับ CI และสำหรับ Hermes หาก Hermes บอกว่า "การทดสอบผ่าน" แต่รหัสออกไม่ใช่ศูนย์ นั่นผิด; เชื่อรหัส สิ่งนี้คือความล้มเหลวที่บล็อกขั้นตอนที่ 1 ป้องกัน
สำหรับรูปแบบรายงานที่แตกต่างกันหรือการวนซ้ำเพิ่มเติม ให้ Hermes รัน apidog run --help เพื่อให้อ่านรายการแฟล็กจริง คู่มือ Apidog CLI ฉบับสมบูรณ์ จะบันทึกแฟล็กทุกตัว รวมถึง reporter html, json, และ junit
ขั้นตอนที่ 4: การทดสอบ Hermes ภายในลูปของตัวเอง
ประเด็นคือสิ่งที่เกิดขึ้นเมื่อคุณหยุดถามและ Hermes รันสถานการณ์ด้วยตัวเองเนื่องจาก AGENTS.md ได้บอกให้มันทำ ลองนึกภาพมันกำลังแก้ไข handler ที่สร้าง response การชำระเงิน: มันแก้ไขโค้ด รันสถานการณ์ Apidog ของคุณเทียบกับ staging ผ่านเครื่องมือ terminal อ่านรหัสออก และดำเนินการตามนั้น หากผ่าน มันก็ดำเนินการต่อไป หากล้มเหลว มันจะเปิดรายงาน อ่านว่าการยืนยันใดล้มเหลว (รหัสสถานะ, ฟิลด์ที่หายไป, ค่าที่ไม่ถูกต้อง) ลองแก้ไข และรันซ้ำ การทดสอบ API จะกลายเป็นส่วนหนึ่งของลูปแก้ไข-ทดสอบ-แก้ไขเดียวกันที่มันใช้รันการทดสอบหน่วยของคุณอยู่แล้ว คุณเขียนคำสั่งเดียวและมันก็ได้รวมคำสั่งนั้นเข้ากับวิธีการทำงานของมันแล้ว
นี่คือโมเดลการมอบหมายแล้วตรวจสอบ (delegate-then-verify) ที่ทำให้ workflow ของ agent ปลอดภัย Hermes รันคำสั่งและอ่านผลลัพธ์ คุณยังคงสร้างสถานการณ์ด้วยภาพใน Apidog และตรวจสอบว่ามันอ่านรหัสออกอย่างตรงไปตรงมา สำหรับการรันที่ช้า โฟลเดอร์ขนาดใหญ่ หรือการวนซ้ำจำนวนมาก เครื่องมือ terminal มีแฟล็ก background=true เพื่อให้ Hermes สามารถเริ่มการกวาดข้อมูล ทำงานต่อไป และตรวจสอบรหัสออกแทนที่จะบล็อก สำหรับรูปแบบที่กว้างขึ้น โปรดดู วิธีใช้ AI agents สำหรับการทดสอบ API และ Apidog AI test harness
ทางเลือก: เชื่อมต่อเซิร์ฟเวอร์ Apidog MCP
CLI ช่วยให้ Hermes รัน การทดสอบของคุณได้; เซิร์ฟเวอร์ Apidog MCP ช่วยให้มัน อ่าน สเปก API ของคุณในขณะที่มันเขียนโค้ด ทั้งสองทำงานร่วมกัน: MCP ส่งสคีมาของคุณให้ Hermes เพื่อให้มันสร้างโค้ดที่ตรงกับสัญญา และ CLI จะตรวจสอบโค้ดนั้นเทียบกับสถานการณ์จริง
Hermes รองรับ Model Context Protocol (MCP) ทันทีที่แกะกล่อง แก้ไข ~/.hermes/config.yaml และเพิ่มรายการภายใต้ส่วน mcp_servers สำหรับเซิร์ฟเวอร์ stdio แบบ local เช่นของ Apidog นั่นคือ command, อาร์เรย์ args และค่า env ใดๆ:
mcp_servers:
apidog:
command: "npx"
args: ["-y", "apidog-mcp-server@latest", "--project=YOUR_PROJECT_ID"]
env:
APIDOG_ACCESS_TOKEN: "YOUR_ACCESS_TOKEN"
หลังจากบันทึก ให้รัน /reload-mcp ภายใน Hermes หรือรีสตาร์ทมัน Hermes จะค้นพบเซิร์ฟเวอร์ MCP เมื่อเริ่มต้นและลงทะเบียนเครื่องมือของพวกเขาใน registry ปกติของมัน โดยมี namespace เป็น mcp_apidog_<tool> ดังนั้น agent จึงสามารถเข้าถึงพวกมันได้ในระหว่างการให้เหตุผลตามปกติ สำหรับการตั้งค่าทั้งหมด รวมถึง project ID และ token โปรดดูที่ คู่มือเซิร์ฟเวอร์ Apidog MCP สำหรับเวอร์ชันแพ็กเกจของลูปนี้ โปรดดูที่ คู่มือ Apidog CLI กับ Claude Skills
จากลูปท้องถิ่นสู่ CI
เมื่อ Hermes ได้รันสถานการณ์ในเครื่องแล้วและดำเนินการตามรหัสออก คุณได้ตรวจสอบคำสั่งที่ pipeline ของคุณจะใช้แล้ว การข้ามไปยัง CI นั้นเล็กน้อย: apidog run แบบเดียวกัน โดยที่ token ถูกส่งเป็นความลับที่ซ่อนไว้แทนที่จะเป็น login ที่เก็บไว้ ขอให้ Hermes เขียนขั้นตอนดังกล่าว เนื่องจากมันรู้คำสั่งจากไฟล์บริบทของคุณ:
เขียนขั้นตอน GitHub Actions ที่ติดตั้ง apidog-cli และรัน apidog run -t 605067 -e 1629989 -r junit โดยอ่าน access token จาก repository secret ชื่อ APIDOG_ACCESS_TOKENกลไกของขั้นตอนนี้ (ความลับ, reporters, การควบคุมด้วยรหัสออก) อยู่ใน Apidog CLI ใน GitHub Actions จากนั้นคำสั่งเดียวกันจะรันในสามที่: เทอร์มินัลของคุณ, ลูปของ Hermes, และ CI ทั้งหมดบนรหัสออกเดียวกัน
ปัญหาที่พบบ่อย
Hermes ไม่สนใจบล็อกบริบท หากมันรันคำสั่งทั่วไปหรือไม่รันเลย ให้ยืนยันว่าไฟล์นั้นชื่อ AGENTS.md (หรือ CLAUDE.md) อย่างถูกต้องและอยู่ในไดเรกทอรีที่ Hermes เริ่มทำงาน การรีสตาร์ทเซสชันจะบังคับให้อ่านใหม่
มันแนะนำคำสั่งเท่านั้นแทนที่จะรัน Hermes รันคำสั่งผ่านเครื่องมือ terminal โดยมีเลเยอร์การอนุมัติ อนุมัติการรันที่รออยู่ หากการตั้งค่าของคุณปฏิเสธคำสั่งเทอร์มินัล ให้คลายการอนุญาตสำหรับ apidog run
apidog whoami แสดงว่าคุณยังไม่ได้ยืนยันตัวตน การล็อกอินถูกเก็บไว้ในเครื่องของคุณ ไม่ใช่ใน Hermes รัน apidog login --with-token ด้วยตัวคุณเองพร้อม token ใหม่ จากนั้นขอให้ Hermes ยืนยันด้วย apidog whoami เก็บ token ไว้ไม่ให้เห็นในการแชท
มันสร้างแฟล็กขึ้นมาเอง ข้อผิดพลาด "unknown option" หมายความว่า Hermes เดาแฟล็กที่ไม่มีอยู่ในเวอร์ชันของคุณ ให้มันรัน apidog run --help แล้วคัดลอกแฟล็กจริง
มันรายงานว่าผ่านในการรันที่ล้มเหลว นี่คือข้อผิดพลาดที่แพงที่สุด และเป็นเหตุผลที่กฎรหัสออกอยู่ในทั้ง AGENTS.md ของคุณและในการตรวจสอบด้วยตนเองของคุณ เมื่อสรุปและรหัสออกไม่ตรงกัน ให้เชื่อรหัส
สรุป
การตั้งค่า Hermes มีไฟล์เดียวและนิสัยเดียว: บล็อก AGENTS.md ที่ระบุคำสั่ง แหล่งที่มาของการยืนยันตัวตน และกฎรหัสออก บวกกับนิสัยในการให้ Hermes รัน apidog run ผ่านเครื่องมือ terminal และตรวจสอบรหัสออกด้วยตัวคุณเอง เพิ่มเซิร์ฟเวอร์ Apidog MCP ผ่าน ~/.hermes/config.yaml และมันจะสามารถอ่านสเปกของคุณในขณะที่เขียนโค้ดได้ด้วย
คุณยังคงสร้างสถานการณ์ด้วยภาพใน Apidog; Hermes แค่รันพวกมัน จากจุดนี้ ชี้คำสั่งเดียวกันไปยัง pipeline ของคุณด้วย Apidog CLI ใน GitHub Actions หรืออ่านข้อมูลอ้างอิงแฟล็กทั้งหมดใน คู่มือฉบับสมบูรณ์
คำถามที่พบบ่อย
ฉันจำเป็นต้องมีปลั๊กอิน Hermes เพื่อใช้ Apidog CLI หรือไม่?
ไม่ Hermes รันคำสั่งเชลล์ผ่านเครื่องมือ terminal ดังนั้นจึงเรียกใช้ apidog run โดยตรง การตั้งค่าเฉพาะของ Hermes มีเพียงบล็อก AGENTS.md และเซิร์ฟเวอร์ MCP เสริมเท่านั้น
ฉันควรใส่คำแนะนำที่สอน Hermes ถึง Workflow ไว้ที่ใด?
ในไฟล์บริบทที่ Hermes โหลดเมื่อเริ่มต้น เอนจินบริบทของมันจะสแกนไดเรกทอรีการทำงานเพื่อหาไฟล์เช่น AGENTS.md และ CLAUDE.md และฉีดเข้าไปใน system prompt ใส่บล็อก Apidog ของคุณใน AGENTS.md ที่ root ของ repo และทุกเซสชันใน repo นั้นจะอ่านมัน
ฉันจะแน่ใจได้อย่างไรว่า Hermes จะไม่ปลอมแปลงการทดสอบที่ผ่าน?
ให้มันรายงานรหัสออก ไม่ใช่แค่สรุป และตรวจสอบรหัสนั้นด้วยตัวคุณเอง apidog run จะออก 0 ก็ต่อเมื่อทุกการยืนยันผ่าน เมื่อข้อความและโค้ดไม่ตรงกัน ให้เชื่อโค้ด
ฉันจะเชื่อมต่อเซิร์ฟเวอร์ Apidog MCP กับ Hermes ได้อย่างไร?
เพิ่มรายการ mcp_servers ไปยัง ~/.hermes/config.yaml พร้อมกับคำสั่ง apidog-mcp-server และ project ID ของคุณ จากนั้นรัน /reload-mcp หรือรีสตาร์ท Hermes มันจะค้นพบเซิร์ฟเวอร์เมื่อเริ่มต้นและลงทะเบียนเครื่องมือของมัน คู่มือเซิร์ฟเวอร์ Apidog MCP ครอบคลุม project ID และ token
สิ่งนี้ทำงานเหมือนกันใน AI coding agents อื่นๆ หรือไม่?
CLI เหมือนกันทุกที่ มีเพียงวิธีการสอน agent เท่านั้นที่แตกต่างกัน Hermes อ่าน AGENTS.md และรันคำสั่งผ่านเครื่องมือ terminal ของมัน; agent อื่นๆ ใช้ไฟล์คำแนะนำของตัวเอง การติดตั้งและการยืนยันตัวตนเหมือนกัน ดังนั้น คู่มือการติดตั้ง ใช้ได้กับ agent ใดๆ
