MaiGPT 模式嵌入
將類 ChatGPT 的 MaiGPT 完整對話介面嵌入您的網站或產品,支援指定容器與漂浮全屏兩種佈局
MaiGPT 模式提供類 ChatGPT 的完整對話介面(側欄對話歷史、搜尋對話、設定面板),與既有的「右下角聊天泡泡」(floating / sidebar)不同,適合作為頁面主要功能區塊,或全站 Agent 入口。
MaiGPT 模式只決定介面長相,不決定 Agent 會什麼。 它套在哪個 Agent 的 Web Chat 上,就是那個 Agent 的指令、模型與工具;要有生圖、上網等能力,請先照串接 MaiGPT:選對 Agent、補齊能力把 Agent 的回覆模式設成 Agent 並掛上工具。組織內建的 MaiGPT 產品只供登入成員使用,其 Web Chat 不能嵌入外部頁面。
一、兩種佈局模式
同一份設定支援兩種佈局,由 targetElement 是否存在決定:
模式 A — 嵌入指定容器:MaiGPT 常駐顯示在頁面中的指定
div(適合作為系統的主要工作區)模式 B — 漂浮按鈕 + 全屏:右下角漂浮按鈕,點擊後全屏開啟(適合全站 Agent 入口)
兩種行為皆由相同的 maigpt 模式觸發,只差 targetElement 一個欄位。
二、模式 A:嵌入指定容器
嵌入程式碼
實際嵌入效果(企業入口網站內嵌 MaiGPT,maigptTitle 設為品牌名稱):

容器要求
容器必須自行給定高度(iframe 以
100%撐滿容器;容器高度為 0 時看不到內容)targetElement接受 CSS selector 字串(如'#maigpt-container')或 HTMLElement 物件;指定為<body>時以全屏方式顯示傳 selector 字串時,SDK 會等元素出現,最多 5 秒,SPA 晚一點才 mount 的容器也接得到
容器若為
position: static,SDK 會自動改為position: relative,一般不需處理iframe 只佔據該容器,不影響頁面其他區塊
找不到容器時不會嵌入:selector 寫錯、5 秒內等不到元素,或傳入的 HTMLElement 還沒掛到頁面上,MaiGPT 都不會出現,console 會出現 [maiagent] targetElement ... MaiGPT embed skipped 錯誤,說明原因。
請確認:(1) selector 拼寫正確;(2) 容器在 SDK 載入後 5 秒內出現在 DOM(loader <script> 放在容器之後並加 defer;SPA 請在容器 mount 後再載入 SDK)。
三、模式 B:漂浮按鈕 + 全屏
嵌入程式碼
行為說明
頁面右下角顯示漂浮按鈕(顏色取
primaryColor)點擊按鈕 → MaiGPT 以全屏 iframe 開啟,右上角出現「×」關閉鈕
點「×」→ 全屏收合、回到漂浮按鈕
收合時 iframe 僅隱藏、不銷毀 → 再次開啟會保留原本的對話狀態

按鈕外觀參數(皆選填,僅模式 B 適用)
primaryColor
#1890ff
按鈕底色,可改為品牌色
buttonSize
3rem
按鈕尺寸
buttonRadius
50%
按鈕圓角
buttonPositionBottom
1rem
距視窗底部
buttonPositionRight
1rem
距視窗右側
buttonIcon
(內建 icon)
自訂按鈕圖示的圖片 URL
boxShadow
0.125rem 0.125rem 0.5rem #00000044
按鈕陰影
四、完整參數表
webChatId
string
✅
Web Chat ID
baseUrl
string
✅
Web Chat 服務位址,SaaS 為 https://chat.maiagent.ai/web-chats
enabledWindowModes
string[]
✅
固定 ['maigpt'](第一個元素決定模式)
targetElement
string 或 HTMLElement
✖
有值 → 模式 A;無值 → 模式 B
maigptTitle
string
✖
側欄左上角品牌標題,不設定則顯示 MaiGPT
primaryColor
string
✖
介面主色,可調整為品牌色
設定未知的欄位不會報錯,但 console 會出現 [maiagent] Unknown config options: ... 警告,方便檢查拼字。
五、locale 語系
支援的語系值
zh-TW(繁中)、zh-CN(簡中)、en、ja、ko、th、vi-VN、id、fil-PH、ms-MY、km-KH、lo-LA、my-MM
決定順序
config 的
locale(一定生效,優先權最高)使用者上次在此瀏覽器使用過的語系(會被記住)
瀏覽器語系
預設
zh-TW
六、識別使用者(contactId)
若要讓 AI 知道「誰在問」(跨裝置保留對話歷史、個人化回覆、以使用者權限呼叫工具),需在 config 帶入 contactId:
後端在使用者登入時呼叫 聯絡人身分同步 API 取得
contactId前端把
contactId加進 config:
contactId 必須是該登入使用者對應的值。不帶 contactId 時為匿名使用:對話歷史以瀏覽器為單位保留(同一瀏覽器重新整理後仍在),但無法跨裝置、也無法以使用者身分存取個人資料。
七、常見問題
最後更新於
這有幫助嗎?

