An autonomous agent for deep financial research
💡 Use Cases
这是一个能自动执行端到端深度金融研究流程的智能体,最适合需要高效、结构化处理复杂金融分析问题的场景。
自动化公司财务分析
Problem: 金融分析师需要手动收集、整理并分析多家公司的财务报表数据,过程耗时且容易出错。
Solution: Dexter 能自动分解分析任务,调用实时财务数据API获取利润表、资产负债表等,并进行自我验证,生成结构化分析报告。
Example: 输入“分析苹果公司近三年的盈利能力和财务健康状况”,Dexter会自动规划步骤,获取数据,计算关键比率(如毛利率、ROE),并给出数据支撑的结论。
快速市场趋势评估
Problem: 研究员需要快速评估某个行业或主题的市场趋势,但信息分散,需要综合多方数据。
Solution: Dexter 利用其任务规划和可选的外部网络搜索(Exa API)能力,自主搜集并交叉验证市场信息,迭代分析直至得出可靠趋势判断。
Example: 输入“评估人工智能芯片行业未来一年的增长前景”,Dexter会规划研究步骤,可能搜索最新行业报告、公司财报数据,并综合分析得出趋势观点。
批量处理研究问题
Problem: 开发者或研究团队需要批量处理一系列标准化的金融研究问题,但手动操作效率低下。
Solution: 利用项目内置的评估套件(Eval Suite),可以批量运行一系列预设的金融问题,自动执行并收集结果,便于对比和验证。
Example: 在投资组合分析中,需要对一篮子股票分别进行财务筛查。通过配置eval数据集,让Dexter自动批量回答“公司A的负债率如何?”“公司B的自由现金流是否健康?”等问题,并汇总结果。
复杂投研问题拆解
Problem: 面对一个复杂的、开放的金融研究问题(如“某公司股价是否被低估?”),新手分析师不知从何入手,步骤容易遗漏。
Solution: Dexter 的核心“智能任务规划”能力可将复杂问题自动分解为一系列结构化的研究子任务(如估值、同业比较、风险分析),并自主按步骤执行。
Example: 输入“特斯拉的股价在当前水平是否具有投资价值?”,Dexter会将其分解为:获取财务数据、计算估值指标(PE, PEG)、分析增长预期、评估竞争风险等步骤,逐步执行并反思,最终给出综合回答。
📊 Project Info
- Language
- TypeScript
- Stars
- ⭐ 22,617
- Forks
- 2,760
- Today
- +418
- Ranking
- #3
- Collection
- Language
- Trending Date
- May 3, 2026
- Last Push
- 5/3/2026
🏷️ Topics
5分钟上手 Dexter 金融研究智能体
本指南将帮助你在5分钟内完成Dexter的安装配置,并运行一个金融分析示例
🖥️ OS
⚙️ Runtime
🔧 Tools
📝 Steps
安装Bun运行环境
Dexter使用Bun作为运行时,首先需要安装Bun
macOS/Linux安装命令
$ curl -fsSL https://bun.sh/install | bashWindows安装命令
$ powershell -c "irm bun.sh/install.ps1 | iex"克隆项目并安装依赖
获取Dexter源代码并安装必要的依赖包
克隆项目到本地
$ git clone https://github.com/virattt/dexter.git进入项目目录并安装依赖
$ cd dexter && bun install配置API密钥
创建环境变量文件并填入必要的API密钥
复制环境变量模板
$ cp .env.example .env运行Dexter交互模式
启动Dexter并尝试一个简单的金融分析问题
启动交互式命令行界面
$ bun run start✅ 验证成功
成功运行Dexter后,你将看到以下迹象
- ✓看到Dexter的欢迎界面和交互提示符
- ✓可以输入金融分析问题并获得响应
- ✓在.dexter/scratchpad/目录下生成分析日志文件
⚡ Quick Tips
🔍 Troubleshooting
❓ bun: command not found
→ Bun未正确安装或PATH环境变量未配置,请重新安装Bun并重启终端
❓ OpenAI API key is missing
→ 检查.env文件中OPENAI_API_KEY是否已正确设置,确保没有多余的空格或引号
❓ 依赖安装失败
→ 尝试清理缓存后重新安装:bun clean && bun install
🎯 Next Steps
查看分析日志
检查.dexter/scratchpad/目录下的JSONL文件,了解Dexter的分析过程
运行评估套件
使用 bun run eval 测试Dexter在标准问题集上的表现
修改.env配置
添加Exa API密钥以启用网络搜索功能,增强数据获取能力
Difficulty
中级
Est. Time
3-5天
Target Audience
有一定TypeScript/JavaScript基础的开发者、对金融数据分析感兴趣的量化分析师、希望了解自主智能体(Agent)工作原理的技术爱好者
🎯 What You'll Learn
你将学会如何配置和运行一个金融研究自主智能体,理解其任务分解、自我验证的工作流程,并能利用其评估套件测试智能体的回答准确性。
📋 Prerequisites
项目使用TypeScript开发,需要能理解基本的语法、模块导入导出和异步编程(Promise/async/await)。
项目使用Bun作为运行时,需要了解基本的包管理和脚本运行命令。如果熟悉Node.js,迁移到Bun很容易。
需要在终端中执行克隆仓库、安装依赖、设置环境变量和运行项目等操作。
项目运行需要配置多个第三方服务的API密钥(如OpenAI),需要知道如何获取和设置。
了解利润表、资产负债表等基本概念,有助于更好地理解智能体分析的问题和结果,但不是运行项目的硬性要求。
📚 Resources
Bun 官方文档
学习Bun运行时、包管理器、测试运行器的使用方法。
OpenAI API 文档
了解Chat Completions API的调用方式、参数和最佳实践,这是Dexter智能体的“大脑”。
TypeScript 官方手册
如果你对TypeScript还不熟悉,这是最好的入门和参考材料。
项目 GitHub Issues 和 Discussions
查看他人遇到的问题和解决方案,或提出自己的疑问。
LangChain JS/TS 文档
Dexter很可能使用了LangChain框架或其概念。学习LangChain有助于深入理解Agent架构。
🗺️ Learning Phases
环境与项目准备
安装Bun运行时
根据你的操作系统(macOS/Linux或Windows),按照README中的命令安装Bun。安装后,在终端输入 `bun --version` 验证安装成功。
获取必要的API密钥
1. 前往 OpenAI 平台创建API密钥。 2. 前往 Financial Datasets 获取其API密钥。 3. (可选)前往 Exa 获取API密钥以启用网络搜索功能。
克隆项目并安装依赖
1. 在终端中执行 `git clone https://github.com/virattt/dexter.git` 克隆项目。 2. 进入项目目录:`cd dexter`。 3. 运行 `bun install` 安装所有依赖包。
配置环境变量
在项目根目录创建 `.env` 文件,并按照 `.env.example` 的格式填入你的API密钥:`OPENAI_API_KEY`、`FINANCIAL_DATASETS_API_KEY` 和可选的 `EXA_API_KEY`。
首次运行与验证
以交互模式运行Dexter
在项目目录下运行命令 `bun run start`。程序启动后,在终端输入一个简单的金融研究问题,例如:“苹果公司2023年的营收是多少?” 观察智能体的思考、规划和执行过程。
探索开发监视模式
运行 `bun run dev` 启动开发模式。尝试修改 `src/` 目录下的某个TypeScript文件(例如一个简单的日志输出),保存后观察程序是否自动重启。
查看调试记录(Scratchpad)
运行一次查询后,前往 `.dexter/scratchpad/` 目录,找到最新的 `.jsonl` 文件。用文本编辑器打开,查看智能体完整的工具调用记录、原始数据和推理摘要。
理解核心工作流程
分析一个完整查询的日志
提出一个更复杂的问题,如:“对比特斯拉和丰田最近一个季度的毛利率”。运行后,仔细研究scratchpad文件,理解“任务分解 -> 工具执行 -> 结果总结 -> 自我验证/反思 -> 迭代”的完整循环。
阅读核心源代码结构
浏览 `src/` 目录的主要文件: 1. `agent/`:智能体的核心逻辑,如规划、反思。 2. `tools/`:定义智能体可以使用的各种数据获取工具。 3. `index.ts`:主程序入口。 目标是理解各模块如何通过 `LangChain` 或类似框架组织在一起。
运行评估套件
执行 `bun run eval:all` 或 `bun run eval:sample`。观察终端出现的实时评估UI,了解智能体在预设问题集上的表现,包括准确率等统计信息。
实践与自定义
尝试修改或添加一个工具
在 `src/tools/` 目录下,参考现有工具(如 `financials.ts`)的格式,创建一个新的工具。例如,创建一个获取新闻头条的工具。然后在 `src/tools/index.ts` 中导出它。
调整智能体提示词(Prompt)
在 `src/agent/` 的相关文件中(可能是 `prompts.ts` 或直接写在代码中的字符串),找到定义智能体角色、任务规划、反思逻辑的提示词。尝试微调其中一部分,观察对智能体行为的影响。
构建一个简单的前端界面(可选)
使用简单的Web框架(如Express.js)或静态页面,创建一个HTML表单,允许用户通过网页输入问题,并将请求发送到Dexter后端,最后展示结果。
⚠️ Common Mistakes
❌ 环境变量配置错误
✅ 确保 `.env` 文件在项目根目录,且变量名与 `.env.example` 完全一致,并且没有多余的空格或引号。在代码中可以用 `console.log(process.env.OPENAI_API_KEY?.substring(0,5))` 来验证是否成功读取(仅输出前几位以防泄露)。
❌ 未安装Bun或版本过低
✅ 严格按照README要求安装指定版本(v1.0+)。使用 `bun --version` 检查,如果已安装Node.js,注意命令是 `bun` 而不是 `node` 或 `npm`。
❌ API密钥无额度或权限错误
✅ 首先确认OpenAI账户有可用额度。其次,检查Financial Datasets的API密钥是否有效,以及其服务套餐是否包含你要查询的数据(如特定公司的财务报表)。
❌ 直接修改 `dist/` 目录下的编译文件
✅ 所有源代码修改都应在 `src/` 目录下进行。`dist/` 是编译输出目录,修改会被覆盖。修改 `src/` 后,需要重新运行 `bun run start` 或 `bun run build`。
❌ 提出的问题过于模糊或非金融领域
✅ Dexter是专为金融研究设计的,问题应围绕公司财务、市场指标等。尝试从具体、可数据化的问题开始,例如:“微软最新的每股收益(EPS)是多少?”,而不是“微软怎么样?”。
🚀 Next Steps
1. **深入研究架构**:分析Dexter如何集成不同的数据源(实时数据、搜索),并学习其安全机制(循环检测)的具体实现。 2. **性能优化**:尝试优化提示词或工具调用逻辑,以减少API调用次数、缩短响应时间或提高答案准确性。 3. **集成与部署**:将Dexter作为服务部署到云服务器(如Railway, Fly.io),并为其构建一个更友好的Web或聊天界面。 4. **领域扩展**:借鉴其架构,尝试构建用于其他垂直领域(如法律研究、医疗文献分析)的自主智能体。 5. **参与贡献**:在GitHub上寻找标记为 `good first issue` 的工单,尝试修复bug或添加小功能,向原作者提交Pull Request。

