investment-agent
Investment Intelligence Agent
行业研究与投资逻辑验证智能体
把分散的研报观点、新闻事实和市场行情,组织成有证据支撑、能够回看原文、可以持续核验的研究判断。
研究一个行业,既要知道市场在讨论什么,也要理解观点背后的驱动因素,并跟踪这些判断是否得到后续事实支持。本项目围绕这一研究过程,将 研究问答、投资逻辑验证和可复用投研能力 接入 DeepSeek Harness,通过 Python MCP 工具完成检索、分析与校验。
An investment research agent for evidence retrieval, thesis verification and reusable research workflows, built on DeepSeek Harness and MCP.
阅读示例简报 · 查看结构化输出 · 快速运行 · 架构说明 · 验证记录
项目成果
研究环节 | 要回答的问题 | 当前公开版提供的能力 |
研究问答 | 市场上有哪些相关信息?依据来自哪里? | 按主题、来源和截止日检索研报与新闻,返回可定位的证据片段,为带引用的回答提供依据 |
投资逻辑验证 | 观点由哪些变量驱动?什么证据会改变判断? | 读取结构化观点,逐维度比对后续事件,区分支持、削弱与证据不足,并保留机构分歧 |
能力复用 | 如何把同一套研究方法用于其他主题或 Agent? | 将领域能力封装为 9 个 MCP 工具,统一研究输入、证据凭据与输出校验,生成 HTML / Markdown / JSON 简报 |
下面是使用虚构公司「云澜算力」生成的研究简报。公开样例包含 10 篇合成文档、4 条观点、6 条事件标注,截止 2026-07-31 可见 9 篇文档。无需 API Key 即可复现。

