Voltar às atualizações
New releaseAug 6, 2026

LangAlpha v2026.08.05

Estrutura automatizada de OSINT para reconhecimento, coleta de dados e inteligência de ameaças com módulos de rastreamento, scanners e pipelines de extração.

Compartilhar

LangAlpha
Um harness de agente de investimento vibe
LangAlpha foi construído para ajudar a interpretar mercados financeiros e apoiar decisões de investimento.

Python 3.12+ LangChain License

Inglês简体中文日本語

Primeiros PassosDocumentação da APINúcleo do AgenteBackendWebTUIHabilidadesMCP

Fixar um resumo de notícias curado do painel, iniciar a geração de ideias e despachar subagentes paralelos para analisar o mercado — em seguida, obter cinco ideias de paridade long/short em um painel interativo embutido, calibrado para sua carteira.

Por que LangAlpha

Cada ferramenta de IA financeira hoje trata o investimento como algo único: faça uma pergunta, obtenha uma resposta, prossiga. Mas investir de verdade é Bayesiano — você começa com uma tese, novos dados chegam diariamente, e você atualiza sua convicção de acordo. É um processo iterativo que se desenrola ao longo de semanas e meses: refinando teses, revisitando posições, adicionando novas análises em cima das antigas. Nenhum prompt único captura isso.

Do vibe coding ao vibe investing

Inspirado pela engenharia de software: uma base de código persiste, e cada commit constrói sobre o que veio antes. Harnesses de agentes de código como Claude Code e OpenCode tiveram sucesso ao construir agentes que adotam esse padrão, explorando o contexto existente e construindo sobre o trabalho anterior. LangAlpha traz o mesmo insight: dê ao agente um espaço de trabalho persistente, e a pesquisa naturalmente se acumula.

Na prática, você cria um espaço de trabalho por objetivo de pesquisa ("rebalanceamento Q2", "análise aprofundada da demanda por datacenters", "rotação do setor de energia"). O agente entrevista você sobre seus objetivos e estilo, produz sua primeira entrega e salva tudo no sistema de arquivos do espaço de trabalho. Volte amanhã e seus arquivos, discussões e pesquisa acumulada ainda estarão lá.

Destaques das Funcionalidades

  • Descoberta Progressiva de Ferramentas — Quaisquer ferramentas MCP carregadas como resumo em contexto e documentação completa despejada no espaço de trabalho, permitindo que o agente descubra e use ferramentas verdadeiramente sob demanda. Também suporta a vinculação de ferramentas json com habilidades e só expô-las ao agente quando a habilidade é ativada.
  • Chamada Programática de Ferramentas (PTC) — O agente escreve e executa Python para processar dados financeiros de servidores MCP em vez de despejar dados brutos na janela de contexto do LLM, permitindo análises complexas de múltiplas etapas enquanto reduz drasticamente o desperdício de tokens.
  • Ecossistema de dados financeiros — Hierarquia de provedores multi-nível com ferramentas nativas para consultas rápidas e servidores MCP para processamento de dados em massa, gráficos e análises de vários anos em sandboxes.
  • Espaços de trabalho persistentes — Cada espaço de trabalho mapeia para uma sandbox dedicada com diretórios estruturados e um arquivo de notas do espaço de trabalho (agent.md) que acumula pesquisa através de sessões e discussões. Um armazenamento de memória de longo prazo separado (.agents/user/memory/, .agents/workspace/memory/) persiste preferências duráveis do usuário e conhecimento entre sandboxes, e um armazenamento de memorandos gerenciado pelo usuário (.agents/user/memo/) permite que você faça upload de PDFs e notas de pesquisa em markdown que o agente pode ler sob demanda.
  • Habilidades para Pesquisa Financeira — Fluxos de trabalho pré-construídos para modelos DCF, relatórios de cobertura inicial, análise de lucros, notas matinais, geração de documentos e mais — ativáveis por comando de barra ou detecção automática.
  • Workbench de Pesquisa Financeira — UI web com gráficos financeiros embutidos, visualizador de arquivos multi-formato, gráficos TradingView, dados de mercado em tempo real via WebSocket, anotações em gráficos desenhadas pelo agente, painel de proveniência de fonte por turno, conversas compartilháveis e monitoramento de subagentes.
  • Camada de modelo multi-provedor — Abstração de LLM independente de provedor e failover automático em caso de erro.
  • Automações — Agende tarefas recorrentes ou únicas, ou defina automações acionadas por preço que disparam quando uma ação ou índice atinge uma condição de preço em tempo real.
  • Secretário — O agente flash funciona como secretário: criar e gerenciar espaços de trabalho, despachar análises PTC profundas em segundo plano, monitorar tarefas em execução e recuperar resultados — tudo através de comandos conversacionais com aprovação humana no circuito.
  • Enxame de agentes — Subagentes assíncronos paralelos com janelas de contexto isoladas, conjunto de ferramentas/habilidades pré-carregadas, direcionamento durante a execução, retomada baseada em checkpoints e monitoramento de progresso ao vivo na UI.
  • Direção ao vivo — Envie mensagens de acompanhamento enquanto o agente/subagente está trabalhando para corrigir o curso, esclarecer ou redirecionar sem esperar que termine.
  • Pilha de middleware — Uma pilha de middleware profunda e componível que lida com carregamento de habilidades, modo de planejamento, entrada multimodal, compactação automática e gerenciamento de contexto para suportar sessões longas de agente.
  • Segurança e cofre do workspace — Criptografia em repouso via pgcrypto, detecção e ocultação automática de vazamento de credenciais, execução em sandbox e armazenamento de segredos por workspace para acesso seguro do agente
  • Integrações de canal — Use o LangAlpha a partir do Slack, Discord, Feishu e Telegram, além de entrega por e-mail para resultados agendados.
  • Infraestrutura pronta para produção — Atividade do agente transmitida por SSE com repetição de reconexão em buffer Redis, execução em segundo plano desacoplada de conexões HTTP e persistência de estado com PostgreSQL.

