Skip to content

Repository files navigation

价投合伙人 · A-Share Value Copilot

中文 | English

一个开源的本地 AI 投研合伙人。把"好生意 / 好公司 / 好价格"编码进价投大师 Agent,替你做尽调、出三段式报告、自我复核、桌面端一键跑。

ai-hedge-fund 教你做对冲基金,价投合伙人教你少做交易。

CI Latest Release Release Date Downloads status license platform

一句话定位:A 股散户和研究者的本地 AI 投研台。

不用付费行情 API,不让模型编数字,不给买卖建议;它只帮你判断一家公司是否值得继续研究,并把证据、分歧和不知道的部分摊开。

先看产物

股票 样例 裁判结论 一句话
中国平安 601318 HTML · meta worth_research PE 8.19 处 21% 分位,金融生态稳但投资端待考
工业富联 601138 HTML · meta pass PE 30.89 处 92% 分位,代工龙头毛利率仅 7%
贵州茅台 600519 Markdown sample CLI 早期报告样例

更多真实输出见 样例报告库。

flowchart LR
  A["股票代码 / 公司名"] --> B["Python 数据边车<br/>akshare"]
  B --> C["DataPack<br/>唯一数字来源"]
  C --> D["多位价值投资大师"]
  D --> E["综合裁判<br/>verdict + scorecard"]
  E --> F["HTML / Markdown 报告"]
  F --> G["AI 复核员<br/>事实、逻辑、相关性问题"]
Loading

为什么做这个

市面上 AI 选股工具的三个病:

  1. 黑箱:给你一个分数,说不清是好生意还是好价格;
  2. 追热点:LLM 自己编数字,追涨杀跌;
  3. 美股中心:A 股数据要付费、要会英文。

价投合伙人反着来:

  • 🇨🇳 A 股原生:akshare 免费数据,不依赖任何付费 API
  • 🧠 中文大师人格:巴菲特 / 段永平 / 芒格 / 林奇 / 马克斯 / 格雷厄姆 / 费雪 / 李录等多位大师,强制 PASS / FAIL / GRAY 三段式输出
  • 🔒 能力圈门禁:看不懂的生意直接拒绝分析,不装懂
  • 📐 反幻觉:所有数字必须来自 tool call(akshare 实时查询),禁止 LLM 自算
  • 🧪 AI 复核员:每份报告由独立的复核 Agent 对照原文扫引用、扫矛盾、扫估值跳跃,产出 issues 清单
  • 🖥️ 桌面投研工作台:Electron 打包,Windows NSIS / Portable 与 macOS PKG / DMG / ZIP 发行,内置数据边车,下载即可用
  • 🗂️ 自选股池 + 公司档案:把单次报告沉淀成长期跟踪对象,维护结论、备注、数据质量和历史报告
  • 🔎 本地筛选 / 风险雷达 / 公司对比:基于本地快照筛候选、看风险红灯、横向比较估值、股息、历史分位和备注
  • 🧰 诊断中心 + 本地持久化:内置边车状态、模型配置、报告目录、最近事件检查;自选股和原则写入本地状态文件
  • 🪄 低学习成本交互:首次启动三步引导、报告摘要卡、长任务进度条、可操作错误提示和统一 AI 侧栏
  • 🔑 自带 API Key · 12 家 LLM Provider 即选即用:OpenAI 兼容协议,桌面端内置预设:腾讯云 LKEAP / DeepSeek / 阿里通义 / 智谱 GLM / Kimi / 豆包 / 硅基流动 / OpenRouter / Ollama / OpenAI / Grok / 自定义。思考型模型(如 glm-4.6 / qwq)的 reasoning 链很费 token,v0.1.15 起默认预算已拉到 16384 并内置截断重试

桌面工作台功能

桌面端不只是“生成一份报告”,而是围绕长期研究流程做了一个本地投研台:

模块 能做什么
分析 输入股票代码或公司名,拉取 DataPack,运行多位大师 Agent,生成 HTML / Markdown 报告
AI 复核 对已生成 HTML 报告做事实、逻辑、相关性复核,并把复核卡片写回报告
首次引导 首次启动用“配置 AI → 输入公司 → 生成报告”三步带用户完成第一份报告
报告摘要卡 报告生成后优先展示结论入口、核心理由、优先复核项和下一步动作
历史报告管理 搜索历史报告,勾选批量删除;删除会移入 .trash,便于误删恢复
诊断中心 检查数据边车、LLM Key、模型、报告目录、回收站数量和最近错误日志
自选股池 将当前分析公司加入自选,维护“值得研究 / 继续观察 / 暂不研究”等结论和备注,并可一键刷新快照
批量筛选器 基于自选股快照按 PE、PB、分组筛候选,先排除明显不合适的公司
公司档案 按公司聚合历史报告、结论、备注,形成长期研究主页
风险雷达 根据当前数据快照提示估值偏高、杠杆较高、ROE 偏弱、数据不足等风险
公司对比 选择两家公司横向比较 PE、PB、市值、股息率、PE 分位、财务期数、数据质量、结论和备注
我的投资原则 在本地维护个人能力圈、排除项和检查清单
导出与分享 生成 Markdown 投研摘要,可复制到 Obsidian / Notion / 微信草稿

