Modèle / jeu de données
simonlin1212/Vibe-Research avatar
simonlin1212/Vibe-Research

Vibe-Research : un poste de travail local pour la recherche actions, piloté par votre propre agent

Vibe-Research: Your Personal Trading Research Agent · A股/美股/港股 的个人投研 Agent:每日复盘、资讯雷达、个股数据、板块中心、我的持仓、研究记录、回测。Vibe-Research 把数据和功能配齐,由你自己的 Agent 驱动投资研究。基于开源的 Codex Harness 打造。

2 492 étoiles507 forksTypeScriptMIT

En bref

De quoi s’agit-il ?
Le projet assemble données de marché, recherche en six phases et backtest dans une interface locale, puis laisse Codex, Claude Code ou WorkBuddy faire le raisonnement. La valeur tient surtout à la traçabilité des preuves, pas à l'automatisation du jugement.
À qui s’adresse-t-il ?
Vibe-Research convient à un développeur ou un analyste isolé qui travaille déjà avec un abonnement Codex, Claude Code ou WorkBuddy et qui veut garder ses données sur sa machine. Il ne convient pas à quelqu'un qui cherche un service hébergé, un flux de données institutionnel ou une exécution d'ordres.
Puis-je l’utiliser commercialement ?
Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 4 jours.
En quel langage est-il écrit ?
Principalement TypeScript, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Le problème visé : un agent de recherche qui ne peut pas inventer ses chiffres

Un LLM branché sur des questions boursières produit facilement une réponse fluide et fausse. Le README du projet attaque ce point de front : lors d'une recherche en six phases, chaque donnée clé indisponible fait basculer le statut en incomplete ou failed, et le système refuse explicitement de remplir avec une valeur ancienne ou devinée. C'est la promesse centrale, et elle est plus étroite qu'elle n'en a l'air.

Le public visé est précis : quelqu'un qui suit les marchés A股, américains et hongkongais, qui possède déjà un abonnement Codex, Claude Code ou WorkBuddy, et qui accepte de faire tourner une interface web locale sur sa propre machine. Le README insiste sur le fait que rien n'est téléversé vers un site : le navigateur sert d'affichage, l'API et l'agent restent locaux. Pour un analyste indépendant ou un développeur curieux, c'est un argument concret. Pour un desk qui a besoin d'un flux temps réel garanti et d'une piste d'audit réglementaire, ce n'est pas le bon outil, et le projet ne prétend pas le contraire.

Deux modes, un interrupteur, et une séparation nette entre conversation et outillage

L'architecture visible dans le README repose sur une distinction que beaucoup de produits similaires ignorent : le mode Agent est désactivé par défaut. L'interrupteur « 开启Agent » se trouve en haut à gauche et se synchronise avec la page de réglages. En mode conversation ordinaire, l'historique est conservé mais aucun outil n'est appelé. En mode Agent, le contexte et l'état des tâches sont maintenus, les outils locaux de données, de calcul et de recherche deviennent disponibles, et la progression, la chaîne de preuves et les états d'échec sont persistés.

Le point technique intéressant concerne les moteurs. Le runtime Codex est fourni par le OpenAI Codex Harness, que le projet embarque via les dépendances : le README précise qu'aucune installation globale de Codex n'est nécessaire, et que la branche de développement est verrouillée sur la version 0.153.4. Les abonnements Claude.ai et WorkBuddy passent par leurs CLI respectives. Pour ces deux derniers, le projet indique qu'en phase de recherche les outils internes de l'agent sont désactivés au profit de cinq outils MCP contrôlés par Vibe-Research, et qu'il n'y a pas de bascule silencieuse vers Codex. C'est une contrainte d'architecture réelle : l'agent ne peut pas sortir du périmètre d'outils défini par le produit pendant la recherche.

Ce qu'une recherche laisse derrière elle : six fichiers, pas un paragraphe

La sortie d'une recherche en six phases n'est pas un texte unique. Le README énumère report.md pour le rapport final, evidence.json pour les preuves avec source, période de référence et citation originale, calculations.json pour les entrées, fonctions et graphe de dépendances des calculs dérivés, conflicts.json pour les contradictions entre sources, manifest.json pour le modèle, la version, la phase, le statut et la liste d'exécution, et viewer.html pour consulter le tout dans un navigateur.

Le fichier conflicts.json mérite qu'on s'y arrête. Le projet choisit de ne pas arbitrer silencieusement entre deux sources divergentes. C'est un choix de conception défendable pour la recherche, mais il déplace le travail vers l'utilisateur : quelqu'un doit lire ces conflits et décider. Rien dans la documentation ne décrit une interface de résolution automatique.

Le même principe s'applique à l'annulation. On peut demander l'arrêt d'une recherche en cours, et les phases déjà terminées sont conservées. La page distingue trois états : demande d'arrêt envoyée, arrêt confirmé, et échec de confirmation. Le README précise qu'envoyer une requête ne signifie pas que le processus d'arrière-plan s'est arrêté. Cette honnêteté sur l'état réel du système est rare et rend le comportement prévisible.

Mise en route : deux scripts, un port, et une vérification Node qui bloque tout

Le parcours est identique sur les trois systèmes, à la syntaxe près. Sous Windows, le README donne scripts\setup-windows.cmd puis scripts\start.cmd. Sous macOS et Linux, scripts/setup puis scripts/start. Le premier crée un environnement .venv, installe les dépendances Node et Python, initialise les répertoires privés du produit et lance un diagnostic. Le second vérifie l'installation et le port, démarre l'API locale et l'interface, puis ouvre http://127.0.0.1:5930 une fois les deux confirmés disponibles. Le README note qu'il n'y a plus besoin de deux terminaux séparés, contrairement à la version publique antérieure.

Le prérequis qui pose le plus de problèmes est Node. Il faut Node.js 22.18 minimum, avec 24 LTS recommandé, et surtout une build qui active le support TypeScript. La commande de contrôle est node -p process.features.typescript, qui doit renvoyer strip ou transform. Les paquets Node compilés par certaines distributions Linux désactivent cette option, et le lancement ou les tests échouent alors avec ERR_UNKNOWN_FILE_EXTENSION ".ts" ou ERR_NO_TYPESCRIPT. npm test effectue cette vérification en amont. Python 3.11 minimum est requis, 3.12 étant la version vérifiée.

Côté connexion, la page d'accueil propose un test rapide pour Codex, Claude Code et WorkBuddy déjà connectés, ou renvoie vers les réglages pour une configuration par clé API. Qwen Code et DeepSeek CLI restent dans cette seconde catégorie. Une nouvelle connexion laisse l'Agent désactivé.

Import de portefeuille : le projet refuse d'écrire à votre place

La fonction de suivi des positions accepte la saisie manuelle de codes A股, américains et hongkongais, avec sauvegarde locale et rafraîchissement des cours. Elle accepte aussi des captures d'écran ou des tableaux, mais uniquement pour produire un brouillon. Le README est explicite : la transcription ne remplit jamais le registre automatiquement, une vérification humaine puis une confirmation sont nécessaires.

La conséquence pratique est double. D'abord, les images ou tableaux sélectionnés sont envoyés à la source IA actuellement configurée : il faut retirer les informations sensibles sans rapport avant de valider. Ensuite, les fichiers de transcription temporaires sont supprimés après succès, échec ou annulation, mais cette suppression ne concerne que la copie locale, pas ce que le fournisseur de modèle a déjà reçu. Le projet le dit sans détour, ce qui vaut mieux qu'une promesse de confidentialité vague.

Cette prudence a un coût : la fonction est plus lente qu'un import automatique. Elle est aussi plus sûre, puisque le registre local ne peut pas être corrompu par une lecture erronée d'image.

Ce que le projet ne fait pas, et l'alternative évidente

Le README consacre une section entière aux limites actuelles, et il faut la lire avant de cloner. L'onglet backtest ne propose qu'une entrée par dialogue avec l'agent : si les informations manquent, l'agent pose des questions complémentaires avant d'appeler l'outil de backtest réel. Il n'y a pas de formulaire de paramétrage direct. Le client Mac a été retiré de cette version source, et les données de l'ancien client ne migrent pas automatiquement vers l'espace de travail source. Le README demande de ne pas supprimer ~/.vibe-research-desktop et de ne pas le committer.

La différence avec une plateforme de backtest classique, du type moteur Python avec API de données et exécution par lots, est structurelle. Ici, la stratégie passe par un agent conversationnel qui doit d'abord comprendre la demande, puis appeler des outils. On gagne en souplesse d'expression et en traçabilité des preuves. On perd en reproductibilité stricte et en débit : rien n'indique qu'on puisse lancer cent variantes de paramètres en parallèle. Pour une exploration ponctuelle ou une revue de thèse d'investissement, l'approche se tient. Pour du balayage de paramètres à grande échelle, elle est mal adaptée et un cadre de backtest classique reste préférable.

Autre point : les abonnements passent par les CLI correspondantes, qui doivent être démarrées, et le README précise qu'aucun temps de réponse fixe n'est garanti.

Maintenance, licence et ce qu'il faut vérifier avant de s'engager

Le dépôt est publié sous licence MIT, ce qui autorise la modification et la redistribution avec conservation de la mention de licence. Rien dans le matériel fourni ne mentionne de clause supplémentaire, de marque déposée à respecter dans une redistribution, ni de conditions liées aux données de marché. C'est un point à éclaircir de votre côté : la licence couvre le code, pas nécessairement les sources de données que le produit interroge.

Le rythme de publication est soutenu. Trois versions sont listées pour septembre 2026, dont la v1.0.4 qui corrige un échec total des conversations et du bouton « 测试并保存 » en présence d'une configuration MCP globale, et la v1.0.3 qui ajuste la récupération de documents selon l'intention et précise l'exigence de runtime Node. Ces correctifs touchent des chemins d'exécution centraux. Un utilisateur qui épingle une version ancienne s'expose à ces bugs.

La version source annoncée est v1.2.0, construite sur la v1.1.0 publiée, avec le client Mac retiré et un périmètre réduit à la source plus l'espace de travail navigateur. Le README renvoie à docs/source-delivery.md pour le détail du retrait. La charge de maintenance repose donc sur vous : mise à jour du dépôt, exécution de scripts/setup, et vérification que votre build Node reste compatible. Le projet ne fournit pas de canal de mise à jour automatique pour cette version source.

Conclusion éditoriale

Vibe-Research convient à un développeur ou un analyste isolé qui travaille déjà avec un abonnement Codex, Claude Code ou WorkBuddy et qui veut garder ses données sur sa machine. Il ne convient pas à quelqu'un qui cherche un service hébergé, un flux de données institutionnel ou une exécution d'ordres. Avant d'adopter, vérifier que node -p process.features.typescript renvoie strip ou transform sur votre machine, et lire docs/source-delivery.md pour comprendre ce que le retrait du client Mac implique pour vos données existantes.

Sources officielles

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. simonlin1212/Vibe-Research on GitHub
Notes de la communauté

Notes de la communauté