Saltar para o conteúdo principal
DocsMódulosMódulo incorporado

Biblioteca de módulos incorporada

120+ módulos agrupados com a plataforma—chame-os diretamente como um sub workflow, ou componha-os em seus próprios workflows.

Naves Braidrun com 120+ módulos embutidos. Cada módulo é um workflow empacotado com um contrato de entrada / saída digitado que outros workflows referenciam através de uma etapa sub workflow, sem se preocupar com a implementação interna.

Os módulos incorporados são apenas de leitura

Os módulos incorporados são distribuídos com a plataforma e carregados na biblioteca de módulos automaticamente na inicialização do serviço, sem contar com sua quota de workflow. Eles não podem ser editados ou excluídos, e eles captam novas versões automaticamente em atualizações de plataforma; para alterar a lógica interna, use "Clone as my workflow" para obter uma cópia editável.

Ferramentas de uso geral (cerca de 80)

utility-module-* prefixo, cobrindo blocos de construção de diagnóstico de negócios, como processamento de dados, solicitações HTTP, busca e raspagem, AI de texto e verificações de monitoramento. Módulos representativos:

utility-module-http-request

Um cliente REST de finalidade geral: GET / POST / PUT / DELETE / PATCH, com suporte para consulta / corpo / cabeçalhos e básico / portador / api-key auth, incorporado-in timeout e exponencial-backoff retry, retornando o código de status e corpo de resposta.

Entrada típica:url, method
utility-module-json-transform

Extrato de corrente / filtro / mapa / achatado / mesclar / escolher / omitir / ordenar transforma sobre dados JSON.

Entrada típica:input_json / input_path, operations_json
utility-module-csv-processor

Leia CSV e execute as operações filter / sort / select / groupby / dedupe, detectando automaticamente o delimitador e produzindo CSV ou JSON.

Entrada típica:input_path, operations_json, output_format
utility-module-web-search

Pesquisa na Web: Google (sem chave necessária) ou Serper.dev, retornando o título, link e trecho dos melhores resultados N.

Entrada típica:query, provider, max_results
utility-module-text-summarizer

LLM resumo de texto longo, com balas / parágrafo / tldr / estilos de título e uma tampa de comprimento.

Entrada típica:input_text / input_path
utility-module-sentiment-analyzer

Análise de sentimento LLM: resultados polaridade (positivo / neutro / negativo / misto), uma pontuação de confiança, e as frases-chave que impulsionam o sentimento.

Entrada típica:text, language_hint

Entrega e notificações

Saídas de notificação confiáveis na cauda de um workflow, implementado principalmente como passos de código puro que não dependem de um LLM, então uma credencial de modelo ausente não pode quebrar o caminho de notificação. Módulos representativos:

utility-module-slack-webhook

Enviar mensagens através de um Slack Incoming Webhook: texto simples ou Blocos texto rico, com um nome de exibição personalizável e ícone.

Entrada típica:webhook_url, text / blocks_json
utility-module-dingtalk-webhook

Bot de grupo DingTalk: mensagens de texto / markdown / link, calculando uma assinatura HMAC-SHA256 automaticamente quando um segredo é fornecido.

utility-module-email-sender

Envio de e-mail SMTP: corpo HTML, anexos, CC / BCC, com suporte para os modos de segurança STARTTLS e SMTPS.

Entrada típica:smtp_host, smtp_port
utility-module-twilio-sms

Envie SMS através da API Twilio REST, adequada para notificações de verificação e alerta.

Os restantes módulos de notificação cobrem Discord, Feishu, WeCom, Microsoft Teams, Mattermost e Rocket. Bots de grupo de bate-papo, Mailgun / SendGrid e-mail, e Bark, Pushover e ServerChan push. Há também um módulo de entrega de arquivos do Telegram que envia relatórios .md / .xlsx / .pdf / .csv juntamente com uma legenda diretamente para um chat especificado, com suporte de dedupe key para evitar envios duplicados em repetição.

Análise financeira (cerca de 10)

module-* prefixo — uma cadeia de ferramentas quant: citações → indicadores técnicos → análise de portfólio → retroteste. Os módulos de citação não precisam de chave API (Tencent Finance / Yahoo Finance / CoinGecko fontes de dados), e os módulos de indicador e retroteste são implementados apenas com a biblioteca padrão.

module-stock-quote

Aspas em tempo real em todos os mercados: A-shares / Hong Kong / EUA stocks / cripto, auto-roteando a fonte de dados por prefixo de símbolo e retornando uma cotação unificada json.

module-stock-history

Castiçal histórico (OHLCV) buscando, retornando um bars json unificado em ordem de tempo ascendente que pode ser alimentado diretamente para o indicador e módulos de retroteste.