推荐使用路径:

单家公司分析 → AI 复核 → 加入自选 → 刷新快照 → 本地筛选 → 公司档案跟踪 → 对比 / 风险复盘 → 导出摘要

AI 助手层

工作台内置统一的 AI Copilot Layer。顶部有统一的 AI 助手侧栏,每个模块也保留轻量 AI 动作按钮,用户不需要自己写 prompt:

AI 动作 使用场景
AI 今日简报 根据当前数据、自选股、原则和历史报告生成下一步研究提醒
AI 整理自选 帮自选股分组、总结跟踪理由、提示应该先看哪几家公司
AI 解释筛选 解释筛选条件含义、为什么这些公司留下、哪些公司暂时排除
AI 解释风险 把风险雷达的红灯翻译成可执行核查清单
AI 总结档案 总结某家公司历史判断变化、长期观点和下次研究问题
AI 对比结论 对两家公司给出差异摘要,说明谁更接近你的投资原则
AI 转规则 把自然语言投资原则转成可执行筛选/排除条件
AI 摘要 / 润色 把报告或导出内容整理成更适合分享和复盘的版本

所有 AI 动作都遵守同一约束:只基于当前页面上下文、DataPack、报告、数据质量提示和用户原则整理,不新增未来源数字;如果数据缺失或冲突,必须先提示复核数据源,不输出买卖建议。

两种用法

A. 桌面端(推荐 · 给"只想点按钮的你")

  1. 去 Releases 下载 价投合伙人-0.2.2-x64.exe(Windows 安装版)、价投合伙人-0.2.2-portable.exe(Windows 免安装版),或 macOS 的 .pkg / .dmg / .zip 包
  2. 首次启动填 LLM_BASE_URL / API_KEY / MODEL(支持 LKEAP / DeepSeek / 本地 Ollama)
  3. 输入股票代码或公司名,点「开始分析」→ 得到三段式 HTML 报告
  4. 点击「AI 复核」检查报告,再把公司加入「自选」进入长期跟踪

桌面端会优先启动安装包内置的 value-copilot-sidecar,普通用户不需要安装 Python。开发者仍可用源码模式运行 pnpm sidecar。

macOS 本地打包

corepack enable
pnpm install
pnpm desktop:dist:mac

当前 macOS 配置默认生成 Apple Silicon (arm64) 的 PKG / DMG / ZIP。PKG 会把应用安装到 /Applications;安装包内已包含 Electron 应用和 PyInstaller 打出的 value-copilot-sidecar,普通用户不需要安装 Node、pnpm、Python 或 akshare。构建命令会在 Mac 上用系统 sips / iconutil 从现有 PNG 生成 resources/icon.icns。正式分发前建议配置 Apple Developer ID 签名与 notarization;未签名本地测试包可能需要在系统设置中允许打开。

30 秒理解 Quick Start

pnpm install
pnpm sidecar
cp .env.example .env
# 填 LLM_BASE_URL / LLM_API_KEY / LLM_MODEL
pnpm ask 600519

B. CLI(给开发者)

# 1. 启动数据边车(一个终端)
cd services/data-sidecar
pip install -r requirements.txt
python main.py              # 监听 http://127.0.0.1:9876

# 2. 配置 LLM(另一个终端)
cp .env.example .env
# 编辑 .env,填 LLM_BASE_URL / LLM_API_KEY / LLM_MODEL

# 3. 装依赖 + 跑大师委员会
pnpm install
pnpm ask 600519             # 贵州茅台
pnpm ask 601318             # 中国平安

报告落到 reports/{code}-{date}.md / .html,AI 复核摘要落到 .meta.json。

更多排错技巧见 RUN.md。


可信度工程

这个项目的重点不是让 LLM 更会说,而是限制它别乱说:

机制 作用
DataPack 单一事实源 所有估值、财务、股息、行业数据先由 akshare 拉取,再传给模型
禁止 LLM 自造数字 prompt 明确要求只能引用 JSON 中已有数字,缺失就写"我没有这个数据"
多大师分歧 不强行合成单一意见,保留 business / company / price 三段判断
裁判不发明证据 judge 只汇总大师原文和 DataPack,不引入新事实
独立复核员 reviewer 用独立上下文检查引用、矛盾、估值跳跃和相关性
可追溯落盘 HTML / Markdown / judge raw / payload / meta 文件一起保存,方便排查

支持的 LLM Provider

桌面端「设置」内置 12 家预设,选完自动填好 LLM_BASE_URL 与可选模型。全部走 OpenAI 兼容协议,CLI 用户改 .env 三个变量即可。

# Provider 推荐模型 Base URL 申请 Key
1 腾讯云 LKEAP · Token Plan ⭐推荐 glm-4.6 / kimi-k2.5 / minimax-m2.7 https://api.lkeap.cloud.tencent.com/plan/v3 控制台
2 腾讯云 LKEAP · 按量计费 deepseek-v3 / deepseek-r1 / qwen-plus https://api.lkeap.cloud.tencent.com/v1 控制台
3 DeepSeek 官方 deepseek-chat / deepseek-reasoner https://api.deepseek.com/v1 DeepSeek Platform
4 阿里通义千问(DashScope) qwen-max / qwen-plus / qwq-32b-preview https://dashscope.aliyuncs.com/compatible-mode/v1 阿里百炼
5 智谱 GLM glm-4.6 / glm-z1-air https://open.bigmodel.cn/api/paas/v4 智谱控制台
6 月之暗面 Kimi moonshot-v1-128k / kimi-latest https://api.moonshot.cn/v1 Moonshot Platform
7 字节豆包(火山方舟) doubao-1-5-pro-32k-250115 https://ark.cn-beijing.volces.com/api/v3 火山方舟
8 硅基流动 SiliconFlow deepseek-ai/DeepSeek-V3 / Qwen/QwQ-32B https://api.siliconflow.cn/v1 SiliconFlow
9 OpenRouter(海外聚合) anthropic/claude-sonnet-4.5 / google/gemini-2.5-pro https://openrouter.ai/api/v1 OpenRouter
10 Ollama 本地 🔒离线 qwen2.5:14b / deepseek-r1:14b http://127.0.0.1:11434/v1 Ollama 安装
11 OpenAI 官方 gpt-4o / gpt-4o-mini / o3-mini https://api.openai.com/v1 OpenAI Platform
12 xAI Grok grok-4-latest / grok-3 https://api.x.ai/v1 xAI Console
13 自定义 任意 任意 OpenAI 兼容端点(Azure OpenAI / 文心 V2 / vLLM 私有部署 / 其他) —

选哪个?三句话决策

  • 追求性价比 + 国内直连:腾讯云 LKEAP Token Plan(包月不限模型)或 DeepSeek 官方(V3 极便宜)
  • 追求质量 + 接受海外延迟:OpenRouter 选 claude-sonnet-4.5(推理质量天花板)
  • 追求隐私 + 完全免费:Ollama 本地跑 qwen2.5:14b(需 ≥16GB 内存)

CLI 用户配置示例(.env)

# 腾讯云 LKEAP Token Plan
LLM_BASE_URL=https://api.lkeap.cloud.tencent.com/plan/v3
LLM_API_KEY=sk-tp-xxxxxxxxxxxx
LLM_MODEL=glm-4.6

# 或 DeepSeek 官方
LLM_BASE_URL=https://api.deepseek.com/v1
LLM_API_KEY=sk-xxxxxxxxxxxx
LLM_MODEL=deepseek-chat

# 或 Ollama 本地(离线)
LLM_BASE_URL=http://127.0.0.1:11434/v1
LLM_API_KEY=ollama
LLM_MODEL=qwen2.5:14b

⚠️ Anthropic Claude / Google Gemini 原生 API 协议不兼容 OpenAI,需要走 OpenRouter 或自建代理(如 LiteLLM)转译。原生适配将在 v0.2 评估。

自检:怎么知道我配的 Provider 真能用?

仓库自带一键自检脚本,用 /chat/completions 发一句 ping 探测每家:

# 1. 拷贝模板(首次运行会自动生成 .example)
cp .env.providers.test.example .env.providers.test

# 2. 把你有 key 的 provider 那行取消注释、填值(没填的会自动 skip)
#    例:DEEPSEEK_KEY=sk-xxxxxxxx

# 3. 跑!
pnpm verify:providers

输出示例:

Provider              Model                       Status   Dur     Info
-----------------------------------------------------------------------------
LKEAP · Token Plan    glm-5.1                     ✓ PASS   1024ms  → ...
DeepSeek 官方          deepseek-chat               ✓ PASS   780ms   → ping
阿里 DashScope         qwen-turbo                  ✗ FAIL   401     Invalid API-key

