自然语言搭建自动化工作流

👤 七仔的AI工具箱 📦 v1.0.0 ⭐ 4.4 ⬇️ 69 下载
🤖 AI-Agent 免费

📖 技能介绍


name: nl2flow description: 把自然语言描述的固定高频任务,「去 LLM 化」固化成一次生成、永久免费本地运行的自动化工作流,并带护栏地部署到 定时任务/WorkBuddy automation。三层架构:Parser(自然语言→FlowManifest) → Generator(Manifest→可执行脚本) → Renderer(确认卡);含「固化闭环」(模板结构指纹匹配,相似任务零成本命中不调 LLM)、「运行期失败告警兜底」、以及「模型批准关卡(成本铁律)」。触发词:NL2Flow、自然语言搭工作流、自动化工作流、定时任务部署、去 LLM 化沉淀、固化自动化、跑通的活固化成模板、便宜供应商切换、模型批准关卡、不烧 LLM、自治任务防烧钱。 agent_created: true


NL2Flow(自然语言 → 自动化工作流 · 去 LLM 化沉淀层)

它解决什么

固定、高频的任务(每天抓新闻总结、每周读文档出报告、监控价格告警)如果每次都现问 LLM,既慢又持续烧钱。 NL2Flow 把它们一次生成、永久免费本地跑:自然语言 → 结构化 Manifest → 可执行脚本 → 带护栏地注册定时/触发运行。 跑通的任务还能固化成模板,下次相似请求零成本命中、不调 LLM。

准确定位:它是 WorkBuddy 内的「去 LLM 化沉淀层 / skill-creator 的治理约束层」,不是通用自动化平台,也不是造 skill 的元技能。 完整设计见 nl2flow-framework-design.md,Manifest 字段见 nl2flow-manifest-schema.json,场景示例见 nl2flow-examples.md

三层架构 + 固化闭环

自然语言
  → [Parser]     nl2flow_parser.py      NL → FlowManifest(JSON,纯规则)
  → [Matcher]    template_matcher.py    先查本地模板库(结构指纹 _fp + match_keywords),命中则零成本复用
  → [Generator]  nl2flow_generator.py    Manifest → flow.py + crontab
  → [Renderer]   nl2flow_renderer.py     Manifest → 普通人能看懂/改的确认卡
  → [Runtime]    nl2flow_runtime.py      fetch/filter/llm_summarize/send_email… 离线可降级
  → [Deploy]     deploy.py + nl2flow_cli.py deploy   注册 schtasks/crontab/WorkBuddy automation

