Code(程式碼執行)
節點概述
節點英文名: Code
節點中文名稱: 程式碼執行
支援場景: Chatflow Agent(支援), Workflow Agent(支援)
迭代版本: 版本 1
功能說明
Code 節點用於執行一段自定義程式碼(如 Python 和 JavaScript),實現特定業務邏輯或計算,輸出結果供後續節點使用。它提供了強大的程式設計能力,允許使用者在工作流中執行自定義的程式碼邏輯。
節點展示內容

1. 基本資訊展示
- 圖示: 節點專用圖示
- 名稱: 節點名稱
- 註釋: 使用者新增的說明文字
2. 操作按鈕
- 更多按鈕: 點選後展示右鍵選單內容
- 執行按鈕: 點選進入試執行介面
節點編輯區域

1. 輸入變數配置
- 新增變數: 點選後新增一行輸入變數
- 變數列表: 支援多行變數的展示,支援刪除
- 變數輸入: 支援多個變數的輸入
- 變數名: 支援填寫變數名稱
- 變數值: 支援通過【選擇變數】元件選擇變數值
2. 程式碼輸入框
- 語言選擇: 支援 Python3 和 JavaScript 兩種型別的選擇
- 程式碼編輯: 提供程式碼編輯器,支援語法高亮、複製與放大
- 固定入口: 程式碼需實現
main函式,返回值為字典,鍵與輸出變數一一對應(如def main(arg1: str, arg2: str) -> dict: return {"result": arg1 + arg2})
3. 輸出變數配置
- 變數名稱: 支援填寫變數名稱
- 變數型別: 支援選擇變數型別
- 新增刪除: 支援新增和刪除變數
- 變數類型範圍:
- String / Array[String]
- Number / Array[Number]
- Object / Array[Object]
4. 失敗時重試
- 開關: 開啟後,程式碼執行失敗時自動重試
5. 下一步配置
- 支援新增下一個節點
執行邏輯
Code 節點的執行邏輯由後端實現,確保程式碼的正確執行和安全控制。
右鍵操作
右鍵選單包含以下選項:
- 更改節點: 修改節點型別
- 複製: 複製節點
- 複製: 複製節點內容
- 刪除: 刪除節點
- 幫助連結: 跳轉到幫助文件
- 執行節點: 測試運行當前節點
測試執行
- 支援狀態: 支援測試執行
- 更改節點: 支援更改節點型別
- 複製功能: 支援複製、剪貼、刪除操作
程式語言支援
1. Python3
- 版本: Python 3.x
- 標準庫: 支援 Python 標準庫(第三方庫以沙箱實際支援為準)
- 語法: 完整的 Python 語法支援
2. JavaScript

- 版本: Node.js 環境
- 標準庫: 支援 Node.js 標準庫
- 語法: 完整的 JavaScript 語法支援
- 函式簽名: 與 Python 模式不同,JS 的
main函式以解構物件接收輸入變數——function main({arg1, arg2}),返回物件的欄位對應輸出變數 (如return { result: ... })
使用場景
1. 資料處理
- 資料清洗: 清理和格式化資料
- 資料轉換: 轉換資料格式和型別
- 資料計算: 執行復雜的數學計算
- 資料驗證: 驗證資料格式和內容
2. 業務邏輯
- 條件判斷: 實現複雜的業務規則
- 演算法實現: 實現特定的演算法邏輯
- 流程控制: 控制工作流的執行流程
- 狀態管理: 管理應用狀態
3. 資料解析與加工
- 資料解析: 解析 JSON 等格式的資料(外部介面呼叫請使用 Http Request / Tool 節點)
- 批次處理: 批次加工資料
- 報告生成: 生成結構化的報告內容
最佳實踐
1. 程式碼編寫
- 清晰命名: 使用清晰的變數和函式命名
- 註釋說明: 新增必要的註釋說明
- 錯誤處理: 新增適當的錯誤處理
- 效能最佳化: 考慮程式碼的執行效能
2. 變數管理
- 型別安全: 確保變數型別正確
- 命名規範: 使用一致的命名規範
- 作用域: 合理管理變數作用域
- 記憶體管理: 注意記憶體使用
3. 錯誤處理
- 異常捕獲: 使用 try-catch 處理異常
- 錯誤日誌: 記錄錯誤資訊
- 優雅降級: 提供降級處理方案
- 使用者提示: 提供友好的錯誤提示
4. 安全考慮
- 輸入驗證: 驗證輸入資料
- 程式碼注入: 防止程式碼注入攻擊
- 許可權控制: 控制程式碼執行許可權
- 資源限制: 限制資源使用
配置步驟
1. 基礎配置
- 選擇程式語言(Python3 或 JavaScript)
- 配置輸入變數
- 編寫程式碼邏輯
2. 程式碼編寫
- 定義處理邏輯
- 處理輸入變數
- 生成輸出結果
- 新增錯誤處理
3. 輸出配置
- 定義輸出變數
- 設定變數型別
- 配置變數名稱
4. 測試驗證
- 使用試執行功能測試
- 檢查程式碼執行結果
- 驗證輸出變數
注意事項
- 語言選擇: 根據任務特點選擇合適的程式語言
- 程式碼質量: 編寫高質量、可維護的程式碼
- 效能考慮: 考慮程式碼執行的效能和資源使用
- 安全風險: 注意程式碼執行的安全風險
- 錯誤處理: 新增適當的錯誤處理機制
常見問題
Q: 支援哪些程式語言?
A: 目前支援 Python3 和 JavaScript 兩種程式語言。
Q: 如何新增輸入變數?
A: 點選"+"按鈕可以新增新的輸入變數行。
Q: 輸出變數型別有哪些?
A: 支援 String、Number、Object 及其對應的 Array 型別。
Q: 程式碼執行有安全限制嗎?
A: 是的,程式碼執行有安全限制,不能執行危險操作。
Q: 如何除錯程式碼?
A: 可以使用試執行功能來除錯程式碼,檢視執行結果。
幫助資源
- 幫助文件: 支援跳轉到 Infra 幫助文件
- 測試執行: 支援節點級別的測試執行