指南
如何為CloudStack雲端新增AI客服聊天機器人與SSH Agent
NexCMP是一套適用於Apache CloudStack與Proxmox VE的自託管計費與客戶入口網站系統,1.2.0版提供兩個AI模組:位於客戶入口網站內的助理AI Chat,以及透過SSH在客戶VM上執行任務的AI Agent。本指南將搭配客戶入口網站與管理控制台的螢幕截圖,逐步說明如何使用相容OpenAI的API金鑰完成兩者設定。
所需時間:在現有的NexCMP安裝環境約需15分鐘。
技術架構
共四個元件,其中三個您可能已經在運行。
NexCMP 1.2.0
您客戶已在使用的控制台,安裝於Ubuntu 22.04或24.04上。AI Chat與AI Agent均包含於授權內,無須額外付費。
相容OpenAI的端點
任何支援工具(函式)呼叫的chat-completions API:託管供應商,或是您在多個供應商前端架設的Proxy。
設有支出上限的金鑰
為控制台建立專屬金鑰,並在供應商端或Proxy中為其設定每月預算,確保用量絕不超支。
您的CloudStack虛擬機器
AI Agent會使用客戶為該虛擬機器儲存的登入資訊,從控制台伺服器透過SSH連線至客戶的虛擬機器。
步驟說明
將控制台更新至1.2.0
在管理控制台中開啟License並點擊Update,或在伺服器上執行sudo nexcmp update。更新在安裝前會先經過簽章驗證與檢查。
建立設有預算上限的API金鑰
在您的AI供應商處(或在您的Proxy中)為此控制台建立專用金鑰,並設定每月預算。對於客服聊天來說,速度快且成本低的模型就已足夠。
在Admin › Settings › AI provider中輸入
貼上端點URL、金鑰與模型名稱,然後點擊Test connection。金鑰會加密儲存在控制台資料庫中,且之後絕不會再次顯示。
開啟AI模組
在License › Modules中開啟AI。重新載入頁面後,客戶入口網站選單會顯示AI Chat與AI Agent;關閉模組則會再次隱藏。
客戶向AI Chat提問
AI Chat可回答關於您的方案、價格以及客戶自身服務的問題。當問題需要專人處理時,客戶可將對話轉交給您的支援團隊。

客戶在虛擬機器上執行AI Agent
客戶選取自己的一台虛擬機器,並以一般語言描述任務。Agent會透過SSH執行指令,並顯示每個指令與其輸出。

隨時掌握用量
用量由您的AI提供者計費,而非NexCMP。請在提供者或代理伺服器的資訊主頁中查看支出,並隨著客戶開始採用此功能相應調整金鑰預算。
開始前的事前準備
- NexCMP 1.2.0或更新版本,並在License › Modules中具備AI模組。
- 具備OpenAI相容chat/completions端點且模型支援工具(函式)呼叫的AI提供者:OpenAI、OpenRouter、LiteLLM閘道或您自建的vLLM伺服器皆符合條件。
- 若要使用AI Agent,控制面板伺服器上需有openssh-client(安裝程式會自動加入),且從控制面板伺服器到各虛擬機器的SSH連接埠(預設為22)需有網路路由。
- 若要使用AI Agent,需為客戶所擁有、正在運行且未鎖定的Linux虛擬機器,並具備已儲存的登入資訊(建立虛擬機器或重設密碼時儲存)或控制面板的操作金鑰。不支援Windows虛擬機器。
- AI Chat專人轉接選填項目:Settings › Admin alerts底下的Telegram機器人與chat ID。
ssh -V
nc -vz 198.51.100.10 22先從控制面板伺服器測試端點
NexCMP會將/chat/completions附加至以/v1結尾的URL,對其他URL則會附加/v1/chat/completions;若URL本身已以/chat/completions結尾,則直接使用。在輸入端點前,請先從NexCMP伺服器向其發送一個請求。若傳回包含choices[0].message.content的JSON回應,即表示端點與模型運作正常。
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用戶端執行,一次執行一個非互動式指令。目標一律為資料庫中的虛擬機器IP位址,絕不採用來自請求中的位址。
- 儲存的密碼是透過處理程序環境中的單次SSH_ASKPASS輔助程式傳遞:不會寫入磁碟,亦不會出現在命令列中。
- 每個指令的輸出上限為200 KB,一輪最多執行10個步驟,且單一客戶最多只能同時執行2個Agent作業。
- 在Confirm模式下,每個指令都會等待客戶點擊Run。在Auto模式下,只有嚴格唯讀清單上的指令(例如df -h、ps或journalctl)會自動執行。
- 凡是會覆寫或刪除檔案、變更帳號或SSH keys、傳送資料至外部伺服器、下載並執行指令稿,或是將機器關機或重新啟動的指令,即使在Auto模式下也一律會顯示Needs confirmation。
- 指令輸出會作為不受信任的資料提供給模型,且不會遵循其中包含的任何指示。
疑難排解
最常遇到的訊息以及相應的檢查項目。
Test connection失敗並顯示401
- 可能原因
- 該端點的金鑰不正確。
- 處理方式
- 請檢查金鑰與端點;若曾變更基礎URL,請重新輸入金鑰。
Test connection失敗並顯示404或model not found
- 可能原因
- 路徑或model id錯誤。
- 處理方式
- 請確認基礎URL以/v1結尾,並使用提供者精確的model id。
入口網站未顯示AI選單
- 可能原因
- 模組已關閉,或是提供者未切換為使用中。
- 處理方式
- 請在License › Modules中開啟AI模組並啟用提供者。
Agent無法登入
- 可能原因
- 該VM沒有儲存密碼,也沒有維運金鑰。
- 處理方式
- 在入口網站重設VM密碼以重新儲存。
伺服器未及時回應
- 可能原因
- 防火牆阻擋、SSH未監聽或VM忙碌。
- 處理方式
- 從控制台伺服器執行nc -vz <vm-ip> 22並在VM中啟動sshd。
AI回應速度過慢
- 可能原因
- 提供商或模型速度較慢。
- 處理方式
- 在Settings › AI provider中改用更快的模型或調低Reasoning effort。
登入以使用AI Chat
- 可能原因
- 訪客尚未登入。
- 處理方式
- 正常現象:AI Chat僅供已登入客戶使用。
隱私與成本
客戶的問題以及AI為該客戶讀取的資料(唯讀)都會傳送至您的AI提供商。請在您的隱私權政策中註明這點。
NexCMP不會計量AI成本。請使用您提供商的預算功能,並調低「每位客戶每日AI對話輪數」設定(預設為40,位於Customers › Support › Ticket › AI settings)以限制支出。
後續步驟
在儲存供應商金鑰前,AI Chat與AI Agent皆維持停用狀態,因此在您做出決定前,不會產生任何費用或向外傳輸任何資料。您可以閱讀總覽說明,或瀏覽其他模組。
關於AI模組的常見問題
支援哪些AI模型?
代理程式能否存取其他客戶的伺服器?
NexCMP會對AI功能收費嗎?
如何測試AI提供商的連線?
AI Agent需要獨立的SSH閘道嗎?
未登入的訪客可以使用AI Chat嗎?
AI Agent可以在Windows VM上運作嗎?
我可以關閉它嗎?
上次更新:


