安裝 belt CLI 技能:
npx skills add belt-sh/cli
AI 自動化工作流程 是做什麼的?
透過 inference.sh CLI 建立自動化 AI 工作流程。

快速開始
需要 inference.sh CLI (
belt)。安裝說明
belt login
# 簡單自動化:生成每日圖片
belt app run falai/flux-dev --input '{
"prompt": "鼓舞人心的名言背景,極簡設計,日期:'"$(date +%Y-%m-%d)"'"
}'
自動化模式
模式 1:批次處理
使用相同工作流程處理多個項目。
#!/bin/bash
# batch_images.sh - 為多個提示生成圖片
PROMPTS=(
"日出時分的山景"
"日落時分的海浪"
"秋天的森林小徑"
"夜晚的沙漠沙丘"
)
for prompt in "${PROMPTS[@]}"; do
echo "生成中:$prompt"
belt app run falai/flux-dev --input "{
\"prompt\": \"$prompt, 專業攝影, 4K\"
}" > "output_${prompt// /_}.json"
sleep 2 # 速率限制
done
模式 2:順序管道
串聯多個 AI 操作。
#!/bin/bash
# content_pipeline.sh - 完整的內容創作管道
TOPIC="AI 在醫療保健的應用"
# 步驟 1:研究
echo "研究中..."
RESEARCH=$(belt app run tavily/search-assistant --input "{
\"query\": \"$TOPIC 最新發展\"
}")
# 步驟 2:撰寫文章
echo "撰寫文章中..."
ARTICLE=$(belt app run openrouter/claude-sonnet-45 --input "{
\"prompt\": \"根據以下內容,撰寫一篇關於 $TOPIC 的 500 字部落格文章:$RESEARCH\"
}")
# 步驟 3:生成圖片
echo "生成圖片中..."
IMAGE=$(belt app run falai/flux-dev --input "{
\"prompt\": \"關於 $TOPIC 文章的部落格標題圖片,現代、專業\"
}")
# 步驟 4:生成社交貼文
echo "建立社交貼文中..."
SOCIAL=$(belt app run openrouter/claude-haiku-45 --input "{
\"prompt\": \"撰寫一篇總結下列文章的 Twitter 串文(5 則推文):$ARTICLE\"
}")
echo "管道完成!"
模式 3:平行處理
同時執行多個操作。
#!/bin/bash
# parallel_generation.sh - 平行生成多個資產
# 在背景啟動所有任務
belt app run falai/flux-dev --input '{"prompt": "主圖片..."}' > hero.json &
PID1=$!
belt app run falai/flux-dev --input '{"prompt": "功能圖片 1..."}' > feature1.json &
PID2=$!
belt app run falai/flux-dev --input '{"prompt": "功能圖片 2..."}' > feature2.json &
PID3=$!
# 等待所有任務完成
wait $PID1 $PID2 $PID3
echo "所有圖片已生成!"
模式 4:條件工作流程
根據結果進行分支。
#!/bin/bash
# conditional_workflow.sh - 根據內容分析進行處理
INPUT_TEXT="$1"
# 分析內容
ANALYSIS=$(belt app run openrouter/claude-haiku-45 --input "{
\"prompt\": \"將以下文字分類為:正面、負面或中立。僅回傳分類結果。\n\n$INPUT_TEXT\"
}")
# 根據結果分支
case "$ANALYSIS" in
*正面*)
echo "生成慶祝圖片..."
belt app run falai/flux-dev --input '{"prompt": "慶祝、成功、開心"}'
;;
*負面*)
echo "生成支持訊息..."
belt app run openrouter/claude-sonnet-45 --input "{
\"prompt\": \"針對以下內容撰寫一則支持、鼓勵的回應:$INPUT_TEXT\"
}"
;;
*)
echo "生成中性回覆..."
;;
esac
模式 5:具回退機制的重試
優雅地處理失敗。
#!/bin/bash
# retry_workflow.sh - 重試失敗的操作
generate_with_retry() {
local prompt="$1"
local max_attempts=3
local attempt=1
while [ $attempt -le $max_attempts ]; do
echo "嘗試 $attempt..."
result=$(belt app run falai/flux-dev --input "{\"prompt\": \"$prompt\"}" 2>&1)
if [ $? -eq 0 ]; then
echo "$result"
return 0
fi
echo "失敗,重試中..."
((attempt++))
sleep $((attempt * 2)) # 指數退避
done
# 回退到不同的模型
echo "回退到替代模型..."
belt app run google/imagen-3 --input "{\"prompt\": \"$prompt\"}"
}
generate_with_retry "山脈上美麗的夕陽"
排程自動化
Cron 工作設定
# 編輯 crontab
crontab -e
# 每天早上 9 點生成每日內容
0 9 * * * /path/to/daily_content.sh >> /var/log/ai-automation.log 2>&1
# 每週一早上 8 點生成週報
0 8 * * 1 /path/to/weekly_report.sh >> /var/log/ai-automation.log 2>&1
# 每 6 小時:社交媒體內容
0 */6 * * * /path/to/social_content.sh >> /var/log/ai-automation.log 2>&1
每日內容腳本
#!/bin/bash
# daily_content.sh - 每天早上 9 點執行
DATE=$(date +%Y-%m-%d)
OUTPUT_DIR="/output/$DATE"
mkdir -p "$OUTPUT_DIR"
# 生成每日名言圖片
belt app run falai/flux-dev --input '{
"prompt": "激勵名言背景,極簡風,早晨氛圍"
}' > "$OUTPUT_DIR/quote_image.json"
# 生成每日小技巧
belt app run openrouter/claude-haiku-45 --input '{
"prompt": "給我一個今日可執行的生產力小技巧。請簡潔扼要。"
}' > "$OUTPUT_DIR/daily_tip.json"
# 發布到社交媒體(可選)
# belt app run twitter/post-tweet --input "{...}"
echo "每日內容已生成:$DATE"
監控與記錄
記錄包裝器
#!/bin/bash
# logged_workflow.sh - 包含全面記錄
LOG_FILE="/var/log/ai-workflow-$(date +%Y%m%d).log"
log() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
}
log "開始工作流程"
# 追蹤執行時間
START_TIME=$(date +%s)
# 執行工作流程
log "生成圖片中..."
RESULT=$(belt app run falai/flux-dev --input '{"prompt": "測試"}' 2>&1)
STATUS=$?
if [ $STATUS -eq 0 ]; then
log "成功:圖片已生成"
else
log "錯誤:$RESULT"
fi
END_TIME=$(date +%s)
DURATION=$((END_TIME - START_TIME))
log "花費 ${DURATION} 秒完成"
錯誤警報
#!/bin/bash
# monitored_workflow.sh - 包含錯誤警報
run_with_alert() {
local result
result=$("$@" 2>&1)
local status=$?
if [ $status -ne 0 ]; then
# 發送警報(webhook、電子郵件等)
curl -X POST "https://your-webhook.com/alert" \
-H "Content-Type: application/json" \
-d "{\"error\": \"$result\", \"command\": \"$*\"}"
fi
echo "$result"
return $status
}
run_with_alert belt app run falai/flux-dev --input '{"prompt": "測試"}'
Python SDK 自動化
#!/usr/bin/env python3
# automation.py - 基於 Python 的工作流程
import subprocess
import json
from datetime import datetime
from pathlib import Path
def run_infsh(app_id: str, input_data: dict) -> dict:
"""執行 inference.sh 應用程式並回傳結果。"""
result = subprocess.run(
["belt", "app", "run", app_id, "--input", json.dumps(input_data)],
capture_output=True,
text=True
)
return json.loads(result.stdout) if result.returncode == 0 else None
def daily_content_pipeline():
"""生成每日內容。"""
date_str = datetime.now().strftime("%Y-%m-%d")
output_dir = Path(f"output/{date_str}")
output_dir.mkdir(parents=True, exist_ok=True)
# 生成圖片
image = run_infsh("falai/flux-dev", {
"prompt": f"{date_str} 的每日靈感,美麗、振奮人心"
})
(output_dir / "image.json").write_text(json.dumps(image))
# 生成標題
caption = run_infsh("openrouter/claude-haiku-45", {
"prompt": "為一篇每日激勵貼文撰寫一段啟發人心的標題。2-3 句話。"
})
(output_dir / "caption.json").write_text(json.dumps(caption))
print(f"已生成 {date_str} 的內容")
if __name__ == "__main__":
daily_content_pipeline()
工作流程範本
內容行事曆自動化
#!/bin/bash
# content_calendar.sh - 生成一週的內容
TOPICS=("生產力" "健康" "科技" "創意" "領導力")
DAYS=("星期一" "星期二" "星期三" "星期四" "星期五")
for i in "${!DAYS[@]}"; do
DAY=${DAYS[$i]}
TOPIC=${TOPICS[$i]}
echo "生成 $DAY 關於 $TOPIC 的內容..."
# 圖片
belt app run falai/flux-dev --input "{
\"prompt\": \"$TOPIC 主題,$DAY 激勵,社交媒體風格\"
}" > "content/${DAY}_image.json"
# 標題
belt app run openrouter/claude-haiku-45 --input "{
\"prompt\": \"撰寫一篇 $DAY 關於 $TOPIC 的激勵貼文。包含主題標籤。\"
}" > "content/${DAY}_caption.json"
done
資料處理管道
#!/bin/bash
# data_processing.sh - 處理和分析資料檔案
INPUT_DIR="./data/raw"
OUTPUT_DIR="./data/processed"
for file in "$INPUT_DIR"/*.txt; do
filename=$(basename "$file" .txt)
# 分析內容
belt app run openrouter/claude-haiku-45 --input "{
\"prompt\": \"分析此資料並以 JSON 格式提供關鍵洞察:$(cat $file)\"
}" > "$OUTPUT_DIR/${filename}_analysis.json"
done
最佳實踐
- 速率限制 - 在 API 呼叫之間增加延遲
- 錯誤處理 - 始終檢查回傳碼
- 記錄 - 追蹤所有操作
- 冪等性 - 設計為可安全重新執行
- 監控 - 在失敗時發出警報
- 備份 - 儲存中間結果
- 超時 - 設定合理的限制
相關技能
# 內容管道
npx skills add inference-sh/skills@ai-content-pipeline
# RAG 管道
npx skills add inference-sh/skills@ai-rag-pipeline
# 社交媒體自動化
npx skills add inference-sh/skills@ai-social-media-content
# 完整平台技能
npx skills add inference-sh/skills@infsh-cli
瀏覽所有應用:belt app list