
Automatisiertes OSINT-Framework für Aufklärung, Datenernte und Threat-Intelligence-Sammlung mit modularen Crawlern, Scannern und Extraktionspipelines.
Ein Agenten-Framework für Vibe-Investing
LangAlpha wurde entwickelt, um Finanzmärkte zu interpretieren und Investitionsentscheidungen zu unterstützen.
Erste Schritte • API-Dokumentation • Agent-Kern • Backend • Web • TUI • Fähigkeiten • MCP
Pinnen Sie eine kuratierte Nachrichtenzusammenfassung vom Dashboard, starten Sie die Ideengenerierung und entsenden Sie parallele Unteragenten zur Marktanalyse – und erhalten Sie dann fünf Long/Short-Pair-Trade-Ideen in einem integrierten interaktiven Dashboard, abgestimmt auf Ihr Buch.
Jedes KI-Finanz-Tool behandelt Investieren heute als einmalige Aktion: eine Frage stellen, eine Antwort erhalten, weitermachen. Aber echtes Investieren ist Bayessch – man beginnt mit einer These, täglich kommen neue Daten hinzu, und man aktualisiert seine Überzeugung entsprechend. Es ist ein iterativer Prozess, der sich über Wochen und Monate erstreckt: Thesen verfeinern, Positionen überprüfen, neue Analysen auf alte aufbauen. Kein einzelner Prompt erfasst das.
Inspiriert von der Softwareentwicklung: Eine Codebasis bleibt bestehen, und jeder Commit baut auf dem Vorherigen auf. Code-Agenten-Frameworks wie Claude Code und OpenCode waren erfolgreich, weil sie Agenten bauen, die dieses Muster übernehmen, vorhandenen Kontext erkunden und auf früheren Arbeiten aufbauen. LangAlpha bringt dieselbe Erkenntnis: Geben Sie dem Agenten einen persistenten Arbeitsbereich, und die Forschung wächst natürlich.
In der Praxis erstellen Sie einen Arbeitsbereich pro Forschungsziel („Q2-Neuausrichtung", „Rechenzentrums-Nachfrage-Tiefenanalyse", „Energiesektor-Rotation"). Der Agent befragt Sie zu Ihren Zielen und Ihrem Stil, erstellt seine erste Ausgabe und speichert alles im Dateisystem des Arbeitsbereichs. Kehren Sie morgen zurück, und Ihre Dateien, Threads und gesammelte Forschung sind immer noch da.
agent.md) zugeordnet, die die Forschung über Sitzungen und Threads hinweg zusammenführt. Ein separater Langzeitspeicher (.agents/user/memory/, .agents/workspace/memory/) bewahrt dauerhafte Benutzereinstellungen und sandboxübergreifendes Wissen, und ein benutzerverwalteter Memo-Speicher (.agents/user/memo/) ermöglicht es Ihnen, PDFs und Markdown-Forschungsnotizen hochzuladen, die der Agent bei Bedarf lesen kann.Systemarchitektur
// see architecture.md for full system architecture diagram
``````mermaid
%%{init: {'theme': 'neutral'}}%%
flowchart TB
Web["Web UI<br/>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"]
LangAlpha läuft auf einer anbieteragnostischen Modellschicht, die mehrere LLM-Backends abstrahiert. Der gleiche Middleware-Stack, die gleichen Tools und Workflows funktionieren unabhängig davon, welches Modell sie antreibt. Es wird mit zwei Modi ausgeliefert:
Bring your own model — Nutzen Sie Ihre bestehenden KI-Abonnements und API-Schlüssel direkt. Verbinden Sie ChatGPT- oder Claude-Abonnements über OAuth (OpenAI Codex OAuth, Claude Code OAuth), verwenden Sie Codierungspläne von Kimi (Moonshot), GLM (Zhipu), MiniMax oder Doubao (Volcengine) oder geben Sie Ihre eigenen API-Schlüssel für jeden unterstützten Anbieter über BYOK an. Alle Schlüssel werden im Ruhezustand über PostgreSQL pgcrypto verschlüsselt (siehe Sicherheit).
Modell-Resilienz — automatische Wiederholungen bei vorübergehenden Fehlern, dann Failover auf ein konfiguriertes Fallback-Modell. Der Reasoning-Aufwand (low/medium/high) wird automatisch über alle Anbieter normalisiert.
Die meisten KI-Agenten interagieren mit Daten über einmalige JSON-Tool-Aufrufe, die das Ergebnis direkt in das Kontextfenster einfügen. Programmatic Tool Calling dreht dies um: Anstatt Rohdaten durch das LLM zu leiten, schreibt und führt der Agent Code in einer Daytona Cloud Sandbox aus, die Daten lokal verarbeitet und nur das endgültige Ergebnis zurückgibt. Dies reduziert drastisch die Token-Verschwendung und ermöglicht Analysen, die ansonsten die Kontextgrenzen überschreiten würden.
PTC-Ausführungsablauf```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
Zusätzlich ermöglicht die Workspace-Umgebung Persistenz über eine einzelne Sitzung hinaus. Jede Sandbox hat ein strukturiertes Verzeichnislayout — `work/<task>/` für aufgabenspezifische Arbeitsbereiche (Daten, Diagramme, Code), `results/` für finalisierte Berichte und `data/` für gemeinsame Datensätze — sodass Zwischenergebnisse über Sitzungen hinweg erhalten bleiben. Im Stammverzeichnis befindet sich `agent.md`, eine Workspace-Notizen-Datei, die der Agent über Threads hinweg verwaltet: Workspace-Ziele, wichtige Erkenntnisse, ein Thread-Index und ein Datei-Index wichtiger Artefakte. Eine Middleware-Ebene fügt `agent.md` in jeden Modellaufruf ein, sodass der Agent stets den vollständigen Kontext der vorherigen Arbeit hat, ohne Dateien erneut lesen zu müssen. Unabhängig davon erfasst ein speichergestütztes Langzeitgedächtnissystem (`.agents/user/memory/`, `.agents/workspace/memory/`) dauerhafte Benutzereinstellungen und sandboxübergreifendes Wissen, das Workspace-Reset übersteht, und ein benutzerverwalteter Memo-Speicher (`.agents/user/memo/`) enthält hochgeladene Dokumente — PDFs werden serverseitig textuell extrahiert und Metadaten asynchron von einem LLM generiert, damit der Agent sie thematisch finden und zitieren kann. Jeder Workspace unterstützt mehrere Konversationsthreads, die an ein einzelnes Forschungsziel gebunden sind.
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/13458/0c53cdc0a2d703d01cdf7670109e29e7763df554d27fb8c1c3576fd0c7e5352e.png" alt="Workspaces-Seite mit Forschungs-Workspace-Karten" width="800" />
</p>
<p align="center"><em>Jeder Workspace ist einer persistenten Sandbox zugeordnet — organisieren Sie Forschung nach Thema, Portfolio oder These.</em></p>
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/13458/8860e6c240041a9d1cc2711a81797217437a64535fba2577d435320c6fedbfc5.png" alt="PTC-Agent erstellt ein Dashboard mit einem Kalender für Katalysatoren der Mag 7 + Halbleiter" width="800" />
</p>
<p align="center"><em>Der Agent schreibt Code, um interaktive Dashboards zu erstellen — hier ein Kalender für Katalysatoren der Mag 7 + Halbleiter.</em></p>
### Finanzdaten-Ökosystem
Während PTC bei komplexen Aufgaben wie mehrstufiger Datenverarbeitung, Finanzmodellierung und Diagrammerstellung hervorragend ist, ist es übertrieben, für jede Datenabfrage eine Codeausführung zu starten. Daher haben wir auch ein natives Finanzdaten-Toolset entwickelt, das häufig genutzte Daten in ein für LLMs verdauliches Format umwandelt. Diese Tools werden auch mit Artefakten geliefert, die direkt im Frontend gerendert werden und der menschlichen Schicht sofortigen visuellen Kontext zur Analyse des Agenten bieten.
**Native Tools** für schnelle Referenz über direkte Toolaufrufe:
- **Unternehmensübersicht** mit Echtzeitkursen, Kursentwicklung, wichtigen Finanzkennzahlen, Analystenkonsens und Umsatzaufschlüsselung
- **SEC-Einreichungen** (10-K, 10-Q, 8-K) mit Transkripten von Gewinnmitteilungen und formatiertem Markdown für Zitate
- **Marktindizes** und **Sektorperformance** für breiten Marktkontext
- **Websuche** (Tavily, Serper, Bocha) — manifestgesteuerte Anbieterauswahl mit abgestufter Tiefe (schnelle Abfrage bis Tiefenrecherche), plus Bildersuche und KI-Recherche-Modi, pro Benutzer auswählbar — und **Webcrawling** mit Trennschalter-Fehlertoleranz
**MCP-Server** für Rohdaten, die über die PTC-Codeausführung verarbeitet werden:
- **Preisdaten** für OHLCV-Zeitreihen über Aktien, Rohstoffe, Kryptowährungen und Devisen, plus Leerverkaufszins- und Short-Volume-Analysen
- **Fundamentaldaten** für mehrjährige Jahresabschlüsse, Kennzahlen, Wachstumsmetriken, Bewertung, Insider-Transaktionen, Dividenden und Splits, Streubesitz, Schlüsselführungskräfte und technische Indikatoren
- **Makroökonomie** für BIP, VPI, Arbeitslosigkeit, Fed Funds Rate, US-Staatsanleihenrenditekurve (1M–30J), Länderrisikoprämien, Wirtschaftskalender und Gewinnkalender
- **Optionen** für Optionskette mit Filterung, historische OHLCV für Optionskontrakte und Echtzeit-Geld-/Brief-Schnappschüsse
- **Yahoo Finance-Suite** (Preis, Fundamentaldaten, Analyse, Markt) für schlüssellose Abdeckung von Abschlüssen, Analystenbewertungen, Inhabern, Screening und Kalendern
- **X (Twitter)** schreibgeschützte Beitragssuche, Benutzer/Tweet-Nachschlag und Thread-Abruf für Stimmungs- und Ereignisverfolgung, plus einen **Scraping**-Server für JS-gerenderte und Anti-Bot-geschützte Seiten
Der Agent wählt automatisch die richtige Ebene aus: native Tools für schnelle Abfragen, die in den Kontext passen, MCP-Tools, wenn die Aufgabe Bulk-Datenverarbeitung, Diagrammerstellung oder mehrjährige Trendanalyse in der Sandbox erfordert.
MCP-Server sind pro Workspace konfigurierbar. Integrierte Server können einzeln deaktiviert werden, und benutzerdefinierte HTTP- oder stdio-Server — einschließlich solcher, die Anmeldeinformationen aus dem [Workspace-Tresor](#workspace-vault) lesen — können über die API oder das UI hinzugefügt werden und sind innerhalb von Sekunden ohne Neustart wirksam.
#### Datenanbieter-Fallback-Kette
LangAlpha unterstützt eine dreistufige Hierarchie von Datenanbietern. Jede Stufe ist optional — das System verschlechtert sich elegant, wenn höhere Stufen nicht verfügbar sind:
| Stufe | Anbieter | Erforderlicher Schlüssel | Was hinzugefügt wird |
| ----- | --------------------------------- | ---------------------------- | -------------------------------------------------------------------------------------------------- |
| 1 | **ginlix-data** (hosted proxy) | `GINLIX_DATA_URL` | Echtzeit-WebSocket-Preis-Feed, Intraday-Daten, Daten zu verlängerten Handelszeiten, Optionsdaten |
| 2 | **FMP** (Financial Modeling Prep) | `FMP_API_KEY` | Hochwertige Fundamentaldaten, Jahresabschlüsse, Makrodaten, Analystendaten |
| 3 | **Yahoo Finance** (yfinance) | *None — free* | Kursverlauf, grundlegende Fundamentaldaten, Gewinne, Bestände, Insider-Transaktionen, ESG, Screener |
Alle Stufen sind standardmäßig aktiviert. Um nur mit **kostenlosen Daten** zu arbeiten (Yahoo Finance), führen Sie `make config` mit der angezeigten Auswahl aus. Sie können auch `agent_config.yaml` manuell bearbeiten.
> [!NOTE]
> Yahoo Finance-Daten stammen aus der Community und haben Einschränkungen: keine Intraday-Daten unter 1-Stunden-Intervallen, verzögerte Kurse, begrenzte Makroabdeckung und gelegentliches Ratenlimit. Ein `FMP_API_KEY` wird dringend empfohlen ([kostenlose Stufe verfügbar](https://site.financialmodelingprep.com/)).
### Finanzforschungs-Fähigkeiten
Der Agent wird mit 23 vorgefertigten Finanzforschungs-Fähigkeiten ausgeliefert, die jeweils per Slash-Befehl oder automatischer Erkennung aktiviert werden können. Die Fähigkeiten folgen der [Agent Skills Spec](https://agentskills.io/specification) und können durch Ablegen einer `SKILL.md`-Datei im Workspace erweitert werden.
| Kategorie | Fähigkeiten |
| ------------------------- | -------------------------------------------------------------------------------------------------------- |
| **Bewertung & Modellierung** | DCF-Modell, Vergleichsanalyse, 3-Statement-Modell, Modellaktualisierung, Modellprüfung |
| **Aktienanalyse** | Coverage-Aufnahme (30–50-seitiger Bericht), Gewinnvorschau, Gewinnanalyse, These-Tracker |
| **Marktintelligenz** | Morgennotiz, Katalysatorkalender, Sektorübersicht, Wettbewerbsanalyse, Ideengenerierung, X-Recherche |
| **Dokumentenerstellung** | PDF, DOCX, PPTX, XLSX, HTML — erstellen, bearbeiten, extrahieren |
| **Betrieb** | Investment-Deck-QS, geplante Automatisierungen, Benutzerprofil & Portfolio |
Anerkennung: Einige der Fähigkeiten sind von [anthropics/financial-services-plugins](https://github.com/anthropics/financial-services-plugins) abgeleitet.
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/13458/a883b426561bd6be6ce52c41416e12f2d9afdc708a27e3f72750b732457c21e2.png" alt="Fähigkeit zur Vergleichsanalyse, die ein Excel-Modell und einen PDF-Bewertungsbericht mit impliziten Preisspannen für NVDA, AMD und GOOGL liefert" width="800" />
</p>
<p align="center"><em>Die Fähigkeit zur Vergleichsanalyse liefert ein Excel-Modell und einen PDF-Bericht — mit impliziten Preisspannen aus Multiplikatoren der Vergleichsgruppe.</em></p>
### Multimodale Intelligenz
Der Agent liest nativ Bilder (PNG, JPG, GIF, WebP) und PDFs — die multimodale Middleware fängt Dateilesungen ab, lädt Inhalte aus der Sandbox oder von URLs herunter und fügt sie als Base64 in das Gespräch ein, um eine direkte visuelle Interpretation zu ermöglichen. In MarketView kann das Live-Kerzenchart des Benutzers erfasst und als multimodaler Kontext an den Agenten gesendet werden — die Erfassung umfasst sowohl das Chartbild als auch strukturierte Metadaten (Symbol, Intervall, OHLCV, gleitende Durchschnitte, RSI, 52-Wochen-Spanne), sodass der Agent sowohl das visuelle Muster als auch die zugrunde liegenden Daten analysieren kann.
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/13458/63afd08500cdb33e09e521a0dc0c672eba7ffa7426fa1a3ebd6bd3e351646a4e.png" alt="MarketView mit NVDA-Kerzenchart und KI-gestützter Unterstützungs- und Widerstandsanalyse" width="800" />
</p>
<p align="center"><em>MarketView sendet das Live-Chart zur Echtzeit-Technischen Analyse an den Agenten.</em></p>
### Vom Agenten gezeichnete Chart-Anmerkungen
Bitten Sie den Agenten, das MarketView-Chart zu markieren, und er zeichnet direkt auf der Leinwand — Kursniveaus, Trendlinien, Fibonacci-Retracements, Ereignisabzeichen, Rechtecke und Textmarker. Anmerkungen werden live über SSE gestreamt, bleiben pro Workspace und pro `symbol:timeframe`-Paar bestehen (eine Zeichnung auf `NVDA:1day` bleibt getrennt von `NVDA:1hour`) und werden bei erneuter Verbindung wieder abgespielt. Wenn die Konversation außerhalb von MarketView stattfindet, zeigt das Chat-Transkript eine Mini-Vorschaukarte mit der Anmerkungslegende und einem One-Click-Link zum Live-Chart. Die Chart-Anmerkungsfähigkeit wird automatisch geladen, sobald eine Nachricht von MarketView gesendet wird, so dass der Agent immer weiß, auf welchen Ticker und welchen Zeitrahmen sich „das Chart“ bezieht.
### Automatisierungen
Der Agent kann seine eigenen Aufgaben direkt aus einem Gespräch heraus planen — keine separate Benutzeroberfläche erforderlich. Benutzer können Automatisierungen auch auf der dedizierten Automatisierungsseite mit vollständigem CRUD, Ausführungsverlauf und manuellem Auslöser verwalten. Alle Automatisierungstypen verwenden denselben `AutomationExecutor`, konfigurierbaren Agentenmodus (PTC oder Flash) und automatische Deaktivierung nach aufeinanderfolgenden Fehlern.
**Zeitbasiert** — Standard-Cron-Ausdrücke für wiederkehrende Zeitpläne („diese Analyse jeden Montag um 9:00 Uhr ausführen“) und einmalige Datumszeitplanung für einzelne zukünftige Ausführungen.
**Preisausgelöst** — Legen Sie ein Kursziel oder eine prozentuale Bewegung für eine beliebige Aktie oder einen wichtigen Index fest, und der Agent führt Ihre Anweisungen in dem Moment aus, in dem die Bedingung erfüllt ist. Ein `PriceMonitorService` abonniert eine gemeinsame vorgelagerte WebSocket-Verbindung zu [ginlix-data](https://github.com/ginlix-ai/ginlix-data) für Echtzeit-Ticks (Aktien auf der Echtzeit-Stufe, Indizes auf der verzögerten Stufe). Redis-basierte Deduplizierung verhindert doppelte Auslöser über Serverinstanzen hinweg.
| Bedingung | Beispiel |
| ----------------------------------- | ----------------------------------------------- |
| Kurs über / unter | Auslösen, wenn AAPL $200 überschreitet |
| Prozentuale Veränderung über / unter | Auslösen, wenn SPX sich +2% vom vorherigen Schlusskurs bewegt |
Bedingungen können kombiniert werden (UND-Logik), und jede Preisautomatisierung unterstützt den **Einmalmodus** (einmal auslösen) oder den **wiederkehrenden Modus** mit einer konfigurierbaren Abklingzeit (mindestens 4 Stunden oder standardmäßig einmal pro Handelstag).
> [!NOTE]
> Preisausgelöste Automatisierungen erfordern den Echtzeit-WebSocket-Feed von ginlix-data. Während der Beta ist diese Funktion ausschließlich auf der [gehosteten Plattform](https://ginlix.ai) verfügbar. Eine breitere Unterstützung von WebSocket-Datenquellen ist für zukünftige Versionen geplant.
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/13458/f30f123382354eda92a4e9fcb5ad3bcd9b446f054807e7243f435101f7dd79fa.png" alt="Automatisierungsseite mit Vorlagengalerie und Mag-7-Vor-Gewinn-Zeitplan" width="800" />
</p>
<p align="center"><em>Planen Sie wiederkehrende Forschung — hier werden Mag-7-Analysen vor den Gewinnmitteilungen automatisch vor jedem Bericht ausgeführt.</em></p>
**Agentenarchitektur**```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
Der Kern-Agent läuft auf LangGraph und erzeugt parallele asynchrone Subagenten über ein Task()-Werkzeug. Subagenten führen gleichzeitig mit isolierten Kontextfenstern aus, um Abweichungen in langen Denkketten zu verhindern. Jeder Subagent gibt synthetisierte Ergebnisse an den Hauptagenten zurück, sodass der Orchestrator schlank bleibt. Der Hauptagent kann wahlweise auf das Ergebnis eines Subagenten warten oder andere anstehende Arbeiten fortsetzen. Du kannst in der Benutzeroberfläche (nur Web-Frontend) auch zur Ansicht Subagents wechseln, um ihren Fortschritt in Echtzeit zu sehen.
Über die einfache Weiterleitung hinaus kann der Hauptagent einem noch laufenden Subagenten Folgeanweisungen senden oder einen abgeschlossenen mit vollem Kontext für iterative Verfeinerung wieder aufnehmen. Wenn der Server neu startet, wird der Zustand des Subagenten automatisch aus seinem letzten Prüfpunkt rekonstruiert.
Forschungs-Subagenten laufen parallel über die Rechenkette – die Ergebnisse münden in eine interaktive AI-Compute-Zeitleiste, die NVIDIA, Google, AMD, AWS und den Rest der Branche umfasst.
Der Agent wird mit einem Middleware-Stack ausgeliefert, der Folgendes umfasst:
LoadSkill-Werkzeug, das dem Agenten ermöglicht, Skill-Werkzeugsets bei Bedarf zu entdecken und zu aktivieren, wodurch die Standard-Werkzeugoberfläche schlank bleibt, während spezialisierte Fähigkeiten bei Bedarf verfügbar sindSiehe src/ptc_agent/agent/middleware/ für die vollständige Sammlung.
Hinweis: Einige Middleware-Komponenten sind an die Implementierung in LangChain DeepAgents angelehnt oder von ihr inspiriert.
Der Server streamt alle Agentenaktivitäten über SSE: Textblöcke, Werkzeugaufrufe mit Argumenten und Ergebnissen, Statusaktualisierungen von Subagenten, Dateioperation-Artefakte und Human-in-the-Loop-Unterbrechungen. Jede Agentenentscheidung ist in der Benutzeroberfläche vollständig nachvollziehbar.
Workflows laufen als unabhängige Hintergrundaufgaben, vollständig entkoppelt von der HTTP/SSE-Verbindung. Wenn der Browser-Tab geschlossen wird oder das Netzwerk ausfällt, arbeitet der Agent weiter. Bei einer erneuten Verbindung werden bis zu 150.000 gepufferte Ereignisse abgespielt, sodass der Client genau dort weitermacht, wo er aufgehört hat.
PostgreSQL unterstützt LangGraph-Checkpointing, Konversationsverlauf und Benutzerdaten (Watchlists, Portfolios, Präferenzen), sodass Agentenzustand und Benutzerkontext über Sitzungen hinweg erhalten bleiben. Redis puffert SSE-Ereignisse, sodass Browseraktualisierungen und Netzwerkausfälle keine Nachrichten in der Übertragung verlieren: Der Client stellt die Verbindung automatisch wieder her und spielt sie erneut ab. Benutzerdaten werden dem Agenten als virtuelle JSON-Dateien bereitgestellt, die direkt von der Datenbank unterstützt werden – Lesevorgänge serialisieren Live-Zeilen bei Bedarf und Schreibvorgänge werden in einer einzigen validierten Transaktion ausgeführt, ohne Sandbox-Synchronisations-Roundtrip – während Fähigkeiten über einen manifestbasierten Cache in die Sandbox synchronisiert werden, der nur dann neu hochgeladen wird, wenn sie sich ändern. Siehe die vollständige API-Referenz für Details.
Jede externe Datenquelle, die der Agent berührt, wird aufgezeichnet und sichtbar gemacht. Eine Provenance-Middleware zeichnet jede Websuche, jeden Seitenabruf, jede SEC-Einreichung, jeden Marktdatenaufruf, jeden MCP-Tool-Aufruf und jeden Workspace-Dateilesevorgang auf – einschließlich der von Hintergrund-Subagenten durchgeführten – und gibt ein provenance-Stream-Ereignis pro Quelle aus, von denen keine in den LLM-Kontext gelangt. Die Benutzeroberfläche stellt diese als Bedienfeld „Quellen“ neben jeder Gesprächsrunde dar: Quellen, gruppiert nach Typ, Favicons für Web-Ursprünge und eine Detailansicht mit Anbieter, Zeitstempel, aufgezeichneten Argumenten, einem Inhaltsfingerabdruck und einem Ausschnitt. Ein Umschalter Diese Runde / Alle Quellen zeigt den vollständigen Daten-Footprint über einen gesamten Thread hinweg an, und ein Klick auf eine Datei- oder Notizquelle öffnet diese direkt im Workspace-Dateibedienfeld – eine vollständig prüfbare Spur der Daten hinter jedem Forschungsergebnis.
LangAlpha wendet ein mehrschichtiges Sicherheitsmodell auf Anmeldeinformationen, Codeausführung und benutzerbereitgestellte Geheimnisse an.
Verschlüsselung im Ruhezustand – Alle sensiblen Daten (BYOK-API-Schlüssel, OAuth-Tokens, Vault-Geheimnisse) werden in PostgreSQL mit pgcrypto verschlüsselt. Klartext wird nie in der Datenbank gespeichert.
Erkennung von Anmeldeinformationslecks – Jede Werkzeugausgabe wird gescannt, bevor sie den LLM-Kontext erreicht. Die Middleware löst alle bekannten geheimen Werte (MCP-Server-Schlüssel, Sandbox-Tokens, Vault-Geheimnisse) auf und schwärzt jede Übereinstimmung als [REDACTED:KEY_NAME]. Die gleiche Schwärzung gilt für benutzergerichtete Oberflächen – Dateilesevorgänge und Downloads werden bereinigt, bevor sie den Client erreichen.
Sandbox-Ausführung von Code – Jeder Workspace läuft in einer eigenen Daytona-Cloud-Sandbox mit einem dedizierten Dateisystem und Netzwerkgrenze. Geschützte Pfadwächter verhindern, dass der Agent auf interne Systemverzeichnisse zugreift – sowohl bei Werkzeugeingaben (Abbruch des Aufrufs vor der Ausführung) als auch bei Werkzeugausgaben (Schwärzung durchgesickerter Pfade).
Jeder Workspace verfügt über einen integrierten Secret-Vault zum Speichern von API-Schlüsseln und Anmeldeinformationen, die der Agent während der Codeausführung verwenden kann – nützlich für den Zugriff auf externe Datenquellen (Broker-APIs, externe Datenanbieter usw.) oder zum Erstellen von LLM-gestützten Workflows innerhalb des Workspace. Speichere ein Geheimnis einmal in der Benutzeroberfläche, und es ist über eine einfache Python-API für jede Agentensitzung in diesem Workspace verfügbar:```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
Vault-Geheimnisse erben jede Schutzebene darüber – im Ruhezustand verschlüsselt, aus allen agenten- und menschenbezogenen Ausgaben geschwärzt und vor direktem Dateizugriff geschützt. Nur der Workspace-Besitzer kann Geheimnisse erstellen, aktualisieren, anzeigen oder löschen.
## Frontend
Das Web-UI ist mehr als eine Chat-Oberfläche – es ist eine vollwertige Forschungs-Workbench:
- **Anpassbares Dashboard** – Starten Sie mit einem vorgegebenen Layout (Morning Brief, Trader, Researcher, Agent Desk, Trader (TradingView) oder Portfolio Steward) oder bauen Sie Ihr eigenes aus einer Widget-Galerie, die Märkte, Intelligenz, persönlichen Kontext, Agentenoberflächen und Workspace-Verknüpfungen abdeckt
- **Inline-Finanzcharts** – Tool-Ergebnisse werden als interaktive Sparklines, Balkendiagramme und Übersichtskarten direkt im Chat-Thread dargestellt
- **Inline-HTML-Widgets** – Der Agent kann interaktive HTML/SVG-Visualisierungen (Chart.js-Diagramme, Metrikkarten, Datentabellen) direkt im Chat über das `ShowWidget`-Tool rendern, mit themenbewusstem Styling und sandboxed Iframes
- **HTML-Forschungsberichte** – Der Agent schreibt vollständige, eigenständige HTML-Dokumente nach `results/`, die mit echten Browser-Semantiken bedient werden (Skripte laufen, CDN-Bibliotheken werden geladen, relative Assets werden aufgelöst), im Vollbildmodus anzeigbar und als PDF exportierbar – unterschieden von Inline-Widgets und Live-Dashboards
- **Multi-Format-Dateibetrachter** – PDF (paginiert, zoombar), Excel, CSV, HTML-Vorschau und Quellcode (Monaco-Editor mit Diff-Modus) – alles inline ohne Download anzeigbar
- **TradingView-Charting** – Vollständiges TradingView Advanced Chart mit Zeichenwerkzeugen, Indikatoren und professionellem Candlestick-Styling
- **Live-Marktdaten** – Echtzeit-WebSocket-Preis-Feed mit 1-Sekunden-Tick-Auflösung (US-Aktien), Darstellung der verlängerten Handelszeiten und mehreren gleitenden Durchschnittsüberlagerungen
- **Agentengezeichnete Diagrammanmerkungen** – Der Agent markiert das MarketView-Diagramm mit Preisniveaus, Trendlinien, Fibonacci-Retracements und Ereignis-Badges, gespeichert pro `symbol:timeframe` und inline im Chat als Vorschau angezeigt
- **Teilbare Unterhaltungen** – Teilen mit einem Klick mit granularen Berechtigungen (Dateibrowsing- und Download-Zugriff umschaltbar), Wiedergabe über öffentliche URL
- **Echtzeit-Subagenten-Überwachung** – Sehen Sie die Streaming-Ausgabe und Tool-Aufrufe jedes Hintergrundtasks live und senden Sie Anweisungen während der Ausführung
- **Quellenherkunftsbereich** – Jede Runde listet die externen Quellen auf, auf die der Agent zugegriffen hat (Web, SEC-Einreichungen, Marktdaten, MCP-Tools, Dateien) mit Favicons, Inhalts-Fingerabdrücken und einem thread-weiten Bereichsumschalter
- **Automatisierungen** – CRUD-Verwaltung mit Cron-Builder, Ausführungshistorie, manuellem Auslöser und preisgesteuerten Automatisierungen, die ausgelöst werden, wenn eine Aktie oder ein Index eine Echtzeit-Preisbedingung erreicht
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/13458/ce010ef17d384f0b0989047d8257ccf2314889610f28b709b74516f6dbde3f08.png" alt="Dashboard mit Marktindex-Streifen, Marktnachrichten-Kurzübersicht und Watchlist – mit einer in den Agent-Chat als Kontext eingefügten Nachrichtenübersicht" width="800" />
</p>
<p align="center"><em>Das Dashboard zeigt Marktindizes, eine personalisierte Kurzübersicht und Ihre Watchlist – jede Kachel kann als Chat-Kontext an den Agenten angeheftet werden, um einen Forschungsthread zu starten.</em></p>
<table align="center">
<tr>
<td width="50%">
<img src="https://assets.kitploit.com/production/public/readmes/13458/df356baaa5170b2ee01c7f1ade44b5c72d041c6b6c677165beea5364aa868a37.png" alt="Dashboard-Vorlagenauswahl mit Morning Brief, Agent Desk, Researcher und Trader Templates" />
</td>
<td width="50%">
<img src="https://assets.kitploit.com/production/public/readmes/13458/a3bef617f61ea5230698406f0483677258a4a721d565dc5ff5f5fc0a26b91733.png" alt="Dashboard-Widget-Galerie mit Kategorien für Märkte, Intelligenz, persönlich, Agent und Workspace" />
</td>
</tr>
<tr>
<td align="center"><em>Starten Sie mit einer kuratierten Vorlage – Morning Brief, Agent Desk, Researcher oder Trader.</em></td>
<td align="center"><em>Oder stellen Sie Ihre eigene aus der Widget-Galerie zusammen – Märkte, Intelligenz, persönlich, Agent und Workspace.</em></td>
</tr>
</table>
## Kanalintegrationen
Nutzen Sie LangAlpha aus den Tools, mit denen Sie bereits arbeiten. Das Integrations-Gateway leitet Nachrichten zwischen Messaging-Plattformen und dem Kern-Agenten weiter, wobei jeder Kanal Antworten in seinem nativen Format erhält. Kanalintegrationen sind ausschließlich in unserem gehosteten Dienst mit Ein-Klick-Einrichtung und schneller Kontobindung verfügbar – besuchen Sie [Integrationen](https://ginlix.ai/account/integrations), um loszulegen.
| Feature | Slack | Discord | Feishu | Telegram | WhatsApp |
| ------------------------------------- | ----- | ------- | ------ | -------- | -------- |
| Rich Text / Markdown | ✅ | ✅ | ✅ | ✅ | 🔜 |
| Datei-Upload (Benutzer → Agent) | ✅ | ✅ | ✅ | ❌ | ➖ |
| Datei-Download (Agent → Benutzer) | ✅ | ✅ | ✅ | ❌ | ➖ |
| Bilddarstellung | ✅ | ✅ | ✅ | ❌ | ➖ |
| Human-in-the-Loop-Unterbrechungen | ✅ | ✅ | ✅ | ⚠️ | ➖ |
| Subagenten-Verfolgung | ✅ | ✅ | ✅ | ✅ | 🔜 |
| Workspace-/Modellauswahl | ✅ | ✅ | ✅ | ✅ | 🔜 |
| Automatisierungszustellung (ausgehend) | ✅ | ✅ | ❌ | ➖ | ➖ |
| Vereinfachte Kontoverbindung | ✅ | ✅ | ❌ | ❌ | ➖ |
| Slash-Befehle | ✅ | ✅ | ✅ | ✅ | ➖ |
Slack und Discord bieten native Kanäle und Thread-Ebenen-Gruppen, die sich natürlich auf LangAlpha-Workspaces und Threads abbilden – der Kontext wird nativ verwaltet. Telegram und WhatsApp fehlen diese Grundelemente, daher verwenden sie einen vereinfachten Orchestrierungsmodus. Feishu bietet vollständige Nachrichtenübermittlung und eine kartenbasierte Benutzeroberfläche, OAuth folgt bald. Telegram hat teilweise Unterstützung, vollständige Abdeckung folgt bald. WhatsApp ist geplant.
## Erste Schritte
> [!TIP]
> **Keine Lust auf Self-Hosting?** Probieren Sie die [gehostete Version](https://ginlix.ai) – sie enthält komplette Dateninfrastruktur (FMP, Echtzeit-Marktdaten, Cloud-Sandboxes) von Haus aus. Bringen Sie Ihren eigenen LLM-Schlüssel (BYOK) mit und beginnen Sie sofort ohne Einrichtung.
Sie können LangAlpha mit **nichts als Docker** starten – keine API-Schlüssel für Daten, keine Cloud-Sandbox. Nur Docker für die Infrastruktur und Ihr eigenes LLM-Abonnement für das KI-Modell.```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
/docs)curl http://localhost:8000/healthFür das volle Erlebnis fordert der Assistent Sie nach optionalen Schlüsseln — oder fügen Sie sie später in .env hinzu:
[!NOTE] Ohne externe Dienstschlüssel erhalten Sie eine funktionale, aber eingeschränkte Erfahrung: Yahoo Finance bietet kostenlose Kursverläufe, Fundamentaldaten, Gewinne und Analystendaten, aber keine Echtzeitkurse, Intraday-Tick-Daten, makroökonomische Daten oder Optionsanalysen. Die Docker-Sandbox ersetzt die Daytona-Cloud-Sandboxes — vollständige PTC-Codeausführung funktioniert, jedoch mit herabgestufter Sicherheit und Isolation. Fügen Sie Schlüssel schrittweise hinzu, um weitere Funktionen freizuschalten.
Führen Sie make help aus, um alle verfügbaren Befehle zu sehen. Für die manuelle Einrichtung ohne Docker siehe CONTRIBUTING.md.
http://localhost:8000/docs, wenn der Server läuftFür Partnerschaften, Kooperationen oder allgemeine Anfragen wenden Sie sich an [email protected].
LangAlpha ist ein Forschungswerkzeug, kein Finanzberater. Nichts, was von dieser Software produziert wird, stellt eine Anlageberatung, eine Empfehlung oder eine Aufforderung zum Kauf oder Verkauf von Wertpapieren dar. Alle Ausgaben dienen nur zu Informations- und Bildungszwecken. Nutzung auf eigene Verantwortung — führen Sie immer Ihre eigene Sorgfaltspflicht durch, bevor Sie Anlageentscheidungen treffen.
Apache License 2.0
| Schlüssel | Was es freischaltet |
|---|
DAYTONA_API_KEY | Dauerhafte Cloud-Sandboxes mit Cross-Session-Workspace-Unterstützung (daytona.io) |
FMP_API_KEY | Hochwertige Fundamentaldaten, Makrodaten, SEC-Einreichungen, Optionen (kostenlose Stufe verfügbar) |
SERPER_API_KEY oder TAVILY_API_KEY | Websuche |
LANGSMITH_API_KEY | LangSmith-Tracing für LangGraph-Ausführungen |
OTEL_EXPORTER_OTLP_ENDPOINT | OpenTelemetry-Traces und Metriken an jedes OTLP-Backend (Jaeger, Grafana Tempo, Datadog, Honeycomb, ...) |
SANDBOX_PROVIDER | Überschreibt den Sandbox-Anbieter (daytona oder docker); wird automatisch aus DAYTONA_API_KEY erkannt, falls nicht gesetzt |