InvestBrain

Servidor MCP de investigación de inversiones impulsado por IA con GraphRAG, detección de patrones de comportamiento, análisis de diario de trading e integración de datos de mercado.

Documentación

InvestBrain — Segundo Cerebro de Inversión

Herramienta de disciplina autónoma para inversores experimentados, que resuelve el problema de "unificar conocimiento y acción" No es un asesor de inversiones, no da consejos, sino un "espejo" + "ancla de disciplina"

License: AGPL v3 Python 3.10+ MCP Desktop

English README llms.txt 行为模式挖掘

Registro de ideas × RAG de inversión × Sistema de memoria × Disparadores de recordatorios × Minería de patrones de comportamiento


Experiencia rápida en 5 minutos

Dos formas de uso: Cliente de escritorio (recomendado) o Servidor MCP.

Opción A: Cliente de escritorio (Windows, recomendado)

  1. Descarga e instala InvestBrain_0.1.2_x64_en-US.msi (ver Releases)
  2. Abre la aplicación de escritorio y verás la barra de estado "Cerebro cargado" y la guía de conversación de prueba
  3. Para conversar, introduce tu propia clave de LLM en la página de configuración y podrás usar el flujo de conversación real

Los datos del cliente de escritorio se almacenan en %APPDATA%\InvestBrain\data; la página de configuración muestra la ubicación de los datos directamente.

