内置模块库
120+ 个随平台附带的模块 —— 直接作为 sub_workflow 调用,或组合进你自己的工作流。
Braidrun 附带 120+ 内置模块。每个模块都是一个封装好的工作流,带类型化的输入 / 输出契约,其他工作流用 sub_workflow 步骤引用它,不需要关心内部实现。
内置模块随平台一起分发,服务启动时自动加载进模块库,不占用你的工作流配额。它们不能编辑或删除,平台升级时自动拿到新版本;想改内部逻辑,用「克隆为我的工作流」得到一份可编辑副本。
通用工具(约 80 个)
utility-module-* 前缀,覆盖数据处理、HTTP 请求、搜索抓取、文本 AI、监控检查这类与业务无关的通用环节。代表模块:
utility-module-http-request通用 REST 客户端:GET / POST / PUT / DELETE / PATCH,支持 query / body / headers 与 basic / bearer / api-key 鉴权,内建超时和指数退避重试,返回状态码与响应体。
utility-module-json-transform对 JSON 数据链式执行 extract / filter / map / flatten / merge / pick / omit / sort 变换。
utility-module-csv-processor读取 CSV 并执行 filter / sort / select / groupby / dedupe 等操作,自动检测分隔符,输出 CSV 或 JSON。
utility-module-web-searchWeb 搜索:DuckDuckGo(免 key)或 Serper.dev,返回前 N 条结果的标题、链接与摘要。
utility-module-text-summarizerLLM 长文本摘要,支持 bullets / paragraph / tldr / headline 四种风格与长度上限。
utility-module-sentiment-analyzerLLM 情感分析:输出极性(positive / neutral / negative / mixed)、置信度和驱动情感的关键短语。
送达与通知
工作流末端的稳定通知出口,多为纯代码步骤实现,不依赖 LLM,避免因为模型凭据缺失导致通知链路失败。代表模块:
utility-module-slack-webhook通过 Slack Incoming Webhook 发消息:纯文本或 Blocks 富文本,可自定义显示名与图标。
utility-module-dingtalk-webhook钉钉群机器人:text / markdown / link 三种消息,传 secret 时自动计算 HMAC-SHA256 签名。
utility-module-email-senderSMTP 邮件发送:HTML 正文、附件、CC / BCC,支持 STARTTLS 与 SMTPS 两种安全模式。
utility-module-twilio-sms通过 Twilio REST API 发送短信,适合验证码与告警类通知。
其余通知模块覆盖 Discord、飞书、企业微信、Microsoft Teams、Mattermost、Rocket.Chat 群机器人,Mailgun / SendGrid 邮件,以及 Bark、Pushover、Server 酱推送。另有一个 Telegram 文件投递模块,把 .md / .xlsx / .pdf / .csv 报表连同说明文字直接发到指定会话,支持 dedupe_key 防止重放时重复发送。
金融分析(约 10 个)
module-* 前缀的量化工具链:行情 → 技术指标 → 组合分析 → 回测。行情模块免 API key(腾讯财经 / Yahoo Finance / CoinGecko 数据源),指标与回测模块用纯标准库实现。
module-stock-quote多市场实时报价:A 股 / 港股 / 美股 / 加密货币,按符号前缀自动路由数据源,返回统一的 quotes_json。
module-stock-history历史 K 线(OHLCV)获取,返回按时间升序的统一 bars_json,可直接喂给指标与回测模块。
module-technical-indicators技术指标计算:SMA / EMA / RSI / MACD / BOLL / KDJ / ATR,并输出最近一次金叉 / 死叉信号。
module-portfolio-analyzer组合绩效分析:累计 / 年化收益、Sharpe / Sortino / Calmar、最大回撤、胜率,可选基准对比。
module-backtest-engine逐日回测引擎:均线交叉 / RSI / MACD / 布林四种内置策略或自定义信号,支持手续费、滑点、止损止盈。
同一系列还有股票新闻、条件选股、期权定价、风险指标、市场总览等模块,可以串成从行情到报告的完整流水线。
广告与增长(约 40 个)
这批模块来自某订阅制应用团队的真实投放运营,覆盖 Apple Search Ads、Google Ads 与 App 收入数据。按用途列出主要几类:
- ASA 报表拉取:campaigns / keywords / adgroups / searchterms 四种维度,自动抹平接口字段命名差异。
- ASA 实体列表:广告系列、广告组、关键词、否定关键词的批量拉取。
- Google Ads 工具:执行 GAQL 查询并结构化返回,另有广告系列表现报表与可访问账号发现。
- App 收入拉取:按时间窗口获取收入与订阅数据。
- 时间窗口解析:把回看天数加时区转成标准化的起止日期,保证一批报表里「昨天 / 上周」的语义完全一致。
- 报表组装:多 Sheet Excel 构建与 Markdown 报表模板渲染。
- 多 App 批处理:同一个子流程对一批 App 各跑一次并合并结果。
- 质量审阅循环:生成 → 评分 → 不达标重试 → 达标退出的标准化质量门。
模块契约
每个模块声明一份契约:输入是类型化的(string / number / boolean / enum / path / json),可以标注 required、默认值、枚举取值和数值范围;输出声明名称、类型和来源变量;契约有独立于工作流实现版本的 contract_version。
module:
enabled: true
display_name: Web Search
contract_version: 1.0.0
inputs:
- {name: query, type: string, required: true}
- {name: provider, type: enum, default: duckduckgo,
allowed_values: [duckduckgo, serper]}
- {name: max_results, type: number, default: "10", min: 1, max: 100}
outputs:
- {name: results_json, type: string, source: "{{var:results_json}}"}
- {name: result_count, type: number, source: "{{var:result_count}}"}修改契约时,平台会把新契约和旧契约做对比:非破坏性变更(比如新增可选输入)直接通过;破坏性变更(会影响已有引用方)默认拒绝保存,需要显式确认,并会给出建议的新契约版本号。契约还支持 deprecated 标记加迁移说明,提示引用方换用替代模块。
在工作流里引用
用 sub_workflow 步骤按模块 id 引用。inputs 的值都是字符串(数字也写成 "10"),支持变量模板;outputs 把模块的输出映射回父工作流的变量,后续步骤直接使用。
workflow:
- step: fetch_metrics
sub_workflow:
name: utility-module-http-request
version_strategy: latest
inputs:
url: "https://api.example.com/v1/metrics"
method: GET
outputs:
status_code: fetch_status
response_body: metrics_json
- step: notify
sub_workflow:
name: utility-module-slack-webhook
inputs:
webhook_url: "{{var:slack_webhook_url}}"
text: "Metrics updated: {{var:metrics_json}}"
outputs:
send_status: notify_status
depends_on:
- fetch_metrics
retry:
max_attempts: 2
backoff: exponentialversion_strategy默认 latest;也可以钉住具体版本,模块更新不会影响已上线的父工作流。- 指向模块的引用工作在契约模式下,inputs / outputs 按契约校验;如果模块被降级回普通工作流,引用会退化成宽松模式,不再自动校验。
- retry、condition、depends_on 等步骤修饰符对 sub_workflow 步骤照常可用。
自定义模块
任何工作流都可以提升为模块:在编辑器的工作流设置面板找到「模块契约」区,填写显示名、描述、输入 / 输出和契约版本,点「保存模块契约」。之后它会出现在模块库里,其他工作流就能通过 sub_workflow 引用。
取消模块身份(降级)时,平台会先做反向依赖检查:如果还有父工作流在引用这个模块,会列出具体的引用位置并阻止操作,避免悄悄破坏别人的流程。
模块和模板一样可以发布到市场,带版本号,安装时自动解析依赖。