名称: ai-automation-workflows 描述: “构建自动化AI工作流程,结合多个模型和服务。模式:批处理、调度任务、事件驱动管道、智能体循环。工具:inference.sh CLI、bash脚本、Python SDK、webhook集成。用途:内容自动化、数据处理、监控、调度生成。触发词:ai自动化、工作流程自动化、批处理、ai管道、自动化内容、调度ai、ai cron、ai批处理作业、自动化生成、ai工作流程、规模化内容、自动化脚本、ai编排” 允许工具: Bash(infsh *)
AI自动化工作流程
通过inference.sh CLI构建自动化AI工作流程。

快速开始
curl -fsSL https://cli.inference.sh | sh && infsh login
# 简单自动化:生成每日图像
infsh app run falai/flux-dev --input '{
"prompt": "励志语录背景,简约设计,日期:'"$(date +%Y-%m-%d)"'"
}'
安装说明:安装脚本仅检测您的操作系统/架构,从
dist.inference.sh下载匹配的二进制文件,并验证其SHA-256校验和。无需提升权限或后台进程。手动安装和验证可用。
自动化模式
模式1:批处理
使用相同工作流程处理多个项目。
#!/bin/bash
# batch_images.sh - 为多个提示生成图像
PROMPTS=(
"日出时的山景"
"日落时的海浪"
"秋季的森林小径"
"夜晚的沙漠沙丘"
)
for prompt in "${PROMPTS[@]}"; do
echo "生成:$prompt"
infsh 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=$(infsh app run tavily/search-assistant --input "{
\"query\": \"$TOPIC最新发展\"
}")
# 步骤2:撰写文章
echo "撰写文章中..."
ARTICLE=$(infsh app run openrouter/claude-sonnet-45 --input "{
\"prompt\": \"基于以下内容撰写一篇500字的博客文章关于$TOPIC:$RESEARCH\"
}")
# 步骤3:生成图像
echo "生成图像中..."
IMAGE=$(infsh app run falai/flux-dev --input "{
\"prompt\": \"关于$TOPIC的博客标题图像,现代,专业\"
}")
# 步骤4:生成社交帖子
echo "创建社交帖子中..."
SOCIAL=$(infsh app run openrouter/claude-haiku-45 --input "{
\"prompt\": \"撰写一个Twitter线程(5条推文)总结:$ARTICLE\"
}")
echo "管道完成!"
模式3:并行处理
同时运行多个操作。
#!/bin/bash
# parallel_generation.sh - 并行生成多个资产
# 在后台启动所有作业
infsh app run falai/flux-dev --input '{"prompt": "英雄图像..."}' > hero.json &
PID1=$!
infsh app run falai/flux-dev --input '{"prompt": "特征图像1..."}' > feature1.json &
PID2=$!
infsh 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=$(infsh app run openrouter/claude-haiku-45 --input "{
\"prompt\": \"将此文本分类为:正面、负面或中性。仅返回分类。
$INPUT_TEXT\"
}")
# 基于结果分支
case "$ANALYSIS" in
*正面*)
echo "生成庆祝图像..."
infsh app run falai/flux-dev --input '{"prompt": "庆祝,成功,快乐"}'
;;
*负面*)
echo "生成支持性消息..."
infsh 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=$(infsh 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 "回退到替代模型..."
infsh 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"
# 生成每日语录图像
infsh app run falai/flux-dev --input '{
"prompt": "励志语录背景,简约,早晨氛围"
}' > "$OUTPUT_DIR/quote_image.json"
# 生成每日提示
infsh app run openrouter/claude-haiku-45 --input '{
"prompt": "给我今天的一个可操作生产力提示。简洁。"
}' > "$OUTPUT_DIR/daily_tip.json"
# 发布到社交媒体(可选)
# infsh 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=$(infsh app run falai/flux-dev --input '{"prompt": "test"}' 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 infsh app run falai/flux-dev --input '{"prompt": "test"}'
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(
["infsh", "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的内容..."
# 图像
infsh app run falai/flux-dev --input "{
\"prompt\": \"$TOPIC主题,$DAY动力,社交媒体风格\"
}" > "content/${DAY}_image.json"
# 标题
infsh app run openrouter/claude-haiku-45 --input "{
\"prompt\": \"撰写关于$TOPIC的$DAY动力帖子。包含标签。\"
}" > "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)
# 分析内容
infsh 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@inference-sh
浏览所有应用:infsh app list