【免费下载链接】LangAlpha
Claude Code for Financial Market
本文为 LangAlpha 开发者入门 指南,带你完成开源项目 LangAlpha(Claude Code for Financial Market,AI 智能体金融交易平台)的完整上手流程:Docker 一键拉起全栈、宿主机本地开发、读懂源码结构,最后跑通测试并提交你的第一个贡献。全程无需付费 API Key,零密钥也能体验核心功能。
什么是 LangAlpha:一张图建立整体心智模型
LangAlpha 是一个开源的 AI 智能体交易框架:AI 智能体自主研究市场、建立投资论点、在你的授权范围内操作券商账户。它的核心设计是「交易是一个闭环」——研究、论点、仓位、下单、监控,新证据不断回灌到论点中:
全栈架构如下:多 Worker 的 FastAPI 后端驱动 Agent 运行,Agent 在 Daytona/Docker 沙箱中工作,PostgreSQL + Redis 承担状态与传输:
仓库目录速览
| 目录 | 内容 |
|---|---|
| src/ | 后端与智能体核心:FastAPI 服务、PTC Agent、工具、LLM 封装 |
| src/server/ | FastAPI 路由、handlers、services、数据库层 |
| src/ptc_agent/ | 核心 Agent 库:工厂、中间件栈、子智能体、提示词 |
| web/ | React 19 + Vite + TypeScript 前端 |
| desktop/ | Electron 桌面壳(macOS / Windows / Linux) |
| plugins/ | 内置 MCP 服务器与技能包(Agent Plugins 1.0 格式) |
| libs/ | ptc-cli独立 CLI 与market-protocol市场数据协议包 |
| migrations/ | Alembic 数据库迁移(原始 SQL) |
| tests/ | 单元 / 集成 / 回归三层测试 |
第1步:环境准备与前置条件清单
来自 CONTRIBUTING.md 的官方要求:
- Docker + Docker Compose(Docker 方式唯一硬性依赖)
- 宿主机开发(可选):Python 3.13+ + uv、Node.js 22+ + pnpm
⚠️ Python 必须 3.13 而非 3.12:Redis 连接池在
asyncio.Condition上阻塞,低版本存在通知丢失缺陷(见 pyproject.toml 中的注释说明)。
配置文件分为两类,务必分清:
- 凭据 / URL 类 → .env.example(复制为
.env) - 行为设置类 → agent_config.yaml 与 config.yaml
第2步:Docker 一键跑起全栈(最快上手路径)
这是官方推荐的开发者入门路径,整栈(后端、前端、PostgreSQL、Redis)全部容器化:
git clone https://gitcode.com/gh_mirrors/la/LangAlpha cd LangAlpha cp .env.example .env make config # 交互式向导:LLM、数据源、沙箱、网页搜索 make up # 构建并启动全栈- 后端 API→
http://localhost:8000(热重载,./src直接挂载进容器) - 前端→
http://localhost:5173(热重载) - 健康检查:
curl http://localhost:8000/health返回{"status": "healthy"}即成功 - 停止:
make down(make clean会额外回收沙箱容器的磁盘)
零密钥也能用?是的
make config(由 scripts/configure.sh 驱动)会按你拥有的服务逐项配置。即使不填任何 Key:
- 沙箱:自动回落到本地 Docker 容器
- 数据:Yahoo Finance MCP 提供免费行情、基本面与筛选
- LLM:填一个 API Key(.env.example 支持 Anthropic / OpenAI / Gemini 等),或直接在 UI 里用 ChatGPT / Claude 订阅 OAuth 登录
第3步:宿主机本地开发(不用容器跑前后端)
想脱离容器调试时,按 CONTRIBUTING.md 的 Quick Start:
make install # uv 装后端依赖 + pnpm 装前端依赖 make setup-db # Docker 里只起 PostgreSQL + Redis 并建表 make dev # 后端 :8000 热重载 make dev-web # 前端 :5173(另开一个终端)宿主机跑网页抓取还需安装浏览器依赖:
source .venv/bin/activate && scrapling install第4步:读懂代码的 3 个「单一事实来源」文件
LangAlpha 为 AI 编码助手维护了三份 AGENTS.md,它们同样是新人理解架构的最快路径:
| 文件 | 读什么 |
|---|---|
| AGENTS.md | 根文档:PTC(Programmatic Tool Calling)模式、Agent 内部结构、数据库分层、多 Worker 约定 |
| web/AGENTS.md | 前端「地雷区」:双模认证、SSE 传输、Zod 边界等易踩坑点 |
| desktop/AGENTS.md | 桌面壳与 Web 的窗口 chrome 契约 |
几个新人必须知道的约定:
- 无 ORM:全部原始 SQL,psycopg3 异步连接池
- 异步优先:handler 与 service 一律
async def - 工具 docstring 即提示词:模型调用时直接读它,改 docstring 等于改产品行为,且有快照锁测试守护(tests/unit/mcp_servers/ 的 docstring lock 文件),顺嘴改写会导致默认单测失败
- 多 Worker 服务器:状态只在 Postgres / Redis,进程内存不算事实来源
第5步:跑通测试——分层测试命令速查
测试入口统一收敛在 Makefile,官方 CI 等价命令:
make test # 后端单元测试(默认跑 tests/unit/,排除集成类) make test-web # 前端 Vitest 单元测试 make lint # Ruff(后端)+ ESLint(前端) make test-all # 后端 + 前端 + market-protocol + 内存沙箱集成理解 pytest 的测试分层
pyproject.toml 的[tool.pytest.ini_options]默认addopts = "-m 'not integration and not slow and not regression'",即make test只跑单元层。需要更高层验证时显式选择:
| 层级 | 命令 | 依赖 |
|---|---|---|
| 单元 | uv run pytest tests/unit/ | 无外部依赖,CI 默认 |
| 集成 | uv run pytest -m integration | 需 DB + Redis + 真实 API Key |
| 回归 | uv run pytest -m regression | 需运行中的服务 + 实时行情源 |
| 沙箱 | make test-sandbox | 支持 memory / docker / daytona 三种 provider |
| 市场协议包 | make test-market-protocol | 独立 uv 环境 |
前端另有pnpm typecheck(tsc -b,类型检查是硬门禁)与pnpm test:e2e(Playwright)。
第6步:提交贡献——官方 4 步流程
- 功能先开 Issue:新特性请先提 Issue 提案,让维护者早期介入;Bug 修复可直接提 PR
- 新依赖先打招呼:添加第三方依赖或外部服务前,先与维护者确认
- 证明你的改动能工作:端到端验证真实行为,并为改动区域补上防回归测试(先跑
make test、make test-web、make lint全绿) - 对 main 提 PR:清晰描述改了什么、如何验证
代码风格红线
- 后端:Ruff lint(仅全局忽略
E741),uv run ruff check src/ - 前端:ESLint flat config + shadcn/ui + Tailwind
- 代码与文档字符串一律英文(Issue 可用中文交流)
常见问题排查
| 症状 | 处理 |
|---|---|
make up后 8000 端口不通 | 看docker compose logs backend;确认.env已由make config生成 |
| 端口 5432/6379 被占用 | 在 .env 中调整PG_HOST_PORT/REDIS_HOST_PORT(见 docker-compose.yml) |
| 改了后端代码没生效 | 确认用的是 Docker 挂载开发镜像(./src已挂载),或宿主机用make dev |
| 单测莫名失败 | 检查是否误改了带 docstring 锁的 MCP 工具文档 |
💡 跑make help可列出全部目标(含migrate、data-probe、test-sandbox等),Makefile 本身就是最好的命令手册。
写在最后
按「Docker 拉栈 → 宿主机调试 → 读懂 AGENTS.md → 分层跑测试 → 按流程提 PR」这条路径走一遍,你就完成了 LangAlpha 开发者入门的全部动作。从你跑通第一条make test开始,这个仓库的每个提交都等你参与。🚀
【免费下载链接】LangAlpha
Claude Code for Financial Market
相关推荐
ESLint 开发环境搭建全指南:从 Fork 到跑通测试的贡献者入门
ESLint 开发环境搭建全指南:从 Fork 到跑通测试的贡献者入门 本篇指南围绕 ESLint 官方《Set up a Development Enviro
开发工具Lint静态分析代码质量psutil源码构建与贡献指南:从pip install到跑通全套测试的开发者路线图
psutil源码构建与贡献指南:从pip install到跑通全套测试的开发者路线图 psutil 是 Python 生态中最流行的跨平台进程与系统监控库,绝大
可观测性系统编程从0到1参与RunCat 365开源:让你的代码跑起来的贡献指南
从0到1参与RunCat 365开源:让你的代码跑起来的贡献指南 RunCat 365是一款在Windows任务栏显示可爱跑步猫咪动画的开源项目,它能根据系统性
桌面应用
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考