O que o Alimenta

Arquitetura do Sistema```mermaid %%{init: {'theme': 'neutral'}}%%

flowchart TB Web["Web UI
React 19 · Vite · Tailwind"] -- "REST · SSE" --> API Web -- "WebSocket" --> WSP CLI["CLI / TUI"] -- "REST · SSE" --> API

subgraph Server ["FastAPI Backend"]
    API["API Routers<br/>Threads · Workspaces · Market Data<br/>OAuth · Automations · Skills"]
    WSP["WebSocket Proxy"]
    API --> ChatHandler["Chat Handler<br/>LLM Resolution · Workflow Dispatch"]
    ChatHandler --> BTM["Background Task Manager<br/>Decoupled Execution · Workflow Lifecycle"]
end

subgraph PostgreSQL ["PostgreSQL — Dual Pool"]
    AppPool[("App Data<br/>Users · Workspaces · Threads<br/>Turns · BYOK Keys · Automations")]
    CheckPool[("LangGraph Checkpointer<br/>Agent State · Checkpoints")]
end

subgraph Redis ["Redis"]
    EventBuf[("SSE Event Buffer<br/>150K events · Reconnect Replay")]
    DataCache[("API Cache<br/>Market Data · SWR")]
    Steering[("Steering Queue<br/>User Messages Mid-workflow")]
end

BTM --> AppPool
BTM --> CheckPool
BTM --> EventBuf
BTM --> Steering
API --> DataCache

BTM -. "Sandbox API" .-> Daytona["Daytona<br/>Cloud Sandboxes"]
API -. "REST" .-> FinAPIs["Financial APIs<br/>FMP · SEC EDGAR"]
WSP -. "WebSocket" .-> GData["ginlix-data<br/>Polygon.io · Massive"]
### Camada de Modelo Multi-Provedor

LangAlpha funciona em uma camada de modelo agnóstica de provedor que abstrai múltiplos backends de LLM. A mesma pilha de middleware, ferramentas e fluxos de trabalho funcionam independentemente do modelo que os está dirigindo. Ele vem com dois modos:

- **Modo PTC** para pesquisa de investimento profunda e com múltiplas etapas. Raciocínio forte impulsiona análises em várias etapas onde o agente planeja sua abordagem, pensa nos dados financeiros e escreve código para análises complexas. O contexto longo permite que ele faça referências cruzadas de arquivos da SEC e relatórios de pesquisa em uma única passagem.
- **Modo Flash** para respostas conversacionais rápidas e orquestração do espaço de trabalho: consultas rápidas de mercado, gráfico e bate-papo no MarketView, Q&A leve, e uma secretária que gerencia espaços de trabalho, despacha análises profundas PTC em segundo plano e retransmite os resultados através de conversa natural.

**Traga seu próprio modelo** — Use suas assinaturas de IA e chaves de API existentes diretamente. Conecte assinaturas do ChatGPT ou Claude via OAuth (OpenAI Codex OAuth, Claude Code OAuth), use planos de codificação da Kimi (Moonshot), GLM (Zhipu), MiniMax, ou Doubao (Volcengine), ou forneça suas próprias chaves de API para qualquer provedor compatível via BYOK. Todas as chaves são criptografadas em repouso via PostgreSQL pgcrypto (veja [Segurança](#security)).

**Resiliência do modelo** — tentativas automáticas em erros transitórios, depois failover para um modelo de fallback configurado. Esforço de raciocínio (`low`/`medium`/`high`) é normalizado entre provedores automaticamente.

### Chamada de Ferramenta Programática (PTC) e Arquitetura do Espaço de Trabalho

A maioria dos agentes de IA interage com dados através de chamadas de ferramenta JSON únicas que despejam o resultado diretamente na janela de contexto. A Chamada de Ferramenta Programática inverte isso: em vez de passar dados brutos através do LLM, o agente escreve e executa código dentro de um sandbox em nuvem [Daytona](https://www.daytona.io/) que processa dados localmente e retorna apenas o resultado final. Isso reduz drasticamente o desperdício de tokens, ao mesmo tempo que permite análises que de outra forma excederiam os limites de contexto.

**Fluxo de Execução PTC**```mermaid
%%{init: {'theme': 'neutral'}}%%

