บทนำ
วันนี้ เราได้แบ่งปันตัวอย่างการใช้งานจริงของ vm0-ai/run-action ซึ่งเป็น GitHub Action ที่ช่วยให้คุณสามารถเรียกใช้ workflow ของ VM0 ได้โดยตรงจาก CI/CD pipeline ของคุณ การเชื่อมต่อนี้นำการทำงานอัตโนมัติของ agent มาสู่ repository บน GitHub ของคุณ ทำให้สามารถตั้งเวลาและเรียกใช้งาน AI agent ได้โดยอัตโนมัติ
VM0 คืออะไร
VM0 คือ runtime สำหรับสร้าง AI agent โดยให้โครงสร้างพื้นฐานสำหรับจัดการทักษะของ agent, รัน agent ใน sandbox และกำหนด workflow ของ agent ด้วยภาษาธรรมชาติ
Github action คืออะไร
GitHub Actions คือแพลตฟอร์ม automation ในตัวของ GitHub ที่ให้คุณรัน workflow ตาม event หรือกำหนดเวลาได้ ด้วย cron job คุณสามารถสั่งให้ระบบทำงานอัตโนมัติเป็นช่วงเวลา เช่น รัน CI pipeline, งานเบื้องหลัง หรือ AI agent
จากเครื่องส่วนตัวสู่คลาวด์: รัน workflow ของ VM0 ด้วย GitHub Actions
ก่อนหน้านี้ การรัน workflow ของ VM0 ต้องใช้คำสั่ง vm0 run จากเครื่องของคุณเอง แม้วิธีนี้จะเหมาะกับการพัฒนาและทดสอบ (และ VM0 ยังอยู่ในช่วง beta!) แต่ก็มีข้อจำกัดสำหรับ:
- การทำงานอัตโนมัติตามเวลา - ต้องคอยสั่งงานเองหากต้องการให้ agent ทำงานตามเวลาที่กำหนด
- การเชื่อมต่อกับ CI/CD - การนำ agent เข้าไปใน pipeline การ deploy มีความซับซ้อน
- การทำงานร่วมกันในทีม - การแบ่งปันและประสานการรัน agent ระหว่างทีมทำได้ยาก
- การใช้งานใน production - การจัดการ agent ในสภาพแวดล้อม production มีความยุ่งยาก
ด้วย vm0-ai/run-action ใหม่ คุณสามารถเรียกใช้ workflow ของ VM0 ได้โดยตรงจาก GitHub Actions ด้วยการตั้งค่า action ที่ง่าย ไม่ต้องรันคำสั่งเองอีกต่อไป เพียงอธิบายงานของ agent แล้วให้ GitHub จัดการเรื่องเวลาและการรันให้
เริ่มต้นใช้งาน: สร้าง VM0 GitHub Action แรกของคุณ
การใช้ VM0 ใน GitHub Actions นั้นง่ายมาก ตัวอย่างพื้นฐาน:
- name: Run VM0 Agent
uses: vm0-ai/run-action@v1
with:
agent: my-agent
prompt: "Build and test the project"
artifact-name: my-artifact
vm0-token: ${{ secrets.VM0_TOKEN }}
ตั้งค่าการยืนยันตัวตน
เพื่อให้ GitHub Actions ของคุณเชื่อมต่อกับ VM0 ได้ คุณต้องตั้งค่า secret VM0_TOKEN ใน repository ของคุณ ขั้นตอนนี้ทำเพียงครั้งเดียว:
# Generate a VM0 authentication token and store it in GitHub Secrets
vm0 auth setup-token | gh secret set VM0_TOKEN
คำสั่งนี้จะสร้าง token จากการยืนยันตัวตน VM0 บนเครื่องของคุณและเก็บไว้อย่างปลอดภัยใน secrets ของ GitHub repository เพื่อให้ workflow ของคุณใช้งานได้
ตัวอย่างจริง: การเผยแพร่เนื้อหาอัตโนมัติ
มาดูตัวอย่างเต็มรูปแบบที่แสดงศักยภาพของการเชื่อมต่อ VM0 GitHub Actions เราจะสร้าง content farm อัตโนมัติที่เผยแพร่ข่าว AI รายวันไปยัง dev.to
สถานการณ์
เรามี workflow ของ VM0 อยู่แล้วที่ vm0-cookbooks/104-content-farm สำหรับรวบรวมข่าว AI รายวันและเผยแพร่บทความ ตอนนี้เราต้องการให้ workflow นี้ทำงานอัตโนมัติตามเวลาที่กำหนด
ขั้นตอนที่ 1: สร้าง GitHub repository
เริ่มจากสร้าง repository ใหม่เพื่อเก็บ workflow อัตโนมัติของคุณ:
# Create and set up your repository
git clone <https://github.com/yourusername/vm0-content-farm>
cd vm0-content-farm
ขั้นตอนที่ 2: ตั้งค่า workflow
สร้างไฟล์ .github/workflows/daily.yaml ใน repository ของคุณ:
name: Content Farm
on:
schedule:
# Run at 10:00 AM UTC+8 (2:00 AM UTC) every day
- cron: '0 2 * * *'
workflow_dispatch:
jobs:
run-content-farm:
runs-on: ubuntu-latest
steps:
- name: Run Content Farm Agent
uses: vm0-ai/run-action@v1
with:
agent: content-farm
prompt: "Write an article about recent AI developments, providing brief summaries of each story to help readers quickly browse the news over their morning coffee"
artifact-name: content-farm-output
vm0-token: ${{ secrets.VM0_TOKEN }}
secrets: |
CLAUDE_CODE_OAUTH_TOKEN=${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
FAL_KEY=${{ secrets.FAL_KEY }}
DEVTO_API_KEY=${{ secrets.DEVTO_API_KEY }}
อธิบายส่วนสำคัญของ workflow:
- schedule: ใช้ cron syntax เพื่อรันทุกวันเวลา 2:00 นาฬิกา PST,UTC-8
- workflow_dispatch: อนุญาตให้เรียก workflow ด้วยตนเองเพื่อทดสอบ
- agent: ระบุว่าให้รัน VM0 agent ตัวใด
- prompt: ให้คำสั่งหรือคำแนะนำสำหรับ agent
- secrets: ส่ง API key และ token ที่จำเป็นให้ agent
ขั้นตอนที่ 3: ตั้งค่า secrets ของคุณ
กำหนด token สำหรับการยืนยันตัวตนที่จำเป็นใน repository:
# Set up Claude Code authentication
claude setup-token
gh secret set CLAUDE_CODE_OAUTH_TOKEN --body "your-claude-token"
# Set up other required API keys
gh secret set FAL_KEY --body "your-fal-key"
gh secret set DEVTO_API_KEY --body "your-devto-api-key"
หมายเหตุด้านความปลอดภัย: secrets เหล่านี้ถูกเก็บไว้อย่างปลอดภัยใน GitHub และเข้าถึงได้เฉพาะ workflow ของคุณเท่านั้น จะไม่ถูกเปิดเผยใน log หรือผลลัพธ์ของ workflow
ขั้นตอนที่ 4: เพิ่ม workflow สำหรับ auto-deployment
สร้างไฟล์ .github/workflows/publish.yml
name: Publish Agent
on:
push:
branches:
- main
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: vm0-ai/compose-action@v1
with:
vm0-token: ${{ secrets.VM0_TOKEN }}
ระบบจะ deploy การตั้งค่า agent ของคุณโดยอัตโนมัติทุกครั้งที่ push ไป main โดยไม่ต้องใช้ vm0 compose ด้วยตนเอง
ขั้นตอนที่ 5: Deploy และทดสอบ
Deploy:
# Get the content-farm agent configuration
git clone https://github.com/vm0-ai/vm0-cookbooks
cp -r vm0-cookbooks/104-content-farm/* ./
# Push to trigger auto-deployment
git add .
git commit -m "feat: add content farm agent"
git push origin main
Test:
# Manually trigger the workflow
gh workflow run scheduled-run.yml
เสร็จแล้ว! agent ของคุณจะ deploy อัตโนมัติเมื่อ push และรันตามเวลาที่กำหนด
สรุป
การเชื่อมต่อ VM0 GitHub Actions ช่วยให้คุณนำ AI agent เข้าสู่ workflow การพัฒนาที่ใช้อยู่เดิม
แทนที่จะต้องรัน agent ด้วยตนเองหรือใช้เป็น script ชั่วคราว คุณสามารถรัน agent ได้โดยตรงใน CI/CD pipeline และตามเวลาที่ตั้งไว้ ช่วยให้คุณ:
- รันงานซ้ำ ๆ อัตโนมัติ ไม่ต้องคอยเฝ้าดู
- ผสาน agent เข้ากับกระบวนการพัฒนาและปล่อยซอฟต์แวร์ปกติ
- แบ่งปันและปรับปรุง workflow ของ agent ร่วมกับทีม
- ส่งมอบ automation ที่ขับเคลื่อนด้วย agent ได้อย่างราบรื่น
ไม่ว่าคุณจะเผยแพร่เนื้อหา สร้างรายงาน ตรวจสอบโค้ด หรือทำงานอัตโนมัติภายใน VM0 GitHub Actions ก็เป็นวิธีที่ง่ายและเชื่อถือได้ในการรัน AI agent ตามต้องการ
เริ่มต้นได้เลยโดยดูตัวอย่างจาก cookbooks repository และทดลองใช้
vm0-ai/run-action ใน workflow ของคุณเองบน GitHub
แหล่งข้อมูลเพิ่มเติม
- เอกสาร VM0: vm0.ai
- GitHub Action: vm0-ai/run-action
- Cookbooks: vm0-ai/vm0-cookbooks
- GitHub Repository: vm0-ai/vm0