研究问答:找到信息,也能找到依据
研报记录机构判断,新闻与公告提供后续事实,行情反映市场价格变化。系统保留每条材料的来源、发布时间和原文定位,让研究结论可以逐条核对。
例如,研究者提出“云澜算力的需求扩张是否已经兑现”,系统会围绕资本开支、服务器交付等维度检索证据。返回结果包含文档与 Chunk ID,研究者可以继续读取上下文,检查引用是否支持回答。
公开版默认使用 BM25 检索,配合查询扩展、来源平衡与时间过滤。研究内核保留了向量检索、RRF 融合和重排模块,混合检索尚未接入公开默认流程。
最终简报的引用还要通过程序校验:证据是否由工具返回、是否属于当前语料与截止日、引文是否出现在原文中。模型结束后,命令行入口会独立执行这一步。
投资逻辑:把观点拆成可以跟踪的研究问题
一条“资本开支扩张将带动服务器订单增长”的观点,包含驱动因素、预期结果和需要观察的指标。系统按这些维度组织研究,分别回答资本开支是否增加、交付是否兑现、盈利是否改善。
结构化观点
每条观点保留主题、方向、来源机构、报告日期与原文证据,并附带具体的验证维度。当前公开流程读取预先准备的观点库。
字段 | 合成案例中的内容 |
研究主题 | AI 算力 |
核心观点 | 云澜算力的 AI 算力资本开支增长将带动服务器订单增长 |
观点方向 | 偏多 |
驱动因素 | 资本开支扩张 |
观察指标 | 资本开支、服务器交付 |
来源定位 | 示例研究甲,报告日期 2026-05-05,保留原文 Chunk ID |
后续事实验证
系统将后续新闻与公告整理为事件,再判断事件与观点维度的关系。同一研究主题可以同时存在得到支持的判断和受到削弱的判断。
研究问题 | 后续证据(合成数据) | 研究结果 |
资本开支是否增长? | 实际资本开支同比增长 20% | 支持需求扩张中的投入维度 |
服务器交付是否兑现? | 已完成服务器交付 1,200 台 | 提供需求兑现的方向性事实 |
订单增长是否带来盈利改善? | 毛利率为 18%,同比下降 3 个百分点 | 削弱盈利改善判断,保留竞争压力 |
经营现金流是否改善? | 当前语料缺少足够披露 | 标记为证据缺口,继续观察 |
这组证据形成的研究判断是:需求端已有兑现证据,盈利端仍有压力,现金流改善尚缺少可验证事实。 对应原文见 示例简报。
观点、事实与市场反应分别记录
系统把基本面事实、预期变化和市场价格反应放在不同的证据类别中。预测上调与股价上涨可以作为研究背景,但不能直接计入基本面验证。行情工具依据本地价格数据计算指标,供研究者与业务判断对照。
跨研报聚合时,程序分别统计观点、报告和机构,保留同一报告内的不同方向,避免把观点条数误当成独立机构数量。缺少证据的维度也会留在最终输出中。
可复用投研能力
研究方法通过明确的输入输出和工具接口实现复用。更换符合数据契约的研究语料后,可以沿用检索、事件验证和引用校验流程。
输入 | 输出 |
研究主题与问题 | 主题观点及分歧 |
研报、新闻、公告与准备好的观点库 | 可定位到原文的代表性证据 |
统一研究截止日 | 各维度的验证状态与证据缺口 |
本地行情与对照基准 | 市场反应指标及结构化研究简报 |
模型负责语义理解与研究表达,程序负责计算、时间约束和校验。 DeepSeek Harness 提供模型与工具循环、上下文和会话,本项目提供投研领域工具及最终报告检查。默认演示使用手工标注和预设模型响应,便于复现业务过程。
flowchart LR
Q[研究问题] --> H[DeepSeek Harness]
H <-->|9 个 MCP 工具| M[Python 研究服务]
M --> R[研报与新闻检索]
M --> V[观点聚合与事件验证]
M --> K[行情计算]
R --> E[原文证据与截止日凭据]
V --> E
H --> J[结构化研究答案]
J --> G[应用独立引用校验]
E --> G
G --> P[HTML / Markdown / JSON 简报]工具 | 职责 |
| 数据范围、截止日和运行模式 |
| 有时间边界的研报检索 |
| 新闻与公告检索 |
| 读取已准备的结构化观点 |
| 按 Chunk ID 回看原文 |
| 事件去重、维度验证、证据缺口 |
| 分别统计观点、研报和机构,保留 mixed 方向 |
| 确定性计算本地行情指标 |
| 校验输出结构、引用身份和原文片段 |
框架与依赖:DeepSeek Harness、MCP Python SDK。详细分工见 架构说明,语料接入要求见 数据契约。
快速运行
安装 uv 后,在仓库根目录执行。建议 Python 3.12,uv 可自动准备解释器。
uv sync --frozen --python 3.12
uv run --frozen investment-agent doctor
uv run --frozen investment-agent demo用浏览器打开 outputs/demo/research.html。同目录还有 research.md 和 research.json,包含工具调用轨迹和引用校验结果。
demo 通过真实 MCP 客户端启动 Python 服务并执行 11 次工具调用,不需要 API Key。调用顺序固定,用于演示业务流程,不测试模型自主规划。
使用官方 DS Harness
先运行不消耗模型 API 的集成演示:
uv run --frozen --extra harness investment-agent harness --mock-model这里运行的是官方 Harness 与真实 MCP 工具。本地脚本模型提供预设 tool calls,用于验证框架接线与最终输出校验。Python SDK 固定为 0.1.2rc1,Web 发行版固定为 0.1.2-rc.1,均为预发布版本,升级需要重新验证兼容性。
使用真实模型时,将 .env.example 复制为 .env,填写自己的 DEEPSEEK_API_KEY:
DEEPSEEK_API_KEY=your-api-key
DEEPSEEK_BASE_URL=https://api.deepseek.com
DEEPSEEK_MODEL=deepseek-v4-flash
INVESTMENT_MODEL_MODE=fixtureuv run --frozen --extra harness --extra live investment-agent harness "验证云澜算力的需求、盈利与现金流判断,引用原文并说明缺口。"默认仍以 fixture 提供可复现的业务判定,外层工具选择和答案由真实模型完成。设置 INVESTMENT_MODEL_MODE=live 后,事件抽取和维度判定也调用模型,会产生额外 API 请求。真实外部模型的端到端验证尚未完成,详见 验证记录。
会话保存在 outputs/harness/harness-home,可使用同一 --output 与 --session-id 继续。会话和证据数据库仅保存在本地。
可选 Web 界面
安装 Node.js 24+,在仓库根目录执行:
npm ci --ignore-scripts
uv run --frozen investment-agent web浏览器打开终端给出的本地地址,在官方 Harness 界面添加当前仓库为工作区,开始研究对话。默认地址为 127.0.0.1:3080,可用 --port 3081 换端口,--no-open 禁止自动打开浏览器。
Web 使用官方界面和本项目的研究配置,关闭通用 shell、编辑文件和子 Agent 工具。它展示工具结果与模型聊天。需要经过应用独立校验的 HTML 简报时,请使用命令行 harness 入口。
验证与工程交付
公开源码包含 61 项测试,覆盖时间边界、证据来源、引文一致性、观点统计及失败处理。官方 Harness 集成测试使用本地脚本模型与真实 MCP 服务,检查协议与运行流程。Windows 和 Ubuntu 的 GitHub Actions 已通过测试、演示、发布检查与构建。
src/investment_agent/ MCP 服务、Harness 适配、示例与报告生成
src/financial_rag/ 检索、事件、验证与行情业务内核
tests/ 业务测试、真实 MCP 和 Harness 集成测试
examples/ 可直接阅读的合成案例产物
docs/ 架构、数据契约、验证记录与来源说明
scripts/ 样例生成、发布检查、纯源码打包
.github/workflows/ Windows / Ubuntu CIuv run --frozen ruff check src/investment_agent scripts tests
uv run --frozen --extra harness --extra live pytest -q
uv run --frozen python scripts/check_release.py
uv build
uv run --frozen python scripts/build_release.py源码打包采用明确的文件范围,排除环境、密钥、会话和私人数据。更新公开示例时,先运行 demo,再运行 uv run --frozen python scripts/export_public_example.py,导出器会移除执行时间、耗时和会话身份字段。提交前可使用 scripts/check_release.py --git-index 检查实际暂存内容。详见 发布步骤 和 隐私复查。
研究路线与公开范围
项目的研究路线还包括机构观点共识与投资传导分析:比较近期共识与历史窗口的差异,观察机构观点的边际变化,并沿需求、投入、经营兑现等环节组织研究问题。
方向 | 当前公开状态 |
研报与新闻检索、观点验证、证据引用 | 已提供可运行的合成案例 |
混合检索 | 保留相关内核模块,默认入口使用 BM25 |
多时间窗口 ICRS 机构观点共识因子 | 尚未提供完整可复现入口与配套回测 |
自动生成投资传导图 | 尚未接入当前公开工作流 |
公开版使用合成语料,不包含历史私人知识库、机构原始材料或相关评测数据。样例行情用于演示计算公式,不代表策略回测。引用校验可以确认来源与引文一致,但不能证明推理或投资判断必然成立。工具调用次数目前由提示词约束,尚未实现强制预算或业务级 exactly-once 执行。
MIT License。数据与依赖归属见 THIRD_PARTY_NOTICES.md。本项目为独立展示项目。
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/wst1234566/investment-intelligence-agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server