使用 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核准執行
conditionalosop run
核准執行human

審閱風險評估結果,決定核准或拒絕執行。CLI 節點需要 --allow-exec 旗標。

sequentialosop run
osop runcli

執行工作流程。API 節點發送含標頭、請求體與查詢參數的 HTTP 請求;agent 節點呼叫 LLM;結果透過 WorkflowContext 在節點間傳遞。

sequential產生 .osoplog
fallback選取 .osop 工作流程
產生 .osoplogsystem

執行記錄包含:每個節點的執行時間、成本、狀態、HTTP 狀態碼、回應預覽、AI token 用量及人工決策。

sequentialosop 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"