# 工作流程與節點

Source: https://openflow.run/zh-tw/docs/concepts/flows-and-nodes/
Language: zh-TW
Product version: 0.1.0-beta.77

分清工作流程定義、畫布佈局，以及由它建立的執行紀錄。

**工作流程**（Flow）是具有固定身分的頂層資源，擁有可編輯的草稿、已發布版本和獨立的生命週期。帳號名下的標籤可以用於整理工作流程，不影響其執行定義。

## 節點

節點承擔入口、任務、常量、判斷、等待和工作流程輸出等職責。節點 ID 與名稱相互獨立。重新命名不會破壞引用，刪除後重新建立則會得到一個新的節點 ID。

每個執行節點都有自己的設定。複製程式碼節點後，即使內部實現複用了模組，兩份程式碼也必須能夠獨立編輯。

開始節點提供姓名，固定值節點提供前綴，程式碼節點組合兩者，工作流程輸出節點宣告最終結果。

**輸入**
{"name":"Ada"}

**預期結果**
{"message":"Hello, Ada!"}

**執行前準備**
匯入或執行此案例需要 Open Flow 服務；預覽本身可離線使用。

[下載工作流程](https://openflow.run/docs/examples/first-workflow.openflow.json)

## 執行圖

執行連線連線節點及所選分支。資料綁定則單獨把具名輸入關聯到固定值或可用的資料來源。詳見[輸入與輸出](https://openflow.run/zh-tw/docs/concepts/inputs-and-outputs/index.md)和[執行行為](https://openflow.run/zh-tw/docs/design/execution-model/index.md)。

## 畫布佈局

節點位置、視口和註釋與執行語義分開儲存。移動節點或添加註釋，不會改變業務行為。發布時會固定相應的畫布快照，供日後檢視。

文件中的 Preview 支援暫時移動節點和恢復佈局。這些改動僅在目前預覽中生效，不會寫回傳入的工作流程檔案。

## 工作流程檔案

`.openflow.json` 檔案包含執行定義，也可以包含畫布佈局。匯入時會建立未發布的草稿，並分配新的工作流程 ID 和修訂版本 ID。匯入會清除外部帳號連線引用，以及支援清除的變數和事件源綁定，隨後需要重新選擇目前部署環境中的資源。

程式碼、提示詞和 JSON 中的業務常量會保留。分享前應檢查匯出檔案。詳見[工作流程檔案契約](https://openflow.run/zh-tw/docs/reference/contracts/index.md)。

## 資料來源

*   [docs/architecture.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/architecture.md#flow-revision-and-presentation)
*   [docs/authoring/node-authoring.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/authoring/node-authoring.md)