CLI 速查(入口 nl2flow_cli.py,全程用 python nl2flow_cli.py <子命令>

# 自然语言 → 先查模板(命中零成本) → 未命中则解析 Manifest
python nl2flow_cli.py build "每天早上8点抓取36kr AI新闻前10条用AI总结3条要点发到邮箱"

# 解析 → 确认卡(人先看懂再生成)
python nl2flow_parser.py "…" | python nl2flow_renderer.py

# 固化闭环:列出/固化/命中复用 模板
python nl2flow_cli.py list-templates
python nl2flow_cli.py save-template news_daily "…原始自然语言…"
python nl2flow_cli.py build "…变体请求…"        # 自动命中 news_daily,零成本

# 生成 + 离线试运行(NL2FLOW_OFFLINE=1:自动确认、不联网、不真发邮件)
python nl2flow_cli.py run-template news_daily --gen

# 部署(默认 dry-run,只打印命令绝不注册;--deploy 才真注册,且先过护栏)
python nl2flow_cli.py deploy news_daily                 # dry-run
python nl2flow_cli.py deploy news_daily --backend windows --deploy
python nl2flow_cli.py unregister news_daily --backend windows
python nl2flow_cli.py list-deployed --backend workbuddy
python nl2flow_cli.py export-skill news_daily          # 反向生成可分享 skill.yaml

小葱技能7w4.net持续更新中。

🔒 四大铁律(改动/部署时不可绕过)

  1. 模型批准关卡(成本铁律):任何含 llm_summarize 的流程,deploy --deploy必须问过用户、用户同意 用哪个模型/供应商,登记进 nl2flow-approvals.json 才放行;非交互环境(调度器/CI)未批准则直接拒绝注册。运行时(llm_summarize)即使离线/部署,未批准也 绝不构造 OpenAI 客户端、强制降级本地摘要、不花一分钱。→ 详见 model_approval.py

  2. 便宜供应商一行切换(base_url 透传)llm_summarizeOPENAI_BASE_URL 传给 OpenAI 客户端(OpenAI 兼容协议)。DeepSeek / 通义千问 / 本地 Ollama 全靠设环境变量切换,零代码改动。对照表见 README 第 5.1 节。

  3. 频率下限 ≥ 60 分钟deploy 拒绝 * * * * **/30 * * * * 等高频 cron(防 spam / token 爆炸)。如需更频繁须手动且自担风险。

  4. 诚实失败 + 离线可降级:沙箱拦截 schtasks 时明确报「未成功」绝不谎报;运行时缺网/缺密钥自动降级,不崩。运行期失败自动发 ERROR 告警落盘({flow}.alerts.jsonl) + 心跳标记({flow}.last_run.json),用 health/alerts 子命令可读。

python nl2flow_cli.py health news_daily     # 读运行期健康(失败与否你看得见)
python nl2flow_cli.py alerts news_daily     # 读失败告警

验证(诚实闭环)

任何改动后必须回归全绿才算闭环(当前 115 项断言,覆盖 parser→matcher→generator→离线执行→部署护栏→运行期告警→模型批准关卡):

python tests/run_regression.py

任一断言失败即 sys.exit(1);全绿打印「全部通过」才算交付。回归使用临时批准文件、mock 真实注册,不会污染你真实的 nl2flow-approvals.json、不会真实注册系统任务。

关键文件

文件 作用
nl2flow_cli.py CLI 入口(build/save-template/list-templates/run-template/deploy/unregister/list-deployed/export-skill/health/alerts)
nl2flow_parser.py 解析层:NL → Manifest(纯规则)
nl2flow_generator.py 生成层:Manifest → Python 脚本 + crontab
nl2flow_renderer.py 确认卡渲染器
template_matcher.py 固化闭环:结构指纹匹配本地模板
nl2flow_runtime.py 运行时工具库(fetch/summarize/send,离线可降级,base_url 透传)
deploy.py 部署层:频率护栏/dry-run/schtasks·crontab·workbuddy 注册/诚实失败
model_approval.py 模型批准登记册(成本铁律关卡)
nl2flow-templates/ 已固化模板(news_daily / weekly_report / price_monitor)
tests/run_regression.py 回归套件(硬门禁)

🤖 AI 评测

这个 Skill 质量不错,能把日常重复任务自动生成脚本并定时跑,省时省钱。它的安全护栏设计到位,不会悄悄乱花钱或乱发通知。文档详细、测试覆盖全,出问题也能追查。美中不足的是,遇到新类型任务可能需要调大模型帮忙,且需要先配置好模板库才能发挥最大威力。总体适合有固定重复任务、想省心省钱的用户。

📊 多维度评分

适应性4.4
规范性4.3
有效性4.6
可靠性4.3
可信度4.8

📁 包含文件 (25 个)

📄 README.md 13 KB
📄 SKILL.md 6.1 KB
📄 build_skillhub_zip.py 2.5 KB
📄 deploy.py 23.1 KB
📄 model_approval.py 2.7 KB
📄 nl2flow-examples.md 4.5 KB
📄 nl2flow-framework-design.md 15 KB
📄 nl2flow-manifest-schema.json 6.1 KB
📄 nl2flow-templates/news_daily.json 2.9 KB
📄 nl2flow-templates/price_monitor.json 3 KB
📄 nl2flow-templates/weekly_report.json 3.1 KB
📄 nl2flow_cli.py 16 KB
📄 nl2flow_generator.py 10.1 KB
📄 nl2flow_llm_fallback.py 4.6 KB
📄 nl2flow_parser.py 13.4 KB
📄 nl2flow_renderer.py 6.1 KB
📄 nl2flow_runtime.py 15.6 KB
📄 template_matcher.py 10.1 KB
📄 tests/fixtures/news_daily.source.txt 100 B
📄 tests/fixtures/price_monitor.source.txt 105 B
📄 tests/fixtures/weekly_report.source.txt 141 B
📄 tests/run_regression.py 21.3 KB
📄 tests/test_p0_fixes.py 6.3 KB
📄 tests/test_p1_fixes.py 4.8 KB
📄 weekly_report.md 0 B