
Dexter 是一个能够自主运行的金融研究智能体,它具备思考、规划和持续学习的能力。通过任务分解、自我反思并结合实时市场数据来执行深度分析,可以说,它就像一个专门为金融研究领域量身打造的 Claude Code。
它擅长处理复杂的金融问题,能够将模糊的查询转化为清晰、可执行的分步研究计划。随后,Dexter 会调用相应的工具获取实时数据,并不断检查和完善自己的工作成果,最终输出有数据支撑的可信结论。
核心能力包括:
- 智能任务规划:自动将复杂查询分解为结构化的研究步骤。
- 自主执行:根据需要选择并调用合适的工具来收集金融数据。
- 自我验证:主动检查自身工作流程与结果,并进行迭代优化直至任务完成。
- 实时金融数据:能够访问并分析公司的利润表、资产负债表和现金流量表等关键信息。
- 安全特性:内置了循环检测和执行步骤限制,有效防止智能体陷入无限循环或失控运行。

先决条件
在开始部署 Dexter 之前,你需要准备以下几个关键组件:
- Bun 运行时 (版本 v1.0 或更高)
- OpenAI API 密钥 (可在此获取)
- Financial Datasets API 密钥 (可在此获取)
- Exa API 密钥 (可在此获取) - 此项为可选,主要用于增强网络搜索能力
安装 Bun
如果你的系统中尚未安装 Bun,可以通过以下命令快速安装:
macOS/Linux 系统:
curl -fsSL https://bun.com/install | bash
Windows 系统:
powershell -c "irm bun.sh/install.ps1|iex"
安装完成后,建议重启终端,并通过以下命令验证安装是否成功:
bun --version
如何安装
-
克隆项目仓库:
git clone https://github.com/virattt/dexter.git
cd dexter
-
使用 Bun 安装项目依赖:
bun install
-
配置环境变量:
# 复制示例环境配置文件
cp env.example .env
# 编辑 .env 文件,填入你的各项 API 密钥(如使用云服务提供商的模型)
# OPENAI_API_KEY=your-openai-api-key
# ANTHROPIC_API_KEY=your-anthropic-api-key (可选)
# GOOGLE_API_KEY=your-google-api-key (可选)
# XAI_API_KEY=your-xai-api-key (可选)
# OPENROUTER_API_KEY=your-openrouter-api-key (可选)
# (可选) 如果在本地运行 Ollama
# OLLAMA_BASE_URL=http://127.0.0.1:11434
# 其他必需的密钥
# FINANCIAL_DATASETS_API_KEY=your-financial-datasets-api-key
# 网络搜索配置 (首选 Exa,Tavily 作为备选)
# EXASEARCH_API_KEY=your-exa-api-key
# TAVILY_API_KEY=your-tavily-api-key
如何运行
启动 Dexter 的交互模式非常简单:
bun start
如果你希望在开发过程中实时监控变化,可以使用开发模式:
bun dev
如何评估
Dexter 项目内置了一套评估套件,用于在一系列预设的金融问题上测试智能体的表现。该评估流程利用 LangChain 进行跟踪,并采用 LLM 作为裁判来对答案的正确性进行评分。
在所有评估问题上运行测试:
bun run src/evals/run.ts
在随机抽取的少量样本上运行测试(例如10个问题):
bun run src/evals/run.ts --sample 10
执行评估时,终端会显示一个实时界面,展示测试进度、当前问题以及实时准确率统计。所有详细结果都会被记录到 LangSmith 平台,方便后续进行深入分析。
如何调试
为了方便调试和历史追溯,Dexter 会将所有的工具调用记录到“暂存”文件中。每一次查询都会在 .dexter/scratchpad/ 目录下生成一个新的 JSONL 文件。
暂存文件目录结构示例:
.dexter/scratchpad/
├── 2026-01-30-111400_9a8f10723f79.jsonl
├── 2026-01-30-143022_a1b2c3d4e5f6.jsonl
└── ...
每个文件都包含以换行符分隔的 JSON 条目,记录了以下关键信息:
- init:用户提交的原始查询。
- tool_result:每一次工具调用的详细信息,包括参数、原始返回结果以及 LLM 生成的摘要。
- thinking:智能体内部的推理步骤和思考过程。
示例暂存文件条目:
{
"type": "tool_result",
"timestamp": "2026-01-30T11:14:05.123Z",
"toolName": "get_income_statements",
"args": {
"ticker": "AAPL",
"period": "annual",
"limit": 5
},
"result": {...},
"llmSummary": "Retrieved 5 years of Apple annual income statements showing revenue growth from $274B to $394B"
}
通过查看这些文件,你可以非常直观地了解智能体收集了哪些数据,以及它是如何理解和解释这些结果的。
项目地址
如果你对这个 开源实战 项目感兴趣,想要了解更多细节或贡献代码,可以访问其 GitHub 主页:
https://github.com/virattt/dexter/blob/main/README.md
Dexter 为金融数据分析提供了一个高度自动化的AI智能体解决方案,展示了如何将大语言模型与专业数据工具结合。对于开发者而言,这是一个很好的学习案例;对于金融从业者,它或许能成为一个强大的分析助手。如果你想探索更多类似的AI应用或技术讨论,欢迎来 云栈社区 交流分享。