flowchart LR
    LLM["LLM"] -- "1 — Writes Python" --> EC["ExecuteCode Tool"]
    EC -- "2 — Sends to sandbox" --> Run["Code Runner"]

    subgraph Sandbox ["Daytona Cloud Sandbox"]
        Run -- "3 — import tools.*" --> Wrappers["Generated Wrappers<br/>One module per MCP server"]
        Wrappers -- "4 — JSON-RPC stdio" --> MCP["MCP Servers<br/>Subprocesses in sandbox"]
    end

    MCP -- "5 — REST / WS" --> APIs["Financial APIs<br/>FMP · Yahoo · Polygon"]
    APIs -- "6 — Data" --> MCP
    Run -- "7 — stdout · charts · files" --> EC
    EC -- "8 — Result" --> LLM

Além disso, o ambiente de workspace permite persistência além de uma única sessão. Cada sandbox possui uma estrutura de diretórios organizada — work/<task>/ para áreas de trabalho por tarefa (dados, gráficos, código), results/ para relatórios finalizados e data/ para conjuntos de dados compartilhados — para que resultados intermediários sobrevivam entre sessões. Na raiz está agent.md, um arquivo de notas do workspace que o agente mantém entre threads: objetivos do workspace, descobertas principais, um índice de threads e um índice de arquivos de artefatos importantes. Uma camada de middleware injeta agent.md em cada chamada de modelo, para que o agente tenha sempre o contexto completo do trabalho anterior sem precisar reler arquivos. Ortogonalmente, um sistema de memória de longo prazo baseado em armazenamento (.agents/user/memory/, .agents/workspace/memory/) captura preferências duráveis do usuário e conhecimento entre sandboxes que sobrevive a redefinições de workspace, e um armazenamento de memorandos gerenciado pelo usuário (.agents/user/memo/) mantém documentos que você carrega — PDFs têm seu texto extraído no servidor e metadados são gerados de forma assíncrona por um LLM para que o agente possa encontrá-los e citá-los por tópico. Cada workspace suporta múltiplas threads de conversa vinculadas a um único objetivo de pesquisa.

Página de workspaces com cartões de workspace de pesquisa

Cada workspace corresponde a uma sandbox persistente — organize pesquisa por tema, portfólio ou tese.

Agente PTC gerando um dashboard de calendário de catalisadores para Mag 7 + Semicondutores

O agente escreve código para construir dashboards interativos — aqui, um calendário de catalisadores para Mag 7 + Semicondutores.

Ecossistema de Dados Financeiros

Embora o PTC seja excelente em trabalhos complexos como processamento de dados em várias etapas, modelagem financeira e criação de gráficos, iniciar a execução de código para cada consulta de dados é desnecessário. Por isso, também construímos um conjunto de ferramentas nativas de dados financeiros que transforma dados frequentemente usados em um formato digerível por LLMs. Essas ferramentas também vêm com artefatos que são renderizados diretamente no frontend, fornecendo à camada humana contexto visual imediato junto com a análise do agente.

Ferramentas nativas para referência rápida por meio de chamadas diretas de ferramentas:

  • Visão geral da empresa com cotações em tempo real, desempenho de preço, principais métricas financeiras, consenso de analistas e detalhamento de receita
  • Arquivos da SEC (10-K, 10-Q, 8-K) com transcrições de calls de resultados e markdown formatado para citação
  • Índices de mercado e desempenho de setores para contexto amplo de mercado
  • Pesquisa na web (Tavily, Serper, Bocha) — seleção de provedor orientada por manifesto com profundidade em camadas (consulta rápida a pesquisa aprofundada), além de pesquisa de imagens e modos de pesquisa de IA, selecionáveis por usuário — e crawling web com tolerância a falhas do circuit breaker

Servidores MCP para dados brutos consumidos através da execução de código PTC:

  • Dados de preço para séries temporais OHLCV em ações, commodities, cripto e forex, além de análises de juros baixos e volume baixo
  • Fundamentos para demonstrações financeiras de vários anos, índices, métricas de crescimento, avaliação, negociações de insiders, dividendos e desdobramentos, float de ações, principais executivos e indicadores técnicos
  • Macroeconomia para PIB, IPC, desemprego, taxa de juros do Fed, curva de rendimento do tesouro (1M–30Y), prêmios de risco país, calendário econômico e calendário de resultados
  • Opções para cadeia de opções com filtragem, OHLCV histórico de contratos de opções e capturas em tempo real de bid/ask
  • Pacote Yahoo Finance (price, fundamentals, analysis, market) para cobertura sem chave de demonstrações, classificações de analistas, detentores, triagem e calendários
  • X (Twitter) pesquisa de posts somente leitura, consulta de usuário/tweet e busca de threads para rastreamento de sentimento e eventos, além de um servidor de scraping para páginas renderizadas por JS e protegidas contra bots

O agente escolhe a camada certa automaticamente: ferramentas nativas para consultas rápidas que cabem no contexto, ferramentas MCP quando a tarefa exige processamento de dados em massa, criação de gráficos ou análise de tendências de vários anos na sandbox.

Os servidores MCP são configuráveis por workspace. Servidores embutidos podem ser desabilitados individualmente, e servidores HTTP ou stdio personalizados — incluindo aqueles que leem credenciais do cofre do workspace — podem ser adicionados pela API ou interface, entrando em vigor em segundos sem reinicialização.

Cadeia de Fallback de Provedores de Dados

LangAlpha oferece suporte a uma hierarquia de provedores de dados em três níveis. Cada nível é opcional — o sistema degrada-se graciosamente quando níveis superiores estão indisponíveis:

NívelProvedorChave NecessáriaO Que Adiciona
1ginlix-data (proxy hospedado)GINLIX_DATA_URLFeed de preço WebSocket em tempo real, dados intradiários, dados de horário estendido de negociação, dados de opções
2FMP (Financial Modeling Prep)FMP_API_KEYFundamentos de alta qualidade, demonstrações financeiras, dados macro, dados de analistas
3Yahoo Finance (yfinance)Nenhuma — gratuitoHistórico de preços, fundamentos básicos, resultados, participações, transações de insiders, ESG, triagem

Todos os níveis são ativados por padrão. Para executar apenas com dados gratuitos (Yahoo Finance), execute make config com a seleção solicitada. Você também pode editar agent_config.yaml manualmente.

[!NOTE] Os dados do Yahoo Finance são provenientes da comunidade e têm limitações: sem dados intradiários abaixo de intervalos de 1 hora, cotações atrasadas, cobertura macro limitada e limitação de taxa ocasional. Uma FMP_API_KEY é fortemente recomendada (nível gratuito disponível).

Habilidades de Pesquisa Financeira

O agente vem com 23 habilidades de pesquisa financeira pré-construídas, cada uma ativável por comando de barra ou detecção automática. As habilidades seguem a Especificação de Habilidades do Agente e podem ser estendidas colocando um arquivo SKILL.md no workspace.

CategoriaHabilidades
Avaliação e ModelagemModelo DCF, Análise de Comparáveis, Modelo de 3 Demonstrações, Atualização de Modelo, Auditoria de Modelo
Pesquisa de AçõesCobertura Inicial (relatório de 30–50 páginas), Prévia de Resultados, Análise de Resultados, Rastreador de Tese
Inteligência de MercadoNota Matinal, Calendário de Catalisadores, Visão Geral do Setor, Análise Competitiva, Geração de Ideias, Pesquisa X
Geração de DocumentosPDF, DOCX, PPTX, XLSX, HTML — criar, editar, extrair
OperaçõesControle de Qualidade de Deck de Investimento, Automações Agendadas, Perfil do Usuário e Portfólio

Reconhecimento: algumas habilidades são adaptadas de anthropics/financial-services-plugins.

Habilidade de Análise de Comparáveis entregando um modelo Excel e relatório de avaliação em PDF com faixas de preço implícitas para NVDA, AMD e GOOGL

A habilidade de Análise de Comparáveis fornece um modelo Excel e um relatório PDF — com faixas de preço implícitas a partir de múltiplos de grupo de pares.

Inteligência Multimodal

O agente lê nativamente imagens (PNG, JPG, GIF, WebP) e PDFs — o middleware multimodal intercepta leituras de arquivos, baixa conteúdo da sandbox ou URLs e o injeta como base64 na conversa para interpretação visual direta. No MarketView, o gráfico de velas ao vivo do usuário pode ser capturado e enviado ao agente como contexto multimodal — a captura inclui tanto a imagem do gráfico quanto metadados estruturados (símbolo, intervalo, OHLCV, médias móveis, RSI, faixa de 52 semanas) para que o agente possa raciocinar tanto sobre o padrão visual quanto sobre os dados subjacentes.

MarketView mostrando gráfico de velas da NVDA com análise de suporte e resistência por IA

MarketView envia o gráfico ao vivo para o agente para análise técnica em tempo real.

Anotações em Gráficos Feitas pelo Agente

Peça ao agente para marcar o gráfico do MarketView e ele desenha diretamente na tela — níveis de preço, linhas de tendência, retrações de Fibonacci, emblemas de eventos, retângulos e marcadores de texto. As anotações são transmitidas ao vivo via SSE, persistem por workspace e por par symbol:timeframe (um desenho em NVDA:1day permanece separado de NVDA:1hour) e são reproduzidas na reconexão. Quando a conversa ocorre fora do MarketView, a transcrição do chat mostra um cartão de mini-visualização com a legenda da anotação e um link de um clique para o gráfico ao vivo. A habilidade de anotação de gráfico é carregada automaticamente sempre que uma mensagem é enviada do MarketView, para que o agente saiba sempre a qual ticker e timeframe "o gráfico" se refere.

Automações

O agente pode agendar suas próprias tarefas a partir de uma conversa — sem necessidade de interface separada. Os usuários também podem gerenciar automações na página dedicada de Automações com CRUD completo, histórico de execução e acionamento manual. Todos os tipos de automação compartilham o mesmo AutomationExecutor, modo de agente configurável (PTC ou Flash) e desativação automática após falhas consecutivas.

