คู่มือ
วิธีเพิ่มแชทบอทสนับสนุนด้วย AI และ SSH agent ให้กับคลาวด์ CloudStack
NexCMP เป็นระบบ billing และ customer portal แบบ self-hosted สำหรับ Apache CloudStack และ Proxmox VE โดยเวอร์ชัน 1.2.0 มาพร้อมกับสองโมดูล AI ได้แก่ AI Chat ซึ่งเป็นผู้ช่วยภายใน customer portal และ AI Agent ซึ่งทำหน้าที่จัดการงานต่างๆ บน VM ของลูกค้าผ่าน SSH คู่มือนี้จะแนะนำการตั้งค่าทั้งสองโมดูลด้วย API key ที่เข้ากันได้กับ OpenAI พร้อมภาพหน้าจอจาก customer portal และคอนโซลผู้ดูแลระบบ
เวลาที่ใช้: ประมาณ 15 นาที บนระบบ NexCMP ที่ติดตั้งไว้แล้ว
สแตกของระบบ
4 องค์ประกอบ ซึ่ง 3 องค์ประกอบคุณน่าจะใช้งานอยู่แล้ว
NexCMP 1.2.0
พาเนลที่ลูกค้าของคุณใช้งานอยู่แล้ว ติดตั้งบน Ubuntu 22.04 หรือ 24.04 โดย AI Chat และ AI Agent รวมอยู่ในไลเซนส์แล้ว — ไม่มีค่าใช้จ่ายเพิ่มเติม
Endpoint ที่เข้ากันได้กับ OpenAI
API การเติมเต็มแชท (chat-completions) ใดๆ ที่รองรับ tool (function) calling: ผู้ให้บริการแบบโฮสต์ หรือพร็อกซีที่คุณรันไว้ด้านหน้าผู้ให้บริการหลายราย
คีย์ที่มีการจำกัดวงเงินค่าใช้จ่าย
กำหนดคีย์แยกเฉพาะสำหรับพาเนล และตั้งค่างบประมาณรายเดือนบนคีย์นั้นที่ผู้ให้บริการหรือในพร็อกซีของคุณ เพื่อไม่ให้เกิดค่าใช้จ่ายบานปลาย
VM บน CloudStack ของคุณ
AI Agent จะเชื่อมต่อไปยัง VM ของลูกค้าผ่าน SSH จากเซิร์ฟเวอร์พาเนล ด้วยข้อมูลการเข้าสู่ระบบที่ลูกค้าบันทึกไว้สำหรับ VM นั้น
ขั้นตอนการดำเนินการ
อัปเดตพาเนลเป็น 1.2.0
ในคอนโซลผู้ดูแลระบบ ให้เปิด License แล้วกด Update หรือรัน sudo nexcmp update บนเซิร์ฟเวอร์ ตัวอัปเดตจะได้รับการลงนามและตรวจสอบความถูกต้องก่อนทำการติดตั้ง
สร้างคีย์ API ที่จำกัดวงเงิน
สร้างคีย์ที่ผู้ให้บริการ AI ของคุณ (หรือในพร็อกซีของคุณ) สำหรับพาเนลนี้โดยเฉพาะ พร้อมทั้งกำหนดงบประมาณรายเดือน โมเดลที่ทำงานเร็วและต้นทุนต่ำก็เพียงพอสำหรับการแชทสนับสนุนแล้ว
ระบุข้อมูลใน Admin › Settings › AI provider
วาง URL ของ endpoint, คีย์ และชื่อโมเดล จากนั้นกด Test connection โดยคีย์จะถูกจัดเก็บแบบเข้ารหัสไว้ในฐานข้อมูลของพาเนล และจะไม่แสดงให้เห็นอีก
เปิดใช้งานโมดูล AI
ใน License › Modules ให้เปิดใช้งาน AI โดย AI Chat และ AI Agent จะปรากฏในเมนูพอร์ทัลลูกค้าหลังจากรีโหลดหน้าเว็บ และการปิดโมดูลจะซ่อนเมนูดังกล่าวอีกครั้ง
ลูกค้าสอบถาม AI Chat
AI Chat จะตอบคำถามเกี่ยวกับแพ็กเกจและราคาของคุณ รวมถึงบริการของลูกค้าเอง เมื่อคำถามจำเป็นต้องมีเจ้าหน้าที่ดูแล ลูกค้าสามารถส่งต่อการสนทนาไปยังทีมสนับสนุนของคุณได้

ลูกค้าเรียกใช้งาน AI Agent บน VM
ลูกค้าเลือก VM ของตนเองหนึ่งเครื่องและอธิบายงานด้วยภาษาทั่วไป Agent จะดำเนินการตามคำสั่งผ่าน SSH พร้อมแสดงทุกคำสั่งและผลลัพธ์ที่ได้

ติดตามการใช้งานอย่างต่อเนื่อง
ค่าบริการการใช้งานจะถูกเรียกเก็บโดยผู้ให้บริการ AI ของคุณ ไม่ใช่โดย NexCMP ตรวจสอบค่าใช้จ่ายได้บนแดชบอร์ดของผู้ให้บริการหรือพร็อกซี และปรับงบประมาณของคีย์ตามการใช้งานจริงของลูกค้าคุณ
สิ่งที่คุณต้องเตรียมก่อนเริ่มต้น
- NexCMP 1.2.0 ขึ้นไป พร้อมโมดูล AI ใน License › Modules
- ผู้ให้บริการ AI ที่มี endpoint chat/completions ที่รองรับมาตรฐาน OpenAI และโมเดลที่รองรับ tool (function) calling: ไม่ว่าจะเป็น OpenAI, OpenRouter, LiteLLM gateway หรือเซิร์ฟเวอร์ vLLM ของคุณเองก็สามารถใช้งานได้ทั้งหมด
- สำหรับ AI Agent ต้องมี openssh-client บนเซิร์ฟเวอร์ของพาเนล (โปรแกรมติดตั้งจะเพิ่มให้โดยอัตโนมัติ) และเส้นทางเครือข่ายจากเซิร์ฟเวอร์ของพาเนลไปยังพอร์ต SSH ของแต่ละ VM ซึ่งตามค่าเริ่มต้นคือพอร์ต 22
- สำหรับ AI Agent ต้องเป็น Linux VM ที่เป็นของลูกค้า กำลังทำงานอยู่และไม่ถูกล็อก พร้อมข้อมูลเข้าสู่ระบบที่บันทึกไว้ (บันทึกเมื่อสร้าง VM หรือรีเซ็ตรหัสผ่าน) หรือ operations key ของพาเนล โดยระบบไม่รองรับ Windows VM
- ตัวเลือกเสริมสำหรับการส่งต่อเคสของ AI Chat ให้เจ้าหน้าที่: บอต Telegram และ chat ID ใต้ Settings › Admin alerts
ssh -V
nc -vz 198.51.100.10 22ทดสอบ endpoint จากเซิร์ฟเวอร์ของพาเนลก่อน
NexCMP จะเพิ่ม /chat/completions ให้กับ URL ที่ลงท้ายด้วย /v1 และเพิ่ม /v1/chat/completions ให้กับ URL อื่นๆ ส่วน URL ที่ลงท้ายด้วย /chat/completions อยู่แล้วจะถูกใช้งานตามนั้น ก่อนที่คุณจะป้อน endpoint ให้ส่งคำขอหนึ่งครั้งจากเซิร์ฟเวอร์ NexCMP การตอบกลับแบบ JSON ที่มี choices[0].message.content หมายความว่า endpoint และโมเดลทำงานได้ถูกต้อง
curl -s https://ai.example.com/v1/chat/completions \
-H "Authorization: Bearer XXXX" -H "Content-Type: application/json" \
-d '{"model":"gpt-4o-mini","messages":[{"role":"user","content":"Reply with one word: OK"}]}'วิธีที่ AI Agent ดำเนินการตามคำสั่ง และสิ่งที่จะไม่ทำงานโดยอัตโนมัติ
- คำสั่งต่างๆ จะทำงานจากเซิร์ฟเวอร์ของพาเนลด้วย ssh client ของระบบ ทีละหนึ่งคำสั่งในโหมด non-interactive โดยเป้าหมายจะเป็นที่อยู่ IP ของ VM จากฐานข้อมูลเสมอ และจะไม่ใช้ค่าที่ส่งมาจากคำขออย่างเด็ดขาด
- รหัสผ่านที่บันทึกไว้จะถูกส่งผ่าน SSH_ASKPASS helper แบบ one-shot ใน process environment โดยไม่มีการเขียนลงดิสก์หรือระบุบนบรรทัดคำสั่ง
- ผลลัพธ์ของแต่ละคำสั่งจะถูกจำกัดไว้ที่ 200 KB แต่ละรอบการทำงานจะสิ้นสุดหลังผ่านไปไม่เกิน 10 ขั้นตอน และลูกค้าสามารถเรียกใช้งาน agent ได้สูงสุด 2 งานพร้อมกันในเวลาเดียวกัน
- ในโหมด Confirm ทุกคำสั่งจะรอลูกค้ากด Run ส่วนในโหมด Auto จะมีเพียงคำสั่งที่อยู่ในรายการอ่านอย่างเดียว (read-only) ที่เข้มงวดเท่านั้น เช่น df -h, ps หรือ journalctl ที่จะทำงานโดยอัตโนมัติ
- คำสั่งที่เขียนทับหรือลบไฟล์, เปลี่ยนแปลงบัญชีผู้ใช้หรือ SSH keys, ส่งข้อมูลไปยังเซิร์ฟเวอร์ภายนอก, ดาวน์โหลดและรันสคริปต์, หรือปิดเครื่อง/รีสตาร์ตเครื่อง จะแสดงสถานะ Needs confirmation เสมอ แม้อยู่ในโหมด Auto ก็ตาม
- ผลลัพธ์ของคำสั่งจะแสดงต่อโมเดลในฐานะข้อมูลที่ไม่น่าเชื่อถือ (untrusted data) และคำสั่งการใดๆ ที่พบในผลลัพธ์นั้นจะไม่ถูกปฏิบัติตาม
การแก้ปัญหา
ข้อความที่คุณอาจพบได้บ่อยที่สุด และสิ่งที่ต้องตรวจสอบ
Test connection ล้มเหลวด้วยรหัส 401
- สาเหตุที่เป็นไปได้
- คีย์ไม่ถูกต้องสำหรับ endpoint ดังกล่าว
- สิ่งที่ต้องทำ
- ตรวจสอบคีย์และ endpoint แล้วกรอกคีย์ใหม่อีกครั้งหากคุณมีการเปลี่ยน base URL
Test connection ล้มเหลวด้วยรหัส 404 หรือไม่พบโมเดล
- สาเหตุที่เป็นไปได้
- เส้นทาง (path) หรือ model id ไม่ถูกต้อง
- สิ่งที่ต้องทำ
- ตรวจสอบว่า base URL ลงท้ายด้วย /v1 และใช้ model id ที่ถูกต้องตรงกับของผู้ให้บริการ
พอร์ทัลไม่แสดงเมนู AI
- สาเหตุที่เป็นไปได้
- โมดูลปิดอยู่ หรือยังไม่ได้เปิดใช้งานผู้ให้บริการ
- สิ่งที่ต้องทำ
- เปิดใช้งานโมดูล AI ใน License › Modules และเปิดใช้งานผู้ให้บริการ
Agent ไม่สามารถเข้าสู่ระบบได้
- สาเหตุที่เป็นไปได้
- ไม่มีรหัสผ่านที่บันทึกไว้และไม่มีคีย์การดำเนินงานสำหรับ VM ดังกล่าว
- สิ่งที่ต้องทำ
- รีเซ็ตรหัสผ่านของ VM ในพอร์ทัลเพื่อให้ระบบบันทึกรหัสผ่านใหม่อีกครั้ง
เซิร์ฟเวอร์ไม่ตอบสนองภายในเวลาที่กำหนด
- สาเหตุที่เป็นไปได้
- ไฟร์วอลล์, SSH ไม่เปิดรับการเชื่อมต่อ หรือ VM กำลังทำงานหนัก
- สิ่งที่ต้องทำ
- รัน nc -vz <vm-ip> 22 จากเซิร์ฟเวอร์ของแผงควบคุม แล้วเริ่มทำงาน sshd ภายใน VM
AI ตอบสนองช้าเกินไป
- สาเหตุที่เป็นไปได้
- ผู้ให้บริการหรือโมเดลทำงานช้า
- สิ่งที่ต้องทำ
- เปลี่ยนไปใช้โมเดลที่เร็วกว่า หรือลดค่า Reasoning effort ใน Settings › AI provider
เข้าสู่ระบบเพื่อใช้งาน AI Chat
- สาเหตุที่เป็นไปได้
- ผู้เยี่ยมชมยังไม่ได้เข้าสู่ระบบ
- สิ่งที่ต้องทำ
- เป็นไปตามที่กำหนด: AI Chat ให้บริการเฉพาะลูกค้าที่เข้าสู่ระบบแล้วเท่านั้น
ความเป็นส่วนตัวและค่าใช้จ่าย
คำถามของลูกค้าและข้อมูลที่ AI อ่านสำหรับลูกค้ารายนั้น (แบบอ่านอย่างเดียว) จะถูกส่งไปยังผู้ให้บริการ AI ของคุณ โปรดระบุสิ่งนี้ไว้ในนโยบายความเป็นส่วนตัวของคุณ
NexCMP ไม่ได้คิดค่าบริการหรือวัดปริมาณการใช้งาน AI โปรดใช้ฟีเจอร์กำหนดงบประมาณของผู้ให้บริการของคุณ และลดการตั้งค่ารอบการตอบกลับของ AI ต่อวันต่อลูกค้า (ค่าเริ่มต้นคือ 40 ภายใต้ Customers › Support › Ticket › AI settings) เพื่อจำกัดค่าใช้จ่าย
ขั้นตอนถัดไป
AI Chat และ AI Agent จะยังคงปิดการทำงานจนกว่าคุณจะบันทึก provider key ดังนั้นจะไม่มีการเรียกเก็บเงินหรือส่งข้อมูลใดๆ ก่อนที่คุณจะตัดสินใจ อ่านภาพรวมหรือสำรวจโมดูลอื่นๆ เพิ่มเติม
คำถามเกี่ยวกับโมดูล AI
สามารถใช้งานกับโมเดล AI ใดได้บ้าง?
เอเจนต์สามารถเข้าถึงเซิร์ฟเวอร์ของลูกค้ารายอื่นได้หรือไม่?
NexCMP คิดค่าบริการสำหรับ AI หรือไม่?
ทดสอบการเชื่อมต่อกับผู้ให้บริการ AI อย่างไร?
AI Agent จำเป็นต้องมี SSH gateway แยกต่างหากหรือไม่?
ผู้เยี่ยมชมที่ไม่ได้เข้าสู่ระบบสามารถใช้งาน AI Chat ได้หรือไม่?
AI Agent ใช้งานบน Windows VM ได้หรือไม่?
สามารถปิดการใช้งานได้หรือไม่?
เอกสารอ้างอิง
ข้อกำหนดทางเทคนิคที่ระบุไว้ในคู่มือนี้
เพิ่ม AI ให้กับคลาวด์ของคุณ
AI Chat และ AI Agent รวมอยู่ในทุกไลเซนส์ของ NexCMP — ฟรีในปีแรก หรือ $499 ชำระครั้งเดียวพร้อมซอร์สโค้ด
อัปเดตล่าสุด:


