模型 / 資料集
hexabot-ai/Hexabot avatar
hexabot-ai/Hexabot

Hexabot v3 的取捨:YAML 工作流、Action 契約與 FCL-1.0-ALv2 授權

Hexabot v3 is an AI workflow automation platform, combining workflows, actions, agents, and conversational channels in one runtime.

1,220 個 Star242 個 ForkTypeScriptNOASSERTION

秒懂

它是什麼?
Hexabot v3 把工作流、Action、代理與對話通道收進同一個 TypeScript 執行環境,用 YAML 定義流程、用 Zod 定義契約。它的價值在於把 AI 流程寫成可版控的檔案,代價是 Node.js ^24.17.0 的硬門檻與一份非標準的授權條款。
適合誰用?
如果你需要把 AI 流程寫成可進版控的 YAML 檔、讓非工程角色也能讀懂流程結構,而且團隊的 Node.js 版本可以拉到 ^24.17.0,Hexabot v3 值得開一個專案實測。若你的環境卡在 Node 20 或 22、CI 需要全自動初始化、或者法務對非 OSI 標準授權有否決權,先不要動。
可以商用嗎?
請先確認。這個儲存庫使用的授權不在我們自動分類的範圍內,商用前請閱讀儲存庫中的 LICENSE 檔案。
還在維護嗎?
有在維護。儲存庫最近一次提交在 23 天前。
用什麼語言寫的?
主要是 TypeScript(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。

開源專案深度解析

Hexabot v3 想解決的是流程散落,不是模型不夠強

多數對話式 AI 專案的失敗點不在模型,而在流程。提示詞散在程式碼各處,工具呼叫寫死在 handler 裡,換一個通道就要重寫一次串接邏輯。Hexabot v3 的定位是把這些東西收斂成同一個執行環境:workflow、action、agent、channel 四個概念共用一套 runtime。README 的標語是 Automate the Boring, Keep the Magic,但真正透露意圖的是下一句,用 YAML、tools、MCP、memory 與 RAG 來建構跨通道的 agentic workflow。

目標讀者很明確。第一種是已經在用 n8n 或 LangChain 拼流程、開始覺得流程邏輯與程式碼糾纏不清的團隊。第二種是需要讓非工程角色看懂流程長什麼樣子的組織,YAML 至少比 TypeScript 好讀。第三種是本來就在做多通道客服或行銷自動化、不想為每個通道各寫一份串接層的人。

反過來說,如果你的需求只是單一通道、單一模型的問答機器人,這套東西的抽象層會變成負擔。你得多學一層 Action schema、多維護一份 YAML,換來的跨通道彈性在你身上用不到。

Action 契約與 Binding:Hexabot 把可重用性放在哪裡

README 的 Core Capabilities 列出六項,其中三項構成實際的執行骨架。Action 定義工作流的行為,輸入、輸出與設定都經過 schema 驗證。Binding system 把可重用的能力與設定綁定,跟任務邏輯分開。Schema-first architecture 則說明整套東西大量使用 Zod 做驗證與共用契約。

把這三句放在一起看,設計意圖就清楚了:Action 是可替換的行為單元,Binding 是可替換的連線設定,兩者之間靠 Zod schema 對接。同一個 Action 換一組 Binding,就能從測試環境切到正式環境,或從一家供應商換到另一家。這比把 API key 與端點寫死在 Action 裡的做法乾淨,代價是你必須先定義 schema 才能寫邏輯,前期比較慢。

Memory 與 MCP 是另外兩塊。README 說 memory 有明確的定義與 runtime 整合,MCP 則提供 tool 與 context 的互通點。這裡要注意措辭:README 用的是 integration points,不是完整的 MCP 實作承諾。實際支援到什麼程度,得看 docs.hexabot.ai 與 packages 目錄,這份材料無法確認。

Multi-channel continuity 被列為核心概念,但 README 沒有說明通道抽象層怎麼處理各平台不同的訊息格式與速率限制。這是評估時要自己驗證的地方。

從 npm 安裝到 localhost:3000:實際的啟動路徑

前置條件寫得很死:Node.js ^24.17.0。這個 caret 範圍代表 24.17.0 以上、25.0.0 以下。如果你們的基礎映像還停在 Node 20 或 22,這一步就會卡住,而且是硬卡,不是警告。另外需要一個套件管理器,npm、pnpm、yarn、bun 皆可,Docker 則只有要用 Docker 服務時才需要。

安裝 CLI 有兩種方式。全域安裝是 npm install -g @hexabot-ai/cli。不想裝全域就用 npx @hexabot-ai/cli --help 直接跑。

建立並啟動專案:

hexabot create my-project cd my-project hexabot dev

create 會自動偵測套件管理器,也可以用 --pm 強制指定,例如 hexabot create my-project --pm npm。啟動後預設端點有三個:Admin UI 在 http://localhost:3000,API 在 http://localhost:3000/api,API 文件在非正式環境下位於 http://localhost:3000/docs。

這裡有個容易踩的坑。README 明確寫著 create 會詢問初始管理員帳密,需要互動式終端(TTY),在 CI 或非互動 shell 中必須先在本機終端跑過一次。也就是說,用容器化流程一鍵佈署的團隊,第一次初始化得手動來。這不是 bug,是設計上的取捨,但它會影響你的自動化佈署腳本怎麼寫。

其餘常用指令包括 hexabot start、hexabot stop --docker、hexabot env init、hexabot check、hexabot config show、hexabot migrate。start 支援 --build 與 --services 指定服務清單,stop 支援 -v 一併移除 volume。完整的參數說明在 packages/cli/README.md。

資料層方面,TypeORM 是標準後端,SQLite 是預設的本機選項,Postgres 則被列為正式環境的一級選項。連線透過 DB_TYPE 與 DB_* 這組環境變數設定。本機開發用 SQLite 起手、上線換 Postgres,是文件暗示的路徑。

YAML 工作流與 TypeORM 資料層之間,有幾件事文件沒說

README 把 agentic workflows 描述為 YAML workflow definitions with typed runtime contracts。這句話有兩個關鍵詞:YAML 與 typed contracts。YAML 讓流程可讀、可 diff、可進版控,typed contracts 則意味著 YAML 不是自由格式,它會被對應到型別定義上。

問題在於,這份材料沒有給出任何一份完整的 YAML 範例。工作流的頂層結構長什麼樣、action 怎麼在 YAML 裡被引用、memory 與 MCP 的設定放在哪一層,全部要看 docs.hexabot.ai。這對評估來說是真實的障礙:你無法從 repo 首頁判斷這套 YAML 的學習曲線是半天還是一週。

同樣沒說清楚的還有版本落差。Recent releases 列出的最新版本是 v2.2.2,時間是 2025 年 1 月,而 README 通篇在講 Hexabot v3,最後一次推送是 2026 年 8 月。也就是說 v3 的程式碼在主線上持續推進,但沒有對應的正式 release 標籤。這代表什麼,材料不足以判斷,可能是 v3 還在開發中、以 main 分支為準,也可能是 release 流程尚未跟上。無論哪一種,採用前都該先確認你要追的是 main 還是某個 v2 標籤,兩者的 API 穩定度承諾不一樣。

資料層還有一個未解的問題:TypeORM 的 entity 與 migration 是否跟著 v3 的 schema-first 架構走。CLI 有 hexabot migrate 指令,說明 migration 是既有機制,但 README 沒有交代 Action 或 workflow 定義的變更是否會產生對應的 migration。

FCL-1.0-ALv2:一份需要法務看過的授權

授權欄位在 GitHub 上顯示為 NOASSERTION,README 則寫明 Licensed under FCL-1.0-ALv2,版權方是 Hexastack,年份 2025,完整條款在 LICENSE.md。

FCL-1.0-ALv2 不是 OSI 核准的常見授權,也不是 Apache-2.0 或 MIT 的別名。名稱裡的 ALv2 字樣通常指向 Apache License 2.0 的某種變體,但這只是命名慣例的推測,不能當成事實。NOASSERTION 的意思是 GitHub 的自動辨識無法歸類,這本身就值得注意。

對工程團隊的實際影響是:你不能靠既有經驗判斷這份授權允許什麼。能不能商用、能不能修改後閉源、要不要回饋修改、有沒有商標或專利條款,全部得回到 LICENSE.md 逐條看。這不是法律建議,只是提醒:在把 Hexabot 放進產品路徑之前,讓法務讀過 LICENSE.md,比讀十篇技術評測有用。

授權型態也會影響維護成本的計算方式。如果授權允許你自由 fork,那麼上游停滯時你有退路;如果不允許,上游的活躍度就變成你唯一的依靠。這份材料無法回答這個問題,但它決定了你該用什麼心態評估這個專案。

什麼時候該選 n8n 而不是 Hexabot

最直接的替代方案是 n8n。兩者都提供視覺化或宣告式的工作流,都能串接外部服務與 LLM,差別在抽象層的位置。

n8n 的核心是節點圖,流程在圖形介面上編輯,節點是預先寫好的整合。好處是上手快,幾百個現成節點直接拉;代價是流程本身以 JSON 存在資料庫裡,diff 與 code review 的體驗差,複雜分支一多,圖就變成一團。

Hexabot 走的是另一條路:YAML 檔在工作流這一層,TypeScript 在 Action 這一層,兩者靠 Zod schema 對接。流程定義是文字檔,可以進 git、可以 code review、可以在 PR 裡看到改了哪個節點。代價是沒有幾百個現成節點,你得自己寫 Action,或者靠 extensions 生態補。README 有指向 hexabot.ai/extensions,但這份材料沒有列出實際的擴充數量與維護狀態。

選哪一個,取決於你的流程是「接很多現成服務」還是「有自訂邏輯需要版本控制」。前者選 n8n,後者 Hexabot 的模型更合適。如果你的流程兩者兼具,那就得先確認 extensions 生態能不能覆蓋你的整合需求,這是採用與否的分水嶺。

誰該採用,以及動手前必須驗證的三件事

Hexabot v3 適合已經在做多通道對話自動化、而且團隊有 TypeScript 能力、願意自己寫 Action 的組織。它不適合只想拉幾個節點接起來就收工的人,也不適合 Node.js 版本被凍結在 20 或 22 的環境,更不適合需要全自動 CI 初始化的佈署流程,因為 hexabot create 需要 TTY。

維護成本方面,材料能支持的部分有限。CLI 提供 hexabot check、hexabot config、hexabot migrate 這些維運指令,說明專案有考慮升級路徑。但 v3 沒有對應的正式 release 標籤,最新標籤仍是 2025 年 1 月的 v2.2.2,這讓「升級」這件事的定義變得模糊。追 main 意味著你要自己承擔 breaking change,追 v2 標籤則可能拿不到 README 描述的那些 v3 能力。

動手前請確認:LICENSE.md 中 FCL-1.0-ALv2 對你商業模式的實際約束;hexabot create 在你的 CI 環境是否確實無法非互動執行;以及 packages/cli/README.md 裡 migrate 與 config set 的實際參數與行為。這三項沒確認完,後面的架構評估都是空談。

編輯結論

如果你需要把 AI 流程寫成可進版控的 YAML 檔、讓非工程角色也能讀懂流程結構,而且團隊的 Node.js 版本可以拉到 ^24.17.0,Hexabot v3 值得開一個專案實測。若你的環境卡在 Node 20 或 22、CI 需要全自動初始化、或者法務對非 OSI 標準授權有否決權,先不要動。動手前請確認三件事:LICENSE.md 中 FCL-1.0-ALv2 對你商業模式的實際約束、hexabot create 在你的 CI 環境是否真的無法非互動執行、以及 packages/cli/README.md 裡 migrate 與 config set 的實際參數。這三項沒確認完,後面的架構評估都是空談。

官方來源

  1. hexabot-ai/Hexabot on GitHub
  2. Issues
  3. Project website
  4. README
  5. Releases
社群筆記

社群筆記