Baseadas em tempo — Expressões cron padrão para agendamentos recorrentes ("executar esta análise toda segunda-feira às 9h") e agendamento de data/hora único para execuções futuras únicas.

Acionadas por preço — Defina uma meta de preço ou movimento percentual em qualquer ação ou índice principal, e o agente executa suas instruções no momento em que a condição é atendida. Um PriceMonitorService se inscreve em uma conexão WebSocket upstream compartilhada para ginlix-data para ticks em tempo real (ações no nível em tempo real, índices no nível atrasado). A deduplicação baseada em Redis evita acionamentos duplicados entre instâncias do servidor.

CondiçãoExemplo
Preço acima / abaixoAcionar quando AAPL ultrapassar $200
Variação percentual acima / abaixoAcionar quando SPX mover +2% do fechamento anterior

As condições podem ser combinadas (lógica AND), e cada automação de preço suporta modo one-shot (disparar uma vez) ou recorrente com um período de espera configurável (mínimo de 4 horas, ou uma vez por dia de negociação por padrão).

[!NOTE] Automações acionadas por preço exigem o feed WebSocket em tempo real do ginlix-data. Durante o beta, este recurso está disponível exclusivamente na plataforma hospedada. Suporte mais amplo para fontes de dados WebSocket está planejado para lançamentos futuros.

Página de automações com galeria de modelos e agendamento de pré-resultados do Mag 7

Agende pesquisas recorrentes — aqui, análises de pré-resultados do Mag 7 são executadas automaticamente antes de cada relatório.

