UStackUStack
OpenMolt icon

OpenMolt

OpenMolt 讓你在 Node.js 直接用程式碼打造 AI 代理:能思考、規劃並透過工具、整合與記憶執行任務。

OpenMolt

OpenMolt 是什麼?

OpenMolt 是一個 Node.js 程式化系統,用來建構能思考、規劃並執行動作的 AI 代理,直接使用你的程式碼庫。不是在獨立的產品 UI 中執行代理邏輯,而是從應用程式碼中定義代理、連接工具與整合,並協調代理行為。

核心目的是幫助你建構生產導向的代理工作流程——使用工具、結構化輸出與有狀態代理——同時將 API 金鑰保存在你的伺服器上。

主要功能

  • Node.js 程式化代理建立:使用 JavaScript/TypeScript 友善的 API,從你的程式碼建立代理。
  • 多供應商 LLM 支援,使用統一模型字串:使用一致的模型格式,在 OpenAI GPT-4o、Anthropic Claude 和 Google Gemini 等供應商之間切換。
  • 基於範圍的權限安全模型:金鑰儲存在伺服器端;工具呼叫會轉換成 HTTP 請求,讓 LLM 接收工具結果,而非原始 API 金鑰或權杖。
  • 宣告式工具與整合:將工具定義為資料(端點、認證範本與結構描述),避免撰寫樣板 HTTP 程式碼。
  • 使用 Zod 結構化的輸出:提供 Zod 結構描述,即可接收已驗證、類型化的物件,而非手動解析 LLM 回應。
  • 排程與 cron 風格自動化:支援間隔排程或 cron 風格每日排程,並包含時區支援。
  • 事件驅動的推理迴圈可見性:鉤入迴圈步驟,觀察工具呼叫、規劃更新、LLM 輸出與最終結果。
  • 帶回調的持久記憶:維持長期與短期記憶儲存,並使用 onUpdate 回調將記憶持久化到外部;代理可在執行中更新記憶。

如何使用 OpenMolt

  1. 在你的 Node.js 專案中安裝套件。
  2. 使用選擇的 LLM 供應商設定初始化 OpenMolt(例如,透過環境變數設定 OpenAI API 金鑰)。
  3. 建立代理,指定名稱、模型識別碼(使用統一模型字串格式)與指示。
  4. 從應用程式碼以使用者提示執行代理。

網站上顯示的範例流程:

  • 安裝:npm install openmolt
  • 建立並執行代理:實例化 OpenMolt,呼叫 createAgent(...),接著 agent.run('...') 並記錄結果。

使用案例

  • 每日報表自動化:排程代理每天早上拉取指標(例如來自 Stripe),產生摘要,並將報表貼到 Slack 頻道。
  • 多步驟內容管線:使用代理根據策略描述撰寫內容、產生相關資產,並將輸出儲存到磁碟,作為端到端工作流程的一部分。
  • 帶人工審核的郵件草稿:根據提供的指南,為收到的 Gmail 訊息草擬回覆,同時將審核與發送保留在 Gmail 中。
  • 開發者工作流程自動化:觸發 GitHub 相關任務,例如分類問題、套用標籤、將發行說明貼到 Slack,以及在 CI/CD 中產生變更日誌。
  • 商業營運與報表:監控 Shopify 訂單、更新 Airtable 記錄、透過 Twilio 發送通知,並將每日營收摘要發布到 Notion 儀表板。

常見問題

OpenMolt 所謂的「程式化 AI 代理」是什麼意思?

OpenMolt 設計讓你從 Node.js/TypeScript 程式碼庫中定義代理、工具與工作流程——而非透過獨立的 UI 來設定與執行代理。

我能在相同代理程式碼中使用多個 LLM 供應商嗎?

文件指出 OpenMolt 支援多個 LLM 供應商(包含 OpenAI、Anthropic Claude 和 Google Gemini),使用統一模型字串格式,讓你無需變更程式碼即可切換供應商。

OpenMolt 如何處理 API 金鑰與代理存取工具?

OpenMolt 使用基於範圍的權限模型:金鑰儲存在伺服器端,並透過 Liquid 範本插入 HTTP 請求。LLM 接收工具結果(工具輸出),而非原始 API 金鑰或權杖。

我的代理能回傳什麼樣的輸出?

OpenMolt 支援使用 Zod 結構描述的結構化輸出;你可提供結構描述並接收已驗證、類型化的物件。

OpenMolt 支援重複執行與自動化嗎?

是的。它支援間隔式執行與 cron 風格每日排程,包含時區支援。

替代方案

  • 低程式碼代理工作流程平台:提供視覺化建構器來整合 LLM、提示與動作的工具。原型製作可能更快,但通常會將設定移出你的應用程式碼。
  • 通用工作流程/協調工具,內建 LLM 呼叫:專注於建構工作流程(步驟、排程、重試)的替代方案,而你需自行實作 LLM/工具呼叫。相較 OpenMolt,你可能需要更多黏合程式碼來處理結構化輸出、工具定義與記憶模式。
  • 其他生態系統的開源代理框架:Python 或其他語言中的代理函式庫,提供類似概念(工具、記憶、結構化輸出)。差異通常在於語言/執行階段整合(Node.js 對其他堆疊)以及內建整合與安全性模式的程度。
  • 自建工具呼叫服務:自行打造代理執行器與工具註冊可提供最大控制,但通常需要更多工程努力來處理排程、結構化輸出驗證與記憶持久化。
OpenMolt | UStack