使用 osop run 執行 API 工作流程
OSOP Guide端對端執行 API SOP 工作流程,發送含標頭、請求體與驗證的真實 HTTP 請求,支援成本控制、安全關卡,並自動產生執行記錄。
6 個節點 · 7 條連接osop self
osopthe-loopapiexecutemeta
視覺化
選取 .osop 工作流程human
選擇要執行的 API SOP,例如:stripe-payment-flow.osop.yaml。
↓sequential→ 執行前風險評估
執行前風險評估agent
AI 掃描工作流程中的安全風險:破壞性指令、缺少核准關卡、過寬的權限、寫死的密鑰,並回傳 0-100 的風險評分。
↓conditional→ 核准執行
↓conditional→ osop run
核准執行human
審閱風險評估結果,決定核准或拒絕執行。CLI 節點需要 --allow-exec 旗標。
↓sequential→ osop run
osop runcli
執行工作流程。API 節點發送含標頭、請求體與查詢參數的 HTTP 請求;agent 節點呼叫 LLM;結果透過 WorkflowContext 在節點間傳遞。
↓sequential→ 產生 .osoplog
↓fallback→ 選取 .osop 工作流程
產生 .osoplogsystem
執行記錄包含:每個節點的執行時間、成本、狀態、HTTP 狀態碼、回應預覽、AI token 用量及人工決策。
↓sequential→ osop report
osop reportcli
從執行記錄產生獨立的 HTML 報告,可在任何瀏覽器中開啟。
ex-osop-run-api-workflow.osop.yaml
osop_version: "1.0"
id: "osop-run-api-workflow"
name:"使用 osop run 執行 API 工作流程"
description:"端對端執行 API SOP 工作流程,發送含標頭、請求體與驗證的真實 HTTP 請求,支援成本控制、安全關卡,並自動產生執行記錄。"
tags: [osop, the-loop, api, execute, meta]
nodes:
- id: "select_workflow"
type: "human"
name: "選取 .osop 工作流程"
description: "選擇要執行的 API SOP,例如:stripe-payment-flow.osop.yaml。"
- id: "preflight_check"
type: "agent"
subtype: "llm"
name: "執行前風險評估"
description: "AI 掃描工作流程中的安全風險:破壞性指令、缺少核准關卡、過寬的權限、寫死的密鑰,並回傳 0-100 的風險評分。"
- id: "human_approve"
type: "human"
subtype: "review"
name: "核准執行"
description: "審閱風險評估結果,決定核准或拒絕執行。CLI 節點需要 --allow-exec 旗標。"
security:
approval_gate: true
risk_level: "medium"
- id: "execute"
type: "cli"
name: "osop run"
description: "執行工作流程。API 節點發送含標頭、請求體與查詢參數的 HTTP 請求;agent 節點呼叫 LLM;結果透過 WorkflowContext 在節點間傳遞。"
runtime:
command: "osop run workflow.osop.yaml --allow-exec --max-cost 1.00 --log"
- id: "log_generated"
type: "system"
name: "產生 .osoplog"
description: "執行記錄包含:每個節點的執行時間、成本、狀態、HTTP 狀態碼、回應預覽、AI token 用量及人工決策。"
- id: "view_report"
type: "cli"
name: "osop report"
description: "從執行記錄產生獨立的 HTML 報告,可在任何瀏覽器中開啟。"
runtime:
command: "osop report workflow.osop.yaml execution.osoplog.yaml -o report.html"
edges:
- from: "select_workflow"
to: "preflight_check"
mode: "sequential"
- from: "preflight_check"
to: "human_approve"
mode: "conditional"
condition: "preflight_check.risk_score > 30"
- from: "preflight_check"
to: "execute"
mode: "conditional"
condition: "preflight_check.risk_score <= 30"
- from: "human_approve"
to: "execute"
mode: "sequential"
- from: "execute"
to: "log_generated"
mode: "sequential"
- from: "log_generated"
to: "view_report"
mode: "sequential"
- from: "execute"
to: "select_workflow"
mode: "fallback"
label: "Execution failed, retry"