Arquitetura do Agente```mermaid %%{init: {'theme': 'neutral'}}%%

flowchart TB subgraph Orchestrator ["BackgroundSubagentOrchestrator"] direction TB Agent["Main Agent · LangGraph ReAct"] end

Agent -- "Task(init · update · resume)" --> SubPool
SubPool -- "results" --> Orchestrator

subgraph SubPool ["Subagent Pool — Parallel Async"]
    direction LR
    S1["general-purpose"]
    S2["research"]
    S3["user-defined"]
end

subgraph Middleware ["Middleware Stack"]
    direction LR
    MW1["Tool Safety<br/>Leak Detection<br/>Protected Paths<br/>Error Handling"]
    MW2["Context & Skills<br/>agent.md Injection<br/>Skill Loading<br/>Multimodal"]
    MW3["Coordination<br/>HITL · Plan Mode<br/>Steering<br/>Subagent Dispatch"]
    MW4["Resilience<br/>Compaction<br/>Retry + Fallback<br/>Prompt Caching"]
end

Agent -- "wraps model + tool calls" --> Middleware
Middleware --> LLM["Multi-Provider LLM<br/>OpenAI · Anthropic · Gemini · DeepSeek<br/>Qwen · Kimi · Doubao · GLM · MiniMax · ..."]

Agent <--> Tools

subgraph Tools ["Tool Layer"]
    direction LR
    T1["execute_code<br/>bash"]
    T2["Filesystem<br/>read · write · edit<br/>glob · grep"]
    T3["Finance<br/>Market Data · SEC<br/>Options · Screener"]
    T4["Web<br/>Search · Fetch"]
    T5["ShowWidget<br/>Inline HTML"]
end

T1 <--> Workspace
T2 <--> Workspace

subgraph Workspace ["Workspace — Daytona Sandbox"]
    direction LR
    W1["agent.md<br/>Workspace Notes"]
    W2["work/‹task›/<br/>data · charts"]
    W3["results/<br/>Reports"]
    W4["tools/<br/>MCP Wrappers"]
end
### Agent Swarm

O agente principal é executado no [LangGraph](https://github.com/langchain-ai/langgraph) e gera subagentes assíncronos paralelos através de uma ferramenta `Task()`. Os subagentes são executados concorrentemente com janelas de contexto isoladas, prevenindo desvios em cadeias de raciocínio longas. Cada subagente retorna resultados sintetizados de volta ao agente principal, mantendo o orquestrador enxuto. O agente principal pode optar por aguardar o resultado de um subagente ou continuar outros trabalhos pendentes. Você também pode alternar para a visualização **Subagentes** na interface para ver o progresso deles em tempo real (apenas frontend web).

Além do despacho simples, o agente principal pode enviar instruções de acompanhamento para um subagente ainda em execução, ou retomar um subagente concluído com contexto completo para refinamento iterativo. Se o servidor reiniciar, o estado do subagente é automaticamente reconstruído a partir do seu último checkpoint.

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/13458/dd8d54f3a8879372cf72c8a05d6ecce70c53ed0d86c8aed6a49c49276d4f97e4.png" alt="Parallel subagents researching the data center compute chain with an interactive AI compute timeline" width="800" />
</p>
<p align="center"><em>Subagentes de pesquisa executam em paralelo através da cadeia de computação — os resultados se fundem em uma linha do tempo interativa de computação de IA abrangendo NVIDIA, Google, AMD, AWS e o resto da indústria.</em></p>

### Pilha de Middleware

O agente vem com uma pilha de middleware, incluindo:

- **Direcionamento ao vivo** — agentes podem tomar caminhos errados, perseguir dados irrelevantes ou interpretar mal sua intenção durante a análise. O direcionamento permite que você corrija o rumo sem esperar. Envie uma mensagem de acompanhamento a qualquer momento enquanto o agente estiver trabalhando — instruções atualizadas, esclarecimentos ou perguntas totalmente novas — e o agente capta antes do próximo passo, como se você tivesse dito em tempo real. O direcionamento funciona em todos os níveis: redirecione o agente principal, envie acompanhamentos para subagentes individuais em segundo plano ou deixe o sistema retornar graciosamente mensagens não consumidas para sua caixa de entrada se o fluxo de trabalho terminar primeiro. Nenhum trabalho é perdido, nenhuma reinicialização necessária.
- **Carregamento dinâmico de habilidades** através de uma ferramenta `LoadSkill` que permite ao agente descobrir e ativar conjuntos de habilidades sob demanda, mantendo a superfície de ferramentas padrão enxuta enquanto torna capacidades especializadas disponíveis quando necessário
- **Multimodal** intercepta leituras de arquivos para imagens e PDFs, baixa conteúdo do sandbox ou URLs e o injeta como base64 na conversa para que modelos multimodais possam interpretá-los nativamente
- **Modo de plano** com interrupções de humano-no-loop permite que você revise e aprove a estratégia do agente antes da execução
- **Compactação automática** comprime o histórico da conversa ao se aproximar dos limites de tokens, preservando o contexto chave enquanto libera espaço
- **Gerenciamento de contexto** descarrega automaticamente grandes resultados de ferramentas para o sistema de arquivos do workspace, mantendo uma prévia curta no contexto, e compacta conversas longas à medida que crescem — resumindo turnos mais antigos enquanto mantém a transcrição completa recuperável no workspace. Sessões de pesquisa podem ser executadas indefinidamente sem atingir limites de contexto.

Veja [`src/ptc_agent/agent/middleware/`](https://github.com/ginlix-ai/langalpha/blob/HEAD/src/ptc_agent/agent/middleware/) para o conjunto completo.

Agradecimentos: alguns dos componentes de middleware são adaptados ou inspirados pela implementação em [LangChain DeepAgents](https://github.com/langchain-ai/deepagents).

### Streaming e Infraestrutura

O servidor transmite toda a atividade do agente via SSE: pedaços de texto, chamadas de ferramentas com argumentos e resultados, atualizações de status de subagentes, artefatos de operações de arquivo e interrupções de humano-no-loop. Cada decisão do agente é totalmente rastreável na interface.

Os fluxos de trabalho executam como tarefas em segundo plano independentes, totalmente desacoplados da conexão HTTP/SSE. Se a aba do navegador fechar ou a rede cair, o agente continua trabalhando. Ao reconectar, até 150.000 eventos armazenados em buffer são reproduzidos para que o cliente retome exatamente de onde parou.

PostgreSQL suporta checkpointing do LangGraph, histórico de conversas e dados do usuário (listas de observação, portfólios, preferências), para que o estado do agente e o contexto do usuário persistam entre sessões. Redis armazena em buffer eventos SSE para que atualizações de navegador e quedas de rede não percam mensagens em trânsito: o cliente reconecta e reproduz automaticamente. Os dados do usuário são expostos ao agente como arquivos JSON virtuais apoiados diretamente pelo banco de dados — leituras serializam linhas ativas sob demanda e gravações são aplicadas em uma única transação validada, sem ida e volta de sincronização do sandbox — enquanto as habilidades são sincronizadas com o sandbox na inicialização da sessão através de um cache baseado em manifesto, reenviadas apenas quando mudam. Veja a [referência da API](https://github.com/ginlix-ai/langalpha/blob/HEAD/docs/api/README.md) completa para detalhes.

### Proveniência de Fontes

Cada fonte de dados externa que o agente toca é rastreada e exibida. Um middleware de proveniência registra cada pesquisa na web, busca de página, arquivamento SEC, chamada de dados de mercado, invocação de ferramenta MCP e leitura de arquivo do workspace — incluindo acessos feitos por subagentes em segundo plano — e emite um evento de stream `provenance` por fonte, nenhum dos quais entra no contexto do LLM. A interface renderiza isso como um painel de Fontes ao lado de cada turno: fontes agrupadas por tipo, favicons para origens web e uma visualização de detalhes que expõe o provedor, timestamp, argumentos capturados, uma impressão digital do conteúdo e um trecho. Um alternador *Este turno / Todas as fontes* revela a pegada de dados completa em todo um tópico, e clicar em uma fonte de arquivo ou memorando a abre diretamente no painel de arquivos do workspace — uma trilha totalmente auditável dos dados por trás de cada saída de pesquisa.

## Segurança & Cofre do Workspace

O LangAlpha aplica um modelo de segurança em camadas em credenciais, execução de código e segredos fornecidos pelo usuário.

**Criptografia em repouso** — Todos os dados sensíveis (chaves de API BYOK, tokens OAuth, segredos do cofre) são criptografados dentro do PostgreSQL usando `pgcrypto`. Texto simples nunca é armazenado no banco de dados.

**Detecção de vazamento de credenciais** — Cada saída de ferramenta é verificada antes de alcançar o contexto do LLM. O middleware resolve todos os valores de segredo conhecidos (chaves de servidor MCP, tokens de sandbox, segredos do cofre) e redige qualquer correspondência como `[REDACTED:KEY_NAME]`. A mesma redação se aplica a superfícies voltadas para humanos — leituras e downloads de arquivos são limpos antes de chegar ao cliente.

**Execução de código em sandbox** — Cada workspace é executado em seu próprio sandbox na nuvem [Daytona](https://www.daytona.io/) com um sistema de arquivos dedicado e limite de rede. Guardas de caminho protegidos impedem que o agente acesse diretórios internos do sistema — bloqueando tanto a entrada da ferramenta (curto-circuitando a chamada antes da execução) quanto a saída da ferramenta (redigindo caminhos vazados).

### Cofre do Workspace

Cada workspace possui um cofre de segredos embutido para armazenar chaves de API e credenciais que o agente pode usar durante a execução de código — útil para acessar fontes de dados de terceiros (APIs de corretagem, fornecedores de dados externos, etc.) ou construir fluxos de trabalho baseados em LLM dentro do workspace. Armazene um segredo uma vez na interface, e ele estará disponível para cada sessão de agente naquele workspace através de uma API Python simples:```python
from vault import get, list_names, load_env

api_key = get("MY_API_KEY")       # retrieve a single secret
names = list_names()               # list available secret names
load_env()                         # bulk-load all secrets as env vars

Os segredos do Vault herdam todas as camadas de proteção acima — criptografados em repouso, ocultos de todas as saídas voltadas para agentes e humanos, e bloqueados contra acesso direto a arquivos. Apenas o proprietário do workspace pode criar, atualizar, revelar ou excluir segredos.

Frontend

A interface web é mais do que um chat — é uma bancada de pesquisa completa:

  • Painel configurável — comece com um layout predefinido (Briefing Matinal, Trader, Pesquisador, Mesa do Agente, Trader (TradingView) ou Gestor de Portfólio) ou construa o seu próprio a partir de uma galeria de widgets que abrange mercados, inteligência, contexto pessoal, superfícies de agente e atalhos do workspace
  • Gráficos financeiros inline — os resultados das ferramentas são renderizados como sparklines interativos, gráficos de barras e cartões de resumo diretamente no thread do chat
  • Widgets HTML inline — o agente pode renderizar visualizações HTML/SVG interativas (gráficos Chart.js, cartões de métricas, tabelas de dados) diretamente no chat através da ferramenta ShowWidget, com estilo adaptável ao tema e iframes em sandbox
  • Relatórios de pesquisa em HTML — o agente escreve documentos HTML completos e autocontidos no diretório results/, servidos com semântica real de navegador (scripts executados, bibliotecas CDN carregadas, assets relativos resolvidos), visualizáveis em tela cheia e exportáveis para PDF — distintos de widgets inline e painéis ao vivo
  • Visualizador de arquivos multiformato — PDF (paginado, com zoom), Excel, CSV, pré-visualização HTML e código-fonte (editor Monaco com modo de diff) — tudo visualizável inline sem download
  • Gráficos TradingView — Gráfico Avançado TradingView completo com ferramentas de desenho, indicadores e estilo profissional de candlestick
  • Dados de mercado ao vivo — feed de preços WebSocket em tempo real com resolução de tick de 1 segundo (ações dos EUA), visualização de horário estendido e múltiplas sobreposições de médias móveis
  • Anotações em gráficos feitas pelo agente — o agente marca o gráfico MarketView com níveis de preço, linhas de tendência, retrocessos de Fibonacci e badges de eventos, persistidos por symbol:timeframe e pré-visualizados inline no chat
  • Conversas compartilháveis — compartilhamento com um clique e permissões granulares (alternar acesso a navegação de arquivos e download), reprodução via URL público
  • Monitoramento de subagentes em tempo real — veja o streaming de saída e chamadas de ferramentas de cada tarefa em segundo plano ao vivo, com a capacidade de enviar instruções durante a execução
  • Painel de proveniência de fontes — cada turno lista as fontes externas que o agente acessou (web, arquivos da SEC, dados de mercado, ferramentas MCP, arquivos) com favicons, impressões digitais de conteúdo e um alternador de escopo por thread
  • Automações — gerenciamento CRUD com construtor de cron, histórico de execução, acionamento manual e automações acionadas por preço que disparam quando uma ação ou índice atinge uma condição de preço em tempo real

Painel com faixa de visão geral do mercado, resumo de notícias do mercado e lista de observação — com um resumo de notícias inserido no chat do agente como contexto

O painel exibe índices de mercado, um resumo personalizado e sua lista de observação — qualquer bloco pode ser fixado ao agente como contexto de chat para iniciar um tópico de pesquisa.

Seletor de predefinições do painel com modelos Briefing Matinal, Mesa do Agente, Pesquisador e Trader Galeria de widgets do painel com categorias mercados, inteligência, pessoal, agente e workspace
Comece com uma predefinição curada — Briefing Matinal, Mesa do Agente, Pesquisador ou Trader.Ou monte a sua própria a partir da galeria de widgets — mercados, inteligência, pessoal, agente e workspace.