module-technical-indicators

Computação técnico-indicador: SMA / EMA / RSI / MACD / BOLL / KDJ / ATR, além do sinal de cruzamento de ouro mais recente.

Entrada típica:bars_json
module-portfolio-analyzer

Análise de desempenho de portfólio: retornos cumulativos/anuais, Sharpe / Sortino / Calmar, max drawdown, e taxa de vitória, com comparação de benchmark opcional.

module-backtest-engine

Um motor de retroteste diário: quatro estratégias incorporadas (crossover / RSI / MACD / Bollinger) ou sinais personalizados, com suporte para taxas, deslizamento e stop-loss / take-profit.

Entrada típica:bars_json

A mesma série também inclui módulos para notícias de ações, triagem baseada em regras, preços de opções, métricas de risco e panoramas de mercado, que podem ser encadeados em um pipeline completo de citações para relatórios.

Publicidade e crescimento (cerca de 40)

Este lote de módulos vem das verdadeiras operações publicitárias de uma equipe de aplicativos, abrangendo os anúncios da Apple Search Ads, Google Ads e dados de receita de aplicativos. As principais categorias, por objectivo:

  • Relatório ASA puxa:Quatro dimensões — campanhas / palavras-chave / adgroups / searchterms — suavizando automaticamente as diferenças de nome de campo da API.
  • Listas de entidades ASA:Pilhas em massa de campanhas, grupos de anúncios, palavras-chave e palavras-chave negativas.
  • Ferramentas do Google Ads:Execute consultas GAQL e retorne resultados estruturados, além de relatórios de desempenho de campanha e descoberta de conta acessível.
  • Rendimentos de aplicação:Obter dados de receita e assinatura por janela de tempo.
  • Resolução da janela temporal:Converta uma contagem de dias de retorno mais um fuso horário em datas de início e fim padronizadas, então "ontem / semana passada" significa exatamente a mesma coisa em um lote de relatórios.
  • Montagem do relatório:Multi-sheet Excel construção e Markdown report-template renderização.
  • Processamento em lote multi-app:Execute o mesmo sub-fluxo uma vez por aplicativo em um lote e misture os resultados.
  • Ciclo de avaliação da qualidade:Um portão de qualidade padronizado: gerar → pontuação → tentar novamente se abaixo da barra → sair uma vez que ele passa.

Contrato do módulo

Cada módulo declara um contrato: as entradas são digitadas (string / number / boolean / enum / path / json) e podem ser anotadas com o necessário, um valor padrão, valores de enum e um intervalo numérico; as saídas declaram um nome, tipo e variável fonte; e o contrato tem uma contract version independente da versão de implementação do workflow.

yaml
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}}"}

Quando você muda um contrato, a plataforma compara o novo com o antigo: alterações não-quebrantes (como adicionar uma entrada opcional) passam direto através; alterações de quebra (que afetam chamadas existentes) são rejeitadas por padrão e requerem confirmação explícita, com um número de nova versão de contrato sugerido. Contratos também suportam um marcador desactualizado mais notas de migração para chamadas rápidas para mudar para um módulo de substituição.

Referência em um workflow

Referência pelo módulo id através de uma etapa sub workflow. Os valores nas entradas são todas as strings (números são escritos como "10" também) e suportam modelos variáveis; saídas mapeiam as saídas do módulo de volta para as variáveis do workflow pai para etapas posteriores a serem usadas diretamente.

metrics-notify.yamlyaml
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: exponential
  • version_strategy Defaults to latest; você também pode fixar uma versão específica para que as atualizações do módulo não afetem um workflow pai já vivo.
  • Uma referência apontando para um módulo opera em modo de contrato, validando entradas / saídas contra o contrato; se o módulo é rebaixado de volta para um workflow normal, a referência degrada-se para o modo leniente e não é mais validada automaticamente.
  • Modificadores passo como retry, condição, e depends on trabalho em sub workflow passos como de costume.

Módulo personalizado

Qualquer workflow pode ser promovido para um módulo: no painel de configurações de workflow do editor, encontre a seção "Contrato de módulo", preencha o nome do visor, descrição, entradas / saídas e versão do contrato e clique em "Salvar contrato de módulo". Ele então aparece na biblioteca de módulos, e outros workflows podem referencia-lo via sub workflow.

Quando você revoga o status do módulo (demote), a plataforma primeiro executa uma verificação de dependência reversa: se algum workflow pai ainda referencia o módulo, ele lista os locais de referência específicos e bloqueia a operação, para evitar quebrar silenciosamente o fluxo de outra pessoa.

Como templates, módulos podem ser publicados no mercado com um número de versão, e dependências são resolvidas automaticamente na instalação.