Opción B: Servidor MCP (cualquier 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

Nota del primer inicio: La base vectorial (Chroma + ONNX Embedding) descargará aproximadamente 80 MB de archivos de modelo la primera vez. Si deseas omitir la base vectorial y probar solo las herramientas, mantén los comentarios relevantes en server.py sin cambios; si deseas la experiencia RAG completa, descomenta las líneas dentro de server.py después de la descarga.

Una vez iniciado, el servidor acepta llamadas de clientes MCP a través de stdio. Para configurar Claude Desktop, consulta Integración con Claude Desktop a continuación.


Tu clave, la completas tú

Importante: Este repositorio no incluye ninguna clave de API de usuario. En data/config/llm.json, api_key es null por defecto (no es un marcador de clave real); .env.example es solo una plantilla; webhook.json es un esquema vacío.

Debes solicitarlas / rotarlas tú mismo desde los siguientes paneles oficiales:

ServicioUsoDirección del panel
DeepSeek APILLM principal (requerido)https://platform.deepseek.com → API Keys
Tushare ProDatos financieros/históricos de acciones A (opcional)https://tushare.pro/register
DashScopeLLM alternativo de Alibaba Tongyi (opcional)https://dashscope.console.aliyun.com
Against FinanceDatos alternativos (opcional)https://www.against.com
Robot de FeishuNotificaciones (opcional)https://open.feishu.cn → Robots → Webhook

Dónde se escriben las 4 claves (ninguna entra en git)

  • Requerido para iniciar MCP: variable de entorno DEEPSEEK_API_KEY (se recomienda variable de entorno de sistema a nivel de usuario, o CLAUDE.md / .env)
  • Opcional: TUSHARE_TOKEN / DASHSCOPE_API_KEY / AGAINST_API_KEY (variables de entorno)
  • Webhook de Feishu: campo feishu en data/config/webhook.json (protegido por .gitignore)

Reglas de seguridad

  • Tu clave es tuya — no la compartas, no la hagas commit, no la envíes en ninguna conversación
  • Si una clave entra en el historial de git (por ejemplo, versiones antiguas con commit), incluso después de rotarla podría seguir siendo mal utilizada → si detectas una fuga, rota la clave inmediatamente en la plataforma correspondiente
  • El repositorio ya tiene .gitignore protegiendo data/config/*.json (incluye configuración de llm/webhook) + data/memory/*.db (memoria del usuario, según la decisión de CLAUDE.md "los datos del usuario se almacenan localmente, no se suben a la nube"), no elimines la exclusión con !

Nota: En el historial del repositorio se hizo commit de marcadores de clave (commit 22e6c72). Si ya se hizo push al remoto, las claves antiguas aún se pueden leer en el historial del clon — limpiar el historial es costoso; normalmente se acepta + se rota


Inicio rápido: Configuración de notificaciones

Desde cero hasta recibir tu primera notificación de WeChat, aproximadamente 3 minutos. No necesitas leer ningún documento.

Opción 1: Script de un solo clic (recomendado, Windows)

Abre PowerShell en la raíz del repositorio y ejecuta:

powershell -ExecutionPolicy Bypass -File scripts/configure_pushplus.ps1

El script te guiará interactivamente por todos los pasos: muestra los pasos para obtener el token de PushPlus → pega el token (validación automática de formato) → escribe en data/config/webhook.json y habilita el canal pushplus → llama automáticamente a send_notification para enviar un mensaje de prueba → imprime el motivo de éxito/fallo.

Opción 2: Configuración dentro de la conversación (dentro del cliente MCP)

Directamente en cualquier cliente MCP, pide a la IA que te ayude a configurar:

1. 查看当前配置状态:notify_get_notifier_config()
2. 配置 PushPlus 并发送测试:notify_configure_notifier(channel="pushplus", token="你的token", enabled=true, send_test=true)

Pasos para obtener el token de PushPlus

  1. Escanea el código QR con WeChat y sigue la cuenta pública: https://www.pushplus.plus
  2. Entra en "Centro personal" → copia el token de la página
  3. Completa cualquiera de las opciones anteriores

Verificación exitosa: Recibirás un mensaje de prueba, o notify_get_notifier_config() devolverá "enabled_channels": ["pushplus"]. Si no hay canales configurados, la ruta de activación de recordatorios (price_checker / scheduler) incluirá información de guía setup_guide en la respuesta, sin fallar silenciosamente.

Nota de seguridad: data/config/webhook.json está protegido por .gitignore; el token no entrará en git; no envíes el token en ninguna conversación ni lo subas al repositorio.


Qué problema resuelve

Problema central: Los inversores se dejan llevar por las narrativas, operan sin disciplina y se arrepienten después.

Problema comúnRespuesta de InvestBrain
Ver una acción subir mucho y comprar persiguiendo el alzaRegistro obligatorio del motivo de compra + asociación con decisiones históricas similares
Vender por pánico cuando bajaDisparo de búsqueda RAG sobre la visión de los maestros sobre el "pánico"
Cometer repetidamente el mismo tipo de errorLa minería de patrones de comportamiento identifica automáticamente el patrón de "comprar alto, vender bajo"
Olvidar puntos importantes de tiempo/precioMonitoreo de precio/tiempo/condiciones + notificaciones de Feishu
No recordar tus propios juicios pasadosSistema de memoria + tarjetas de decisión para revisión

Capacidades principales

FunciónDescripción
Registro de ideasEl usuario dice una frase, la IA analiza + asocia con el historial + genera una tarjeta
RAG de inversiónBúsqueda y respuesta sobre el pensamiento de los maestros (16 maestros de inversión × 5 conceptos centrales)
Sistema de memoriaPerfil de usuario, decisiones históricas, minería de patrones de comportamiento
Disparadores de recordatoriosMonitoreo de precio/tiempo/condiciones, con soporte para notificaciones multicanal (Feishu/DingTalk/Bark)
Minería de patrones de comportamientoDescubrimiento automático de patrones de sesgo del inversor

Conversaciones de ejemplo

A continuación se muestran flujos de conversación reales de tres escenarios de valor central (utilizables en cualquier cliente MCP):

Escenario 1: Preguntas RAG — Colisión con el pensamiento de los maestros

Usuario: ¿Cómo ve Duan Yongping el "dinero rápido" y el "dinero lento"?

Llamada: rag_ask_investment(question="段永平怎么看快钱和慢钱")

Respuesta de la IA: El punto central de Duan Yongping es que el "dinero rápido" parece tener más oportunidades pero mayor exposición al riesgo; el "dinero lento" depende del interés compuesto y la certeza. En el corpus de «Duan Yongping» hay 12 pasajes relevantes, extracto:

"La velocidad de ganar dinero con inversiones no debería superar la velocidad de aprender." "Lo que te atreves a posicionar en grande es el negocio que realmente entiendes; el resto no son oportunidades." Conceptos relacionados: círculo de competencia, margen de seguridad, interés compuesto.

Escenario 2: Análisis de patrones de comportamiento — Encontrar errores recurrentes

Usuario: ¿Qué problemas tiene mi operativa reciente?

Llamada: memory_get_behavior_patterns()

Respuesta de la IA: Detecté dos patrones de comportamiento en tu operativa (últimos 30 días, 11 operaciones):

  1. Patrón de compra persiguiendo el alza (confianza 0.83) Muestras activadas: compra de NVDA/TSLA en D+1/D+2 después de subidas diarias > 5%, tasa de acierto 25%, retorno promedio -3.2% Sugerencia: revisa obligatoriamente rag_ask_investment(question="追高的代价") antes de comprar

  2. Patrón de venta por pánico (confianza 0.71) Muestras activadas: venta dentro de 5 días después de pérdidas > 15% en la posición, con rebote posterior del 67% en 30 días Sugerencia: notificación automática por Feishu + cita textual del maestro al activarse

Escenario 3: Recordatorios inteligentes — Ancla de disciplina

Usuario: Avísame cuando NVDA llegue a 950 dólares para reevaluar.

Llamada: reminder_set_reminder(condition={ticker:"NVDA", operator:"<=", threshold:950, action:"review"})

Respuesta de la IA: Recordatorio creado: cuando NVDA <= 950 USD, se activa "revisión y reevaluación". Al activarse, se obtendrán automáticamente: precio actual, tus tarjetas de decisión históricas sobre este valor y citas relevantes de los maestros. El recordatorio se ha sincronizado con el canal de notificaciones (si está configurado).


Integración con Claude Desktop

Conecta InvestBrain a Claude Desktop (compatible con macOS / Windows):

Ubicación del archivo de configuración:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Contenido de la configuración (ajusta la ruta según tu ubicación real del clon):

{
  "mcpServers": {
    "investbrain": {
      "command": "python",
      "args": [
        "D:/claudework/invest-brain/src/mcp_server/server.py"
      ],
      "env": {
        "DEEPSEEK_API_KEY": "sk-your-key-here"
      }
    }
  }
}

Después de configurar, reinicia Claude Desktop; aparecerá el icono "Asistente de inversión" en la barra de herramientas (39 herramientas, coincidiendo con la lista registrada en server.json).


Licencia de código abierto y hoja de ruta

Este proyecto está licenciado bajo GNU Affero General Public License v3.0 (AGPLv3). En resumen: puedes usar, modificar y distribuir libremente, pero las obras derivadas que ofrezcan servicios a través de la red también deben ser de código abierto bajo la misma licencia. Ver LICENSE.

NivelFuncionalidadEstado
Nivel gratuitoServidor MCP local✅ Disponible
RAG de preguntas sobre 16 maestros✅ Disponible
Detección de patrones de comportamiento✅ Disponible
Sistema de recordatorios✅ Disponible
Almacenamiento de memoria ilimitado✅ Disponible
Versión personalInformes semanales/mensuales en la nube (generados por IA)Planificado (¥39/mes)
Sincronización de datos entre dispositivosPlanificado
Versión de equipoColaboración en equipo y base de conocimiento compartidaPlanificado (¥199/mes)

Arquitectura

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/                 # 配置文件

Herramientas 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()"

La lista completa de herramientas está en src/mcp_server/tools/.


Base de conocimiento

16 maestros de inversión: Buffett, Munger, Duan Yongping, Howard Marks, Li Lu, Graham, Damodaran, Ackman, Cathie Wood, Michael Burry, Pabrai, Taleb, Lynch, Fisher, Druckenmiller

5 conceptos centrales: Foso económico, margen de seguridad, círculo de competencia, pensamiento de segundo nivel, riesgo asimétrico

Conocimiento sectorial: 28 marcos de investigación profunda de sectores Shenwan (recuperables en la base vectorial, sin publicar el texto original, protegiendo la propiedad intelectual de la metodología central)


Fuentes de datos

Fuente de datosUsoEstado
AKShareCotizaciones en tiempo real✅
TushareDatos financieros/históricos✅
ChromaÍndice vectorial✅
SQLiteMemoria local✅

Desarrollo

# 启动 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

Pruebas:

pytest tests/

Proyectos relacionados

ProyectoUso
invest-buddy-petProducto de acompañamiento para principiantes (test de personalidad)
mangoviewSitio de sistemas avanzados (análisis profesional)

🛠️ Cadena de herramientas recomendada

Las siguientes recomendaciones se generan a partir del mapa de escenarios→herramientas de SKILL.md en awesome-finai-tools-zn, seleccionando la mejor herramienta para cada tipo de escenario. La lista completa de herramientas está en la página principal del repositorio.

Herramienta recomendadaFuncionalidadMétodo de instalación
ashare-mcpServidor MCP de acciones A de nivel producción, 30 herramientas (cotizaciones en tiempo real/K-lines/piscina de límite diario/lista de dragones y tigres/estados financieros/flujo de fondos sectorial)git clone https://github.com/CharmYue/ashare-mcp && cd ashare-mcp && uv sync
opencli-eastmoney-quoteCLI sin configuración, cotizaciones en tiempo real de acciones A/HK/US al instantenpm install -g @jackwener/opencli
opencli-xueqiu-searchBúsqueda de acciones en Xueqiu + análisis de sentimiento de publicaciones populares, compatible con chino/códigonpm install -g @jackwener/opencli
QlibFramework de cuantificación de IA de Microsoft, minería automática de factores + entrenamiento de modelos + evaluación con backtestingpip install pyqlib
MCP de Yingmi Funds69 herramientas MCP estandarizadas + 16 componentes de habilidades, incluye backtesting de carteras/simulación de Monte CarloContacta con la plataforma abierta de IA de Yingmi para obtener la clave API

La lógica de recomendación se basa en awesome-finai-tools-zn/data/institution-skills.json y se actualiza automáticamente cada semana.


🔗 Integración de la cadena de herramientas

Este repositorio forma parte del ecosistema de herramientas FinAI y colabora con otros repositorios:

RepositorioPosiciónRelación con este repositorio
awesome-finai-tools-znBase de datosProporciona la lista de herramientas + datos de habilidades institucionales
invest-brainMotor de recomendación de herramientasRecomienda herramientas automáticamente según el escenario
investment-buddy-petAsesor de inversión personalizadoEmpareja cajas de herramientas según la personalidad inversora
SoloAdvisor-ToolkitKit de herramientas para procesos de asesoríaKYC→Configuración→Cartera→Informe
knowledge-workflowGestión del conocimientoRecopilar→Etiquetar→Almacenar→Producir

🗺️ Hoja de ruta

Documento detallado de requisitos de transformación: docs/改造需求-roadmap.md

Transformación central P0 (visión de base de conocimiento personal):

  • 🔴 Base de conocimiento RAG personalizada por el usuario (para que el propio marco del usuario pueda ser referenciado por RAG)
  • 🔴 Recordatorios activados por noticias/eventos (compras de oro por bancos centrales, conflictos geopolíticos, congelación de bonos del Tesoro de EE. UU., etc.)
  • 🔴 Herramienta de gestión de marcos de inversión (registro estructurado de las reglas y condiciones de activación del marco del usuario)

Fuentes de datos P1:

  • 🟡 Datos en tiempo real de oro al contado / índice del dólar / rendimiento de bonos del Tesoro de EE. UU.
  • 🟡 Corrección de datos de ETF de oro (518880 / GLD)

Optimización de experiencia P2:

  • 🟢 Bug de extracción NLU en tarjetas de pensamiento (reconocimiento erróneo de números/nombres en inglés)

Avances recientes (2026-07-29):

  • ✅ El marco central de inversión en oro se ha escrito en la tarjeta de pensamiento (thought_8)
  • ✅ La simulación de oro basada en datos reales se ha escrito en la tarjeta de pensamiento (thought_9)
  • ✅ El documento de requisitos de transformación se ha creado (docs/改造需求-roadmap.md)

Versión: v0.1.2 Fecha de creación: 2026-06-24 Licencia: AGPL v3