流程設計:直觀、強大、靈活
DMflow.chat 智能聊天機器人平台致力於降低開發門檻。我們提供直觀的圖形化節點設計介面,讓您像堆積木一樣,透過拖曳方式輕鬆創建複雜的對話流程。無論是串接多種通訊渠道,還是靈活調用外部資源,都能在這裡一站式完成,助您打造個性化的用戶互動體驗,大幅提升溝通效率。

核心特點
- 拖曳式操作: 直觀的介面,用滑鼠拖曳即可連接各個邏輯節點。
- 跨渠道即時測試: 支援直接在第三方渠道(如 LINE, Messenger)進行測試,無需反覆切換視窗,開發更流暢。
- 環境隔離: 每個渠道都提供「測試版」與「生產版」環境(網頁版除外,僅有生產版),確保您的更動不會影響現有用戶。

渠道支援與限制
目前平台支援的主流渠道包括:
- LINE
- Messenger
- Telegram
已經不支援的渠道
- Web
注意事項:
- Telegram: 卡片模板目前不支援發送多張卡片。
- 輸出限制: 機器人預設只能使用「文字」加「按鈕」的輸出形式。若需要更豐富的表現形式(如 LINE 的 Flex Message),需要使用「自定義 JSON」進行輸出。
- 變數注入: 截至 1.0.51 版本,自定義 JSON 尚未實裝變數注入功能,僅能輸出固定的 JSON 內容。
關於 Flex Message 的實作,您可以參考以下教學(僅需留意變數注入功能的差異): DMflow Bot Template Tutorial
開發機器人前須知
在開始設計流程前,有幾個關鍵概念需要釐清:
- 開始節點 ≠ 歡迎節點: 「開始節點」是流程的邏輯起點,但在某些渠道(如 Telegram)可以用
/start指令隨時呼叫。 - 回覆節點的中斷機制: 過去版本依賴條件式裡的意圖判斷,但雲端版已移除意圖功能。現在此功能的用途轉變為:當該節點發生 Fallback(未命中任何條件)時,系統會回頭尋找 Start 節點輸出的 Branch 條件,若有滿足的條件則跳轉過去。
- 斜線指令 (/) 的強大功能: 當用戶輸入以
/開頭的指令時,可以強制跳轉場景。- 情境範例: 假設您在「場景 A」詢問用戶:「您的留言是?」。此時用戶突然想查資料,輸入
/B。系統會跳轉執行「場景 B」。當「場景 B」執行完畢後,系統會自動跳回「場景 A」,並重新詢問:「您的留言是?」。這代表轉向其他節點是「暫時的中斷」,而非取消當前任務。
- 情境範例: 假設您在「場景 A」詢問用戶:「您的留言是?」。此時用戶突然想查資料,輸入
建議您搭配 DMflow.chat 實際操作,會更容易理解這些概念。
節點類型詳解
資源節點 (Resource Node)
資源節點是連接外部世界的橋樑。它可以將對話中擷取的實體(Entity)作為參數,調用外部 API 並獲取回傳結果。
- 同步機制: 預設為同步執行,系統會等待對方伺服器回應後才進行下一步。
- 逾時設定: 預設逾時時間為 5~10 秒。
- 內部 API: 未來調用內部 API 將不受此限制。
- 功能對應: 功能上等同於 HTTP 請求。
回覆節點 (Reply Node)
這是與用戶互動的核心節點。您可以根據用戶選擇的語系,輸出不同語言的內容。(為什麼不自動翻譯?因為專有名詞的自動翻譯容易出錯,建議透過「領域」功能管理多語言內容)。
- 隨機回答: 您可以設定多組回答文案,系統會隨機選擇其中一個發送,增加對話的變化性。
- 按鈕功能: 按鈕的點擊動作分為三種類型:
| 按鈕類型 | 說明 |
|---|---|
| 文本按鈕 | 點擊後,模擬用戶回傳一段文字。 |
| 連結按鈕 | 點擊後,開啟指定的網頁連結。 |
| 事件按鈕 | 觸發特定的系統行為(詳見下表)。 |
事件按鈕類型詳解:
| 事件類型 | 說明 |
|---|---|
| 忽略事件 | 僅顯示按鈕文字,點擊後 DMflow 不會進行任何處理。 |
| 打斷事件 | 點擊後強制跳轉到另一個場景。 |
| 開始事件 | 回到主場景(Main Flow)。 |
| 結束事件 | 結束當前的 Session(會話)。 |
| 喚醒事件 | 當機器人處於「聆聽模式」時,使用此按鈕可無需喚醒詞直接喚醒機器人。 |
- 等待用戶回覆: 勾選此選項,流程會在此節點暫停,直到收到用戶的下一次輸入。
- 打斷啟動: 當用戶在下一個節點命中失敗時,系統會重新從開始節點尋找是否有其他滿足條件的節點可以進入。
情境節點 (Scenario Node)
情境節點用於管理對話的流向與狀態。
| 功能 | 說明 |
|---|---|
| 打斷 (Interrupt) | 將當前場景「睡眠 (Sleep)」,並呼叫其他場景。待其他場景執行完畢後,此場景會「喚醒 (Wake up)」並繼續執行。 |
| 重新開始 (Restart) | 將目前的場景重新從頭執行。 |
| 重回主情境 (Return to Main) | 通常主情境為 Main,但某些情況下(如 Messenger 的 OPEN_THREAD)可能會更改主情境設定。 |
| 完成 (Complete) | 標記流程結束。一般節點結束會自動調用,但在 Branch 的 Fallback 情況下,若不想顯示系統預設的錯誤訊息,可接上此節點。 |
| 結束流程 (End Flow) | 強制結束整個流程。 |
| 聆聽 (Listen) | 調用此節點時,機器人進入「只聽不回」模式。但若訊息滿足子流程條件,仍會執行子流程。直到聽到喚醒詞才會結束聆聽。常用於監聽特定指令或實現跨渠道聊天。 |
| 跳轉 (Jump) | 直接跳轉到指定的回覆節點(該回覆節點必須勾選「等待用戶回應」)。 |
調用節點 (Call Node)
調用節點將產品提供的 API 功能封裝成節點,方便直接使用。
目前提供的功能包含:
- 領域調用: 使用 AI 代理人或其他領域技能。
- 事件註冊: 提供廣播功能的訂閱註冊。
- 事件註冊取消: 取消廣播訂閱。
- 連結帳號: 將第三方渠道帳號連結到 DMflow.chat 帳號。
- 真人客服: 將對話轉接給真人專員。
變數節點 (Variable Node)
用於資料處理。可以將取得的參數注入到「標籤 (Tags)」、「使用者資料 (User Profile)」以及「單一會話儲存 (Session Storage)」中,實現資料的傳遞與記憶。