.env.providers.test 已加入 .gitignore,不会污染仓库。


架构

┌─────────────────────────────────────────────────────────┐
│  Desktop (Electron) │ CLI (tsx)                         │  入口层
└──────┬──────────────┴────────┬──────────────────────────┘
       │                       │
       ▼                       ▼
┌─────────────────────────────────────────────────────────┐
│  packages/agents                                        │
│    - runner        (OpenAI 兼容 LLM + tool calling)   │
│    - buffett       (巴菲特人格 prompt)                │
│    - duan          (段永平人格 prompt)                │
│    - judge         (两段合议 + verdict)               │
│    - reviewer      (AI 复核员,独立上下文)            │
└──────┬──────────────────────────────────────────────────┘
       │  HTTP
       ▼
┌─────────────────────────────────────────────────────────┐
│  services/data-sidecar  (Python + akshare)              │
│    /quote /profile /financial /valuation                │
│    /dividend /historical-pe /industry-compare /healthz  │
└─────────────────────────────────────────────────────────┘

目录速查

路径 作用
apps/cli TypeScript CLI 入口(pnpm ask)
apps/desktop Electron 桌面端(electron-vite + electron-builder)
packages/agents 大师人格 + LLM runner + 复核员
packages/data 数据边车 TypeScript 客户端
services/data-sidecar Python akshare HTTP 服务
prompts/ buffett.md / duan.md / judge.md / reviewer.md — 产品灵魂
reports/ 报告落盘目录(HTML + Markdown + meta.json)
landing/ 早期 Landing Page 原型(静态)

核心设计决策

决策 为什么
LLM 禁止自算数字 幻觉是投资决策的头号敌人,数字只能来自 akshare
三段式 PASS/FAIL/GRAY 逼 Agent 承认"看不懂",能力圈外直接拒答
judge 只做加权不引入新论据 合议员的职责是裁决,不是再发明事实
reviewer 独立上下文 + 输出长度硬约束 防 JSON 截断、防自辩、issues ≤ 5、每条 ≤ 60 字
verdict 枚举:worth_research / skip / out_of_competence 不用"买入/卖出"——价投不替你下单,只告诉你值不值得继续研究

路线图

  • W1 数据边车 + 三段式 prompt + Buffett/段永平 Agent
  • W1 CLI 串通本地链路
  • W2 judge 合议员 + HTML 报告
  • W2 Electron 桌面端(NSIS / Portable)
  • W2 AI 复核员(reviewer)+ 失败自动重试 + JSON 截断抢救
  • W3 批量跑样例(茅台 600519 / 平安 601318 / 工行 601138 已验证)
  • W4 reviewer 结果落 meta.json,payload 附 llm_meta(finish_reason / truncated / 预算使用)
  • W6 公开发布(v0.1.15 · 2026-05-10)
  • W7 桌面投研工作台:自选股池、批量筛选器、公司档案、风险雷达、公司对比、投资原则、导出摘要
  • W8 体验增强:诊断中心、历史报告搜索/批量删除、自选股刷新、数据质量提示、本地状态文件、冒烟测试
  • W9 交互简化:首次启动三步引导、报告摘要卡、长任务进度条、可操作错误提示、统一 AI 助手侧栏
  • W3 芒格 Agent + 三方圆桌辩论
  • W8 自选股批量后台更新 + SQLite 持久化 + 持仓周报
  • W5 Web UI(React Flow 可视化合议链路)
  • W6 公众号推介 + 样例报告集

详见 CHANGELOG.md。


贡献

单人开发,欢迎 fork、借鉴、提 issue 和 PR。响应不一定及时,但认真的讨论都会看。

如果你打算扩展 prompt(比如加芒格、加彼得·林奇),直接在 prompts/ 里仿照现有格式写,再到 packages/agents/src/ 里加个 runner 就能接入委员会。


免责声明

本工具是研究辅助,不是投顾服务。所有输出仅用于帮你独立思考,不构成任何买卖建议。投资决策由你自己负责。

"能力圈的大小不重要,知道能力圈的边界在哪里才重要。" —— 巴菲特


License

MIT © 2026 huahai

About

开源本地 AI 价投合伙人 · 巴菲特+段永平双大师委员会为你尽调 A 股:中文 prompt、akshare 实时数据、反幻觉 tool-call、AI 复核员、Electron 桌面端;OpenAI 兼容协议,支持腾讯云 LKEAP / DeepSeek / Ollama。

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages