InvestBrain
Servidor MCP de pesquisa de investimentos com IA, incluindo GraphRAG, detecção de padrões de comportamento, análise de diário de negociação e integração de dados de mercado.
Documentação
InvestBrain — Segundo Cérebro de Investimentos
Ferramenta de disciplina autônoma para investidores experientes, resolvendo o problema de "unir conhecimento e ação" Não é consultoria de investimentos, não dá conselhos, mas sim um "espelho" + "âncora de disciplina"
Registro de ideias × RAG de investimentos × Sistema de memória × Gatilhos de lembrete × Mineração de padrões comportamentais
Experiência rápida em 5 minutos
Duas formas de uso: Cliente desktop (recomendado) ou MCP Server.
Opção A: Cliente desktop (Windows, recomendado)
- Baixe e instale o
InvestBrain_0.1.2_x64_en-US.msi(veja Releases) - Abra o aplicativo desktop e veja a barra de status "Cérebro carregado" e o guia de conversa inicial
- Para conversar, preencha sua própria chave de LLM na página de configurações para usar o fluxo de conversa real
Os dados do desktop são armazenados em
%APPDATA%\InvestBrain\data; a página de configurações mostra a localização dos dados diretamente.
Opção B: MCP Server (qualquer cliente MCP)
# 1. 安装 MCP Server 依赖
cd src/mcp_server && pip install -r requirements.txt
# 2. 配置你自己的 LLM API Key(见下文「你的 Key,自己填」)
cp .env.example .env
# 编辑 .env,把 DEEPSEEK_API_KEY 填成你从 DEEPSEEK 后台拿到的 key
# 3. 启动 MCP Server
python server.py
Dica de primeira execução: o banco vetorial (Chroma + ONNX Embedding) baixará cerca de 80MB de arquivos de modelo na primeira vez. Se quiser pular o banco vetorial e usar apenas as ferramentas, mantenha os comentários relevantes em
server.pycomo estão; para a experiência RAG completa, descomente as linhas dentro deserver.pyapós o download.
Após a inicialização, o servidor aceita chamadas de clientes MCP via stdio. Para configurar o Claude Desktop, veja Integração com Claude Desktop abaixo.
Sua chave, você mesmo preenche
Importante: este repositório não inclui nenhuma chave de API de usuário. Em data/config/llm.json, o api_key é null por padrão (não é um placeholder real de chave); .env.example é apenas um modelo; webhook.json é um schema vazio.
Você precisa solicitar / rotacionar as chaves nos seguintes painéis oficiais:
| Serviço | Uso | Endereço do painel |
|---|---|---|
| DeepSeek API | LLM principal (obrigatório) | https://platform.deepseek.com → API Keys |
| Tushare Pro | Dados financeiros/históricos de ações A (opcional) | https://tushare.pro/register |
| DashScope | LLM alternativo Alibaba Tongyi (opcional) | https://dashscope.console.aliyun.com |
| Against Finance | Dados alternativos (opcional) | https://www.against.com |
| Robô Feishu | Notificações (opcional) | https://open.feishu.cn → Robô → Webhook |
Onde os 4 tipos de chave são configurados (nenhum vai para o git)
- Obrigatório para iniciar o MCP: variável de ambiente
DEEPSEEK_API_KEY(recomendado: variável de ambiente do sistema no nível do usuário, ou CLAUDE.md /.env) - Opcional:
TUSHARE_TOKEN/DASHSCOPE_API_KEY/AGAINST_API_KEY(variáveis de ambiente) - Webhook do Feishu: campo
feishuemdata/config/webhook.json(protegido por.gitignore)
Regras de segurança
- Sua chave é sua — não compartilhe, não faça commit, não envie em nenhuma conversa
- Chaves no histórico do git (por exemplo, versões antigas com commit) podem ser usadas indevidamente mesmo após rotação → se detectar vazamento, rotacione imediatamente na plataforma correspondente
- O repositório já tem
.gitignoreprotegendodata/config/*.json(incluindo configurações de LLM/webhook) +data/memory/*.db(memória do usuário, conforme decisão do CLAUDE.md "dados do usuário armazenados localmente, não enviados à nuvem"), não remova a proteção com!
Nota: o histórico do repositório já teve placeholders de chave commitados (commit
22e6c72). Se já foi enviado ao remoto, as chaves antigas ainda podem ser lidas no histórico do clone — limpar o histórico é caro; normalmente aceite + rotacione
Início rápido: configuração de push
Do zero até receber a primeira notificação via WeChat, cerca de 3 minutos. Sem necessidade de ler qualquer documentação.
Opção 1: Script de um clique (recomendado, Windows)
No diretório raiz do repositório, abra o PowerShell e execute:
powershell -ExecutionPolicy Bypass -File scripts/configure_pushplus.ps1
O script guiará você interativamente por todas as etapas: mostra os passos para obter o token do PushPlus → cole o token (validação automática de formato) → grava em data/config/webhook.json e ativa o canal pushplus → chama automaticamente send_notification para enviar uma mensagem de teste → imprime o motivo de sucesso/falha.
Opção 2: Configuração via conversa (dentro do cliente MCP)
Diretamente em qualquer cliente MCP, peça à IA para configurar:
1. 查看当前配置状态:notify_get_notifier_config()
2. 配置 PushPlus 并发送测试:notify_configure_notifier(channel="pushplus", token="你的token", enabled=true, send_test=true)
Passos para obter o token do PushPlus
- Escaneie o QR code com o WeChat e siga a conta pública: https://www.pushplus.plus
- Acesse "Centro Pessoal" → copie o token da página
- Preencha em qualquer uma das opções acima
Validação de sucesso: receba a mensagem de teste, ou notify_get_notifier_config() retorna "enabled_channels": ["pushplus"]. Quando o canal não está configurado, o caminho de gatilho de lembrete (price_checker / scheduler) retorna com a mensagem de orientação setup_guide em vez de falhar silenciosamente.
Nota de segurança:
data/config/webhook.jsonestá protegido por.gitignore; o token não vai para o git; não envie o token em nenhuma conversa nem faça commit no repositório.
Que problema ele resolve
Problema central: investidores são levados pela narrativa, operam sem disciplina e se arrependem depois.
| Dor comum | Resposta do InvestBrain |
|---|---|
| Ver uma ação subir muito e comprar na alta | Registro obrigatório do motivo da compra + associação com decisões históricas semelhantes |
| Vender por pânico quando cai | Gatilho de busca RAG sobre a visão de mestres sobre "pânico" |
| Repetir o mesmo tipo de erro | Mineração de padrões comportamentais identifica automaticamente o padrão "comprar na alta, vender na baixa" |
| Esquecer pontos importantes de tempo/preço | Monitoramento de preço/tempo/condições + push via Feishu |
| Não lembrar dos próprios julgamentos passados | Sistema de memória + retrospectiva de cartões de decisão |
Capacidades principais
| Função | Descrição |
|---|---|
| Registro de ideias | Usuário diz uma frase, a IA analisa + associa ao histórico + gera um cartão |
| RAG de investimentos | Busca e respostas sobre o pensamento de mestres (16 mestres × 5 conceitos centrais) |
| Sistema de memória | Perfil do usuário, decisões históricas, mineração de padrões comportamentais |
| Gatilhos de lembrete | Monitoramento de preço/tempo/condições, com push multicanal via Feishu/DingTalk/Bark |
| Mineração de padrões comportamentais | Descoberta automática de padrões de viés do investidor |
Exemplos de conversa
Abaixo estão fluxos reais de conversa para três cenários de valor central (funcionam em qualquer cliente MCP):
Cenário 1: Perguntas e respostas RAG — Colisão de ideias de mestres
Usuário: Como Duan Yongping vê "dinheiro rápido" e "dinheiro lento"?
Chamada:
rag_ask_investment(question="段永平怎么看快钱和慢钱")Resposta da IA: O ponto central de Duan Yongping é que "dinheiro rápido" parece ter mais oportunidades, mas tem maior exposição a risco; "dinheiro lento" depende de juros compostos e certeza. No corpus de «Duan Yongping», há 12 passagens relacionadas. Trechos:
"A velocidade do investimento não deve ser maior que a velocidade do aprendizado." "O que você pode posicionar pesado é o negócio que você entende; o resto não é oportunidade." Conceitos relacionados: círculo de competência, margem de segurança, juros compostos.
Cenário 2: Análise de padrões comportamentais — Encontrar erros repetidos
Usuário: Quais são os problemas nas minhas negociações recentes?
Chamada:
memory_get_behavior_patterns()Resposta da IA: Detectei dois padrões comportamentais seus (últimos 30 dias, 11 negociações):
Padrão de compra na alta (confiança 0,83) Amostras de gatilho: compra de NVDA/TSLA em D+1/D+2 após alta diária > 5%, taxa de acerto 25%, retorno médio -3,2% Sugestão: antes de comprar, consulte obrigatoriamente
rag_ask_investment(question="追高的代价")Padrão de venda por pânico (confiança 0,71) Amostras de gatilho: venda em até 5 dias após perda > 15% na posição, com recuperação de 67% nos 30 dias seguintes Sugestão: ao gatilho, enviar automaticamente push via Feishu + citação da fala original do mestre
Cenário 3: Lembrete inteligente — Âncora de disciplina
Usuário: Me lembre de reavaliar quando a NVDA chegar a 950 dólares.
Chamada:
reminder_set_reminder(condition={ticker:"NVDA", operator:"<=", threshold:950, action:"review"})Resposta da IA: Lembrete criado: quando NVDA <= 950 USD, acionar "reavaliação". Ao acionar, serão buscados automaticamente: preço atual, seus cartões de decisão históricos sobre esse ativo e citações relevantes de mestres. O lembrete foi sincronizado com o canal de notificação (se configurado).
Integração com Claude Desktop
Conecte o InvestBrain ao Claude Desktop (comum para macOS / Windows):
Localização do arquivo de configuração:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Conteúdo da configuração (ajuste o caminho conforme o local do seu clone):
{
"mcpServers": {
"investbrain": {
"command": "python",
"args": [
"D:/claudework/invest-brain/src/mcp_server/server.py"
],
"env": {
"DEEPSEEK_API_KEY": "sk-your-key-here"
}
}
}
}
Após a configuração, reinicie o Claude Desktop; o ícone "Assistente de Investimentos" aparecerá na barra de ferramentas (39 ferramentas, consistente com a lista registrada em
server.json).
Licença de código aberto e roadmap
Este projeto é licenciado sob GNU Affero General Public License v3.0 (AGPLv3). Em resumo: você pode usar, modificar e distribuir livremente, mas obras derivadas fornecidas como serviço de rede também devem ser de código aberto sob a mesma licença. Veja LICENSE.
| Nível | Função | Status |
|---|---|---|
| Camada gratuita | MCP Server local | ✅ Disponível |
| RAG com 16 mestres | ✅ Disponível | |
| Detecção de padrões comportamentais | ✅ Disponível | |
| Sistema de lembretes | ✅ Disponível | |
| Armazenamento de memória ilimitado | ✅ Disponível | |
| Versão pessoal | Relatórios semanais/mensais na nuvem (gerados por IA) | Planejado (¥39/mês) |
| Sincronização de dados entre dispositivos | Planejado | |
| Versão equipe | Colaboração em equipe e base de conhecimento compartilhada | Planejado (¥199/mês) |
Arquitetura
src/mcp_server/ # MCP Server(39 个工具)
├── server.py # 主入口
├── tools/ # 工具集
│ ├── thought_tools.py # 想法记录
│ ├── rag_tools.py # 投资 RAG
│ ├── memory_tools.py # 记忆系统
│ ├── reminder_tools.py # 提醒系统
│ ├── pattern_tools.py # 行为模式
│ ├── report_tools.py # 周报/月报
│ ├── roundtable_tools.py # 大师圆桌
│ └── notifier_tools.py # 多通道通知
├── datasources/ # 数据源
│ ├── akshare_datasource.py
│ └── tushare_datasource.py
├── knowledge/ # 知识库
│ ├── vector_store.py # Chroma 向量存储
│ └── graph_client.py # 图存储
├── memory/ # 记忆存储
├── patterns/ # 行为模式挖掘
├── llm/ # LLM 客户端
│ ├── llm_router.py # 通用 LLM 路由
│ ├── providers.py # Provider 配置
│ └── deepseek_client.py
└── api_server.py # REST API (LLM 配置)
data/
├── graph/ # 知识图谱(16 位大师 + 概念)
├── knowledge/
│ └── vectors/ # 向量索引(Chroma)
├── memory/ # 用户记忆
├── cards/ # 想法卡片
├── reminders/ # 提醒条件
└── config/ # 配置文件
Ferramentas MCP (40)
// 想法记录(3)
"thought_record_thought(text)",
"thought_search_memories(query)",
"thought_get_thought_cards(ticker)",
// 投资 RAG(4)
"rag_ask_investment(question)",
"rag_get_master_view(master, topic)",
"rag_search_knowledge(query)",
"rag_search_reports(query, top_k)",
// 记忆系统(3)
"memory_get_user_profile()",
"memory_record_decision(data)",
"memory_get_behavior_patterns()",
// 提醒系统(3)
"reminder_set_reminder(condition)",
"reminder_get_reminders()",
"reminder_delete_reminder(id)",
// 行为模式(3)
"pattern_run_pattern_detection()",
"pattern_get_pattern_summary()",
"pattern_get_pattern_report(id)",
// 周报/月报(1)
"report_run_scheduled_report(range)",
// 大师圆桌(1)
"invest_roundtable(question)",
// 通知配置(2)
"notify_configure_notifier(channel, webhook_url)",
"notify_get_notifier_config()",
// 行情数据 — AKShare(5)
"market_get_stock_quote(ticker)",
"market_get_stock_history(ticker, period)",
"market_get_index_components(index_code)",
"market_get_valuation(ticker)",
"market_get_market_sentiment()",
// 行情数据 — Tushare(15)
"tushare_get_daily_price(ts_code)",
"tushare_get_weekly_price(ts_code)",
"tushare_get_realtime_quote(ts_code)",
"tushare_get_index_daily(index_code)",
"tushare_get_financial_indicator(ts_code)",
"tushare_get_income_statement(ts_code)",
"tushare_get_balance_sheet(ts_code)",
"tushare_get_cash_flow(ts_code)",
"tushare_get_index_components(index_code)",
"tushare_get_industry_classification(ts_code)",
"tushare_get_valuation_multi(ts_code)",
"tushare_get_market_top_movers()",
"tushare_get_stock_pledge_status(ts_code)",
"tushare_convert_ticker(ticker)",
"tushare_check_token_status()"
Lista completa de ferramentas em src/mcp_server/tools/.
Base de conhecimento
16 mestres de investimento: Buffett, Munger, Duan Yongping, Howard Marks, Li Lu, Graham, Damodaran, Ackman, Cathie Wood, Michael Burry, Pabrai, Taleb, Lynch, Fisher, Druckenmiller
5 conceitos centrais: Fosso econômico, margem de segurança, círculo de competência, pensamento de segunda ordem, risco assimétrico
Conhecimento do setor: Estruturas de pesquisa aprofundada para 28 setores da classificação Shenwan (recuperadas no banco vetorial, sem publicação do texto original, protegendo a propriedade intelectual da metodologia central)
Fontes de dados
| Fonte de dados | Uso | Status |
|---|---|---|
| AKShare | Cotações em tempo real | ✅ |
| Tushare | Dados financeiros/históricos | ✅ |
| Chroma | Índice vetorial | ✅ |
| SQLite | Memória local | ✅ |
Desenvolvimento
# 启动 REST API Server(用于 LLM 配置)
python src/mcp_server/api_server.py
# 访问 http://localhost:8000/api/llm/config
# 启动前端(Next.js 落地页 + 设置面板)
npm install
npm run dev
# 访问 http://localhost:3000
Testes:
pytest tests/
Projetos relacionados
| Projeto | Uso |
|---|---|
| invest-buddy-pet | Produto de acompanhamento para iniciantes (teste de personalidade) |
| mangoview | Site de sistema superprofissional (análise profissional) |
🛠️ Conjunto de ferramentas recomendado
As recomendações abaixo são geradas a partir do mapeamento cenário→ferramenta do SKILL.md do awesome-finai-tools-zn, com 1 melhor ferramenta por categoria. A lista completa está na página inicial do repositório.
| Ferramenta recomendada | Função | Instalação |
|---|---|---|
| ashare-mcp | MCP Server de ações A de nível de produção, 30 ferramentas (cotações em tempo real/K-line/lista de limite de alta/ranking de dragões e tigres/relatórios financeiros/fluxo de capital por setor) | git clone https://github.com/CharmYue/ashare-mcp && cd ashare-mcp && uv sync |
| opencli-eastmoney-quote | CLI sem configuração, cotações em tempo real de ações A/HK/US em segundos | npm install -g @jackwener/opencli |
| opencli-xueqiu-search | Busca de ações no Xueqiu + análise de sentimento de posts populares, em chinês ou código | npm install -g @jackwener/opencli |
| Qlib | Framework de quant da Microsoft, mineração automática de fatores + treinamento de modelos + avaliação por backtest | pip install pyqlib |
| MCP Yingmi Fund | 69 ferramentas MCP padronizadas + 16 componentes de habilidade, incluindo backtest de carteiras/simulação de Monte Carlo | Contate a plataforma de IA aberta da Yingmi para obter a chave de API |
A lógica de recomendação é baseada em awesome-finai-tools-zn/data/institution-skills.json, atualizada automaticamente toda semana.
🔗 Integração do ecossistema de ferramentas
Este repositório faz parte do ecossistema de ferramentas FinAI, colaborando com outros repositórios:
| Repositório | Posicionamento | Relação com este repositório |
|---|---|---|
| awesome-finai-tools-zn | Base de dados | Fornece lista de ferramentas + dados de habilidades institucionais |
| invest-brain | Motor de recomendação de ferramentas | Recomenda ferramentas automaticamente com base no cenário |
| investment-buddy-pet | Consultoria personalizada | Combina ferramentas conforme a personalidade de investimento |
| SoloAdvisor-Toolkit | Kit de ferramentas de fluxo de consultoria | KYC→alocação→carteira→relatório |
| knowledge-workflow | Gestão de conhecimento | Coleta→etiquetagem→armazenamento→produção |
🗺️ Roadmap
Documento detalhado de requisitos de transformação: docs/改造需求-roadmap.md
Transformações centrais P0 (visão de base de conhecimento pessoal):
- 🔴 Base de conhecimento RAG personalizável pelo usuário (permitir que o framework do próprio usuário seja referenciado pelo RAG)
- 🔴 Lembretes acionados por notícias/eventos (compra de ouro por bancos centrais, conflitos geopolíticos, congelamento de títulos dos EUA, etc.)
- 🔴 Ferramenta de gestão de framework de investimento (registro estruturado das regras e condições de gatilho do usuário)
Fontes de dados P1:
- 🟡 Dados em tempo real de ouro à vista / índice do dólar / rendimento de títulos dos EUA
- 🟡 Correção de dados de ETFs de ouro (518880 / GLD)
Otimização de experiência P2:
- 🟢 Bug de extração NLU no cartão de pensamento (reconhecimento incorreto de números/nomes em inglês)
Progresso recente (2026-07-29):
- ✅ Framework central de investimento em ouro gravado no cartão de pensamento (
thought_8) - ✅ Simulação de ouro baseada em dados reais gravada no cartão de pensamento (
thought_9) - ✅ Documento de requisitos de transformação criado (
docs/改造需求-roadmap.md)
Versão: v0.1.2 Data de criação: 2026-06-24 Licença: AGPL v3