Integrações de Canal

Use o LangAlpha a partir das ferramentas onde você já trabalha. O gateway de integração retransmite mensagens entre plataformas de mensagens e o agente principal, com cada canal recebendo respostas em seu formato nativo. As integrações de canal estão disponíveis exclusivamente em nosso serviço hospedado, com configuração em um clique e vinculação rápida de conta — visite integrações para começar.

FuncionalidadeSlackDiscordFeishuTelegramWhatsApp
Texto rico / markdown🔜
Upload de arquivos (usuário → agente)
Download de arquivos (agente → usuário)
Renderização de imagens
Interrupções com humano no loop⚠️
Acompanhamento de subagentes🔜
Seleção de workspace / modelo🔜
Entrega de automação (outbound)
Vinculação simplificada de conta
Comandos de barra

Slack e Discord oferecem canais nativos e grupos em nível de thread, que se mapeiam naturalmente para workspaces e threads do LangAlpha — o contexto é gerenciado de forma nativa. Telegram e WhatsApp não possuem essas primitivas, então executam um modo de orquestração simplificado. Feishu possui interface de mensagens completa e baseada em cartões, com OAuth em breve. Telegram tem suporte parcial com cobertura total em breve. WhatsApp está planejado.

Começando

[!TIP] Não quer auto-hospedar? Experimente a versão hospedada — ela inclui infraestrutura de dados completa (FMP, dados de mercado em tempo real, sandboxes na nuvem) pronta para uso. Traga sua própria chave de LLM (BYOK) e comece imediatamente sem configuração.

Você pode iniciar o LangAlpha com nada além do Docker — sem chaves de API para dados, sem sandbox na nuvem. Apenas Docker para a infraestrutura e sua própria assinatura de LLM para o modelo de IA.```bash git clone https://github.com/ginlix-ai/langalpha.git cd langalpha make config # interactive wizard — creates .env, configures LLM, data sources, sandbox, and search make up # starts PostgreSQL, Redis, backend, and frontend

- **Frontend:** [http://localhost:5173](http://localhost:5173)
- **API Backend:** [http://localhost:8000](http://localhost:8000) (documentação interativa em `/docs`)
- **Verifique:** `curl http://localhost:8000/health`

Para a experiência completa, o assistente solicitará chaves opcionais — ou adicione-as ao `.env` posteriormente:

| Key                                  | O Que Desbloqueia                                                                                                         |
| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
| `DAYTONA_API_KEY`                    | Sandboxes persistentes na nuvem com suporte a workspace entre sessões ([daytona.io](https://www.daytona.io/))                 |
| `FMP_API_KEY`                        | Fundamentos de alta qualidade, macro, arquivamentos SEC, opções ([plano gratuito disponível](https://site.financialmodelingprep.com/)) |
| `SERPER_API_KEY` or `TAVILY_API_KEY` | Pesquisa na web                                                                                                              |
| `LANGSMITH_API_KEY`                  | Rastreamento LangSmith para execuções LangGraph                                                                                    |
| `OTEL_EXPORTER_OTLP_ENDPOINT`        | Traços e métricas OpenTelemetry para qualquer backend OTLP (Jaeger, Grafana Tempo, Datadog, Honeycomb, ...)                   |
| `SANDBOX_PROVIDER`                   | Substituir o provedor de sandbox (`daytona` ou `docker`); detectado automaticamente a partir de `DAYTONA_API_KEY` quando não definido                  |

> [!NOTE]
> Sem chaves de serviços externos, você obtém uma experiência funcional, porém reduzida: o Yahoo Finance fornece histórico de preços gratuito, fundamentos, lucros e dados de analistas, mas não possui cotações em tempo real, dados de ticks intradiários, macroeconomia e análise de opções. O sandbox Docker substitui os sandboxes em nuvem Daytona — a execução completa do código PTC funciona, mas com segurança e isolamento reduzidos. Adicione chaves incrementalmente para desbloquear mais capacidades.

Execute `make help` para ver todos os comandos disponíveis. Para configuração manual sem Docker, consulte [CONTRIBUTING.md](https://github.com/ginlix-ai/langalpha/blob/HEAD/CONTRIBUTING.md#manual-setup).

## Documentação

- **[Referência da API](https://github.com/ginlix-ai/langalpha/blob/HEAD/docs/api/README.md)** com endpoints para streaming de chat, workspaces, estado do fluxo de trabalho e mais
- **Documentação interativa da API** em `http://localhost:8000/docs` quando o servidor estiver em execução

## Contato

Para parcerias, colaborações ou consultas gerais, entre em contato pelo e-mail [[email protected]](mailto:[email protected]).

## Aviso Legal

LangAlpha é uma ferramenta de pesquisa, não um consultor financeiro. Nada produzido por este software constitui aconselhamento de investimento, recomendação ou solicitação para comprar ou vender qualquer título. Toda saída é apenas para fins informativos e educacionais. Use por sua própria conta e risco — sempre faça sua própria diligência antes de tomar decisões de investimento.

## Licença

Apache License 2.0

Categorias