简体中文 · English · 日本語 · 한국어 · Français · Deutsch · Español · Tiếng Việt
Trading multi-agents par LLM, à la barre. Treize analystes IA recherchent, débattent, testent le risque sous stress et convergent vers une décision de trading unique et traçable — diffusée en direct dans votre navigateur.
Un projet indépendant, nativement TypeScript : un poste de trading orienté navigateur et entièrement observable, bâti sur une API NestJS autonome + une SPA React + Vite — streaming, traçable et indépendant de tout fournisseur.
Passez à l'acte sur chaque décision et récupérez 20%+ de vos frais de trading. Achetez les mêmes actions américaines (NVDA, AAPL, …) en tant qu'actions tokenisées sur Binance / OKX / Gate, réglées en crypto — inscrivez-vous avec notre code d'invitation et 20%+ des frais de chaque transaction sont automatiquement reversés sur votre compte d'échange sous environ une heure :
| Plateforme | Code d'invitation | Inscription |
|---|---|---|
| Binance | FANWO20 |
https://www.binance.com/join?ref=FANWO20 |
| OKX | FANGEIWO |
https://www.okx.com/join/FANGEIWO |
| Gate | FANGEIWO |
https://www.gate.io/share/FANGEIWO |
Ristournes sur les frais propulsées par notre sponsor rebateto.me. Tous les détails, les liens miroir pour la Chine continentale et comment en profiter → Passer la décision à l'acte. Liens de parrainage — ils soutiennent ce projet sans coût supplémentaire pour vous. Pas un conseil en investissement ; les actions tokenisées et la crypto comportent des risques.
HelmAgents modélise toute une société de trading avec des analystes, des chercheurs, un trader, des analystes de risque et un manager de portefeuille propulsés par LLM, et les fait converger vers une décision de trading à 5 niveaux étayée par un raisonnement complet. Mais il ne s'arrête pas à un script de recherche en CLI — c'est un véritable produit, observable, partageable, indépendant du fournisseur et conçu pour ne cesser de s'améliorer :
- Voyez-le réfléchir. Une chronologie en direct et en streaming (SSE) montre chaque analyste et chaque tour de débat à mesure qu'il se termine — fini de fixer un terminal jusqu'à la fin.
- Aucun Python requis. Une API NestJS héberge le moteur ; une SPA React/Vite le pilote. Configurez une exécution dans le navigateur, appuyez sur un bouton, lisez la décision.
- Apportez votre propre modèle. Un registre de 20 fournisseurs (famille compatible OpenAI + Anthropic/Google natifs) signifie que vous n'êtes pas enfermé chez un seul fournisseur.
- Des décisions traçables et rejouables. Chaque exécution est persistée avec l'intégralité de son raisonnement (rapports d'analystes, débats haussier/baissier + risque, décision finale), et peut être exportée en Markdown.
- Passez à l'acte — et payez moins. Tradez les mêmes valeurs en tant
qu'actions tokenisées sur Binance / OKX / Gate, et inscrivez-vous avec le
code d'invitation
FANWO20(Binance) ouFANGEIWO(OKX / Gate) : 20%+ des frais sont reversés sur votre compte sous ~1 h après chaque transaction. Voir Passer la décision à l'acte. - Sûr par défaut. Les clés API sont chiffrées au repos (AES-256-GCM) ; les données d'exécution restent sur votre machine ; rien n'est renvoyé ailleurs.
⚠️ Pas un conseil financier. HelmAgents produit une analyse générée par IA à des fins de recherche et d'éducation uniquement. Elle peut se tromper. Vérifiez de manière indépendante ; le trading et les actifs crypto comportent des risques, y compris la perte du capital.
À partir d'un (ticker, tradeDate), un pipeline à 13 agents produit une décision
de trading à 5 niveaux (Acheter / Surpondérer / Conserver / Sous-pondérer /
Vendre) avec une analyse de soutien complète :
- Analystes — Marché · Sentiment · Actualités · Fondamentaux collectent les données.
- Débat d'investissement — les chercheurs Haussier ⇄ Baissier débattent ; un Manager de recherche tranche pour en faire un plan d'investissement structuré.
- Trader — traduit le plan en une proposition d'achat/conservation/vente avec entrée, stop-loss et dimensionnement.
- Débat de risque — les analystes Agressif / Conservateur / Neutre le testent sous stress.
- Manager de portefeuille — synthétise le tout en la décision finale.
Le pipeline s'exécute comme un StateGraph LangGraph.js et diffuse des
événements nodeEnd vers le navigateur à mesure que chaque agent termine. Les
analystes pré-récupèrent leurs données en ligne (sortie équivalente à la boucle
d'appels d'outils originale, sans les allers-retours supplémentaires), et chaque
rapport, transcription de débat et la décision finale sont capturés dans l'état
de l'exécution.
Monorepo pnpm avec un frontend et un backend séparés. Le moteur et toute la logique métier vivent dans des packages indépendants du framework ; l'API NestJS les héberge, et la SPA React/Vite parle à l'API via HTTP (typée par un package de contrats partagé).
apps/
api NestJS (ESM) — héberge le moteur ; endpoints REST sous /api (auth incl.)
web React 19 + Vite SPA — react-router, react-i18next (8 locales)
packages/
contracts shared HTTP DTO types (pure types — no runtime) for api ↔ web
core createEngine() / propagate() / streamEvents() — single entry point
workflow LangGraph.js StateGraph: topology + conditional debate/risk routing
agents 13 agent factories (analysts/researchers/trader/risk/managers)
dataflows vendor routing (routeToVendor) + error hierarchy + yfinance
llm 20-provider registry + OpenAI-compatible client
config DEFAULT_CONFIG + three-layer merge (env → runtime)
persistence stockage SQLite (node:sqlite) — comptes, jetons d'auth, clés/paramètres/exécutions/mémoire par utilisateur
shared Zod schemas, AgentState, rating, symbol utilsFlux de données : apps/web (SPA) → HTTP /api/* → apps/api (NestJS) →
core.propagate() → workflow.buildGraph() → agents.*
(appellent dataflows.routeToVendor) + llm.createLlmClient. La chronologie
d'exécution est diffusée depuis l'API en NDJSON.
Deux manières en un clic pour démarrer. Les deux lancent l'application en mode normal — ouvrez ensuite l'application, créez un compte (inscription ouverte), puis allez dans Settings, choisissez un fournisseur LLM et collez votre clé API (stockée chiffrée par compte). Pas encore de clé ? Voir l'option DEMO sous Utilisation. Nécessite Node ≥ 22.
Nécessite Node.js ≥ 22 (pnpm est configuré automatiquement via corepack).
git clone <repo-url>
cd tradingagents-web
./scripts/install.shLe script installe les dépendances, construit le tout et démarre l'API (:5171)
- la SPA web (
:5170). Ouvrez http://localhost:5170.
Nécessite Docker (avec Compose). Aucun Node/pnpm requis.
git clone <repo-url>
cd tradingagents-web
docker compose up --buildCela construit et exécute deux conteneurs — l'API NestJS et une SPA servie par
nginx qui relaie /api vers elle en reverse-proxy. Ouvrez
http://localhost:8080. Les exécutions, paramètres et clés chiffrées
persistent dans le volume helmagents-store. Pour essayer sans clé, définissez
DEMO_LLM=1 pour le service api dans docker-compose.yml.
Installation manuelle (pour le développement) :
pnpm installpuispnpm dev. Sipnpm installavertit au sujet de scripts de build ignorés (esbuild / msw / sharp / @swc/core), passez l'entrée correspondante àtruesousallowBuilds:danspnpm-workspace.yamlou exécutezpnpm approve-builds.
L'application prend en charge 8 langues : /en /zh /ja /ko /fr /de /es /vi.
Le chemin nu / redirige vers /en.
DEMO_LLM=1 pnpm devpnpm dev démarre les deux apps via Turbo : l'API NestJS sur
http://localhost:5171 et la SPA Vite sur http://localhost:5170 (le serveur de
dev proxifie /api → l'API). DEMO_LLM=1 pilote le pipeline complet à 13
agents avec un LLM stub déterministe — streaming, persistance, annulation et
réflexion s'exécutent tous pour de vrai ; seule la génération de texte finale est
stubbée. Parfait pour les démos, le travail sur l'UI et la vérification locale.
Ouvrez http://localhost:5170/en, allez sur /analyze, configurez une
exécution et appuyez sur Run analysis.
Configurez la clé API d'un fournisseur — soit dans /settings (chiffrée au
repos), soit via des variables d'environnement (voir
.env.example) :
export OPENAI_API_KEY=sk-...
# optional overrides
export TRADINGAGENTS_LLM_PROVIDER=openai
export TRADINGAGENTS_DEEP_THINK_LLM=gpt-5.5
export TRADINGAGENTS_QUICK_THINK_LLM=gpt-5.4-mini
pnpm devLancez ensuite une analyse sur /analyze. La langue du rapport suit la locale
de l'URL (ex. /zh/analyze → rapport en chinois). En production, la SPA et l'API
se déploient séparément — pointez la SPA vers l'API avec VITE_API_BASE_URL et
autorisez son origine via CORS_ORIGIN (voir .env.example).
| Chemin | Quoi |
|---|---|
/<locale> |
Accueil — le pipeline |
/<locale>/analyze |
Configurer & diffuser une analyse |
/<locale>/history |
Exécutions passées |
/<locale>/runs/<id> |
Détail d'exécution + export Markdown |
/<locale>/settings |
Fournisseur / modèles / sources de données / clés API |
Guide complet d'exécution (mode DEMO, LLM réel, dépannage) :
docs/RUNNING.md
Passer la décision à l'acte — trader des actions américaines tokenisées et économiser 20%+ sur les frais
HelmAgents ne s'arrête pas à une notation — il vous aide à passer à l'acte et à trader moins cher. Les mêmes actions américaines (NVDA, AAPL, …) se négocient en tant qu'actions tokenisées sur les grandes plateformes d'échange crypto, achetées et vendues 24h/24 en crypto, sans courtier traditionnel. L'application met cela en avant sur la page d'accueil et sur chaque page de détail d'exécution (la carte « Acheter des actions tokenisées »).
💸 Inscrivez-vous avec les codes d'invitation de HelmAgents —
FANWO20sur Binance,FANGEIWOsur OKX / Gate — et 20%+ des frais de chaque transaction sont automatiquement reversés sur votre compte d'échange sous environ une heure après chaque transaction. Les frais de trading sont le seul coût que vous maîtrisez entièrement, et cette ristourne est ce qui permet à HelmAgents de rester gratuit et maintenu — utiliser les liens ci-dessous soutient donc directement le projet, sans coût supplémentaire pour vous.
| Plateforme | Lien d'inscription | Code d'invitation | Ristourne sur les frais |
|---|---|---|---|
Binance (binance.com) |
https://www.binance.com/join?ref=FANWO20 | FANWO20 |
20%+ reversés |
OKX (okx.com) |
https://www.okx.com/join/FANGEIWO | FANGEIWO |
20%+ reversés |
Gate (gate.io) |
https://www.gate.io/share/FANGEIWO | FANGEIWO |
20%+ reversés |
- Ouvrez un lien d'inscription ci-dessus (ou saisissez manuellement le code
d'invitation de votre plateforme lors de l'inscription —
FANWO20pour Binance,FANGEIWOpour OKX / Gate). La ristourne est liée au compte à l'inscription, alors utilisez le code dès le départ — il ne peut généralement pas être ajouté à un compte existant. - Terminez l'inscription / le KYC de la plateforme et déposez des cryptomonnaies.
- Tradez — recherchez le symbole tokenisé de l'action et agissez selon la notation des agents (Acheter / Surpondérer / Conserver / Sous-pondérer / Vendre). 20%+ des frais sont ensuite reversés automatiquement sur votre compte d'échange, sous environ une heure après chaque transaction — il n'y a rien d'autre à faire.
Dans l'app, saisissez le code de parrainage à l'inscription (
FANWO20Binance ·FANGEIWOOKX/Gate) — facile à oublier, et impossible à ajouter ensuite.Un compte par pièce d'identité et par plateforme. Déjà inscrit ? Un proche peut s'inscrire avec le code pour obtenir la remise.
Voir comment fonctionne la ristourne → pour les taux actuels par plateforme et les conditions complètes. Dans l'application, les cartes de plateformes récupèrent aussi des liens d'invitation en direct et exposent des liens de secours/miroir (sous « Afficher les liens de secours ») lorsque le domaine officiel est bloqué par DNS (par ex. en Chine continentale).
Divulgation & risque. Les liens d'inscription ci-dessus sont des liens de parrainage — l'auteur reçoit une ristourne sur les frais lorsque vous vous inscrivez par leur intermédiaire, sans coût supplémentaire pour vous (vous récupérez 20%+ de vos frais ; la plateforme partage une partie de sa commission). Leur utilisation est entièrement facultative. Les actions tokenisées et la crypto comportent des risques y compris la perte du capital, ne sont pas disponibles dans toutes les juridictions, et la sortie de HelmAgents est une analyse générée par IA à des fins de recherche/éducation uniquement — pas un conseil en investissement. Vérifiez de manière indépendante et respectez les lois en vigueur dans votre pays ainsi que les conditions de chaque plateforme.
L'application est multi-tenant : chaque utilisateur est un compte isolé.
L'inscription est ouverte (créez un compte avec e-mail + mot de passe) et seuls
les utilisateurs authentifiés peuvent configurer des fournisseurs/clés LLM ou
lancer des analyses — chaque endpoint /api/*, hormis health, docs et
/api/auth/*, exige un jeton Bearer. Les clés API, paramètres, exécutions et la
mémoire de réflexion de chaque utilisateur sont stockés séparément (SQLite,
cloisonnés par identifiant d'utilisateur) ; les clés d'un utilisateur sont
injectées dans son propre moteur au moment de l'exécution (jamais dans
l'environnement global), de sorte que les comptes ne voient jamais les données des
autres. L'API de jetons (accès JWT + refresh à rotation) est indépendante du
client — la SPA React et une future application native la partagent.
Env :
| Var | Défaut | Rôle |
|---|---|---|
AUTH_JWT_SECRET |
dev placeholder | Secret HMAC pour les jetons d'accès — définissez une valeur forte en production |
AUTH_ACCESS_TTL_SEC |
900 |
Durée de vie du jeton d'accès |
AUTH_REFRESH_TTL_SEC |
2592000 |
Durée de vie du jeton de refresh |
AUTH_BOOTSTRAP_EMAIL / AUTH_BOOTSTRAP_PASSWORD |
— | Optionnel : amorcer un premier compte au démarrage |
Nécessite Node ≥ 22 (utilise le
node:sqliteintégré).
Le moteur résout la configuration avec la même fusion à trois couches que
l'original :
DEFAULT_CONFIG → variables d'env TRADINGAGENTS_* → surcharges d'exécution (la page Paramètres).
Voir packages/config/src/default-config.ts
pour la liste complète des clés et
packages/llm/src/api-key-env.ts pour la
variable de clé de chaque fournisseur.
pnpm install
pnpm dev # start the API (NestJS) + SPA (Vite) together via Turbo
pnpm test # run all package + app tests (black-box TDD)
pnpm typecheck # tsc --noEmit across the workspace
pnpm build # build every package + both apps
pnpm --filter api dev # API only (nest start --watch, :5171)
pnpm --filter web dev # SPA only (vite, :5170)
pnpm --filter <pkg> test # one packageLes contributions suivent le TDD en boîte noire (Red → Green → Refactor) et
maintiennent la parité des clés sur les 8 locales. Voir
CONTRIBUTING.md pour l'installation, les conventions et le
style de commit. La CI (.github/workflows/ci.yml) exécute typecheck, test et
build à chaque push et pull request.
Phases 0–4 terminées, plus une séparation frontend/backend (API NestJS +
SPA Vite). Le moteur exécute le pipeline complet à 13 agents de bout en bout avec
streaming, persistance, paramètres et réflexion. Tous les tests passent et
pnpm build est propre. Voir les spécifications de conception sous
docs/superpowers/specs/.
HelmAgents a été inspiré par TradingAgents de Tauric Research (Apache-2.0) — c'est sa conception multi-agents de décision de trading qui a fait naître ce projet. HelmAgents est une œuvre indépendante (ce n'est pas un portage) qui réinvente cette idée en TypeScript et vise à aller plus loin ; l'attribution au projet amont est conservée avec gratitude dans NOTICE. L'article original : arXiv 2412.20138. Construit avec NestJS, React + Vite, LangGraph.js, et i18next.
Sous licence Apache License, Version 2.0. HelmAgents a été inspiré par TradingAgents (également Apache-2.0) ; l'attribution au projet amont est conservée dans NOTICE. Voir LICENSE pour les conditions complètes.
En contribuant, vous acceptez que vos contributions soient sous licence Apache-2.0 et que vous suivez le Code de conduite. Pour signaler un problème de sécurité, voir SECURITY.md.