新闻详情

新闻详情

首页 / 资讯中心 / 详情

Docker部署TradingAgents-Astock完整指南:从构建镜像到Web UI上线(含中文字体坑)

发布时间:2026/9/28 18:20:47来源:尧图网络
Docker部署TradingAgents-Astock完整指南:从构建镜像到Web UI上线(含中文字体坑)
Docker部署TradingAgents-Astock完整指南从构建镜像到Web UI上线含中文字体坑【免费下载链接】TradingAgents-astockA股多Agent投研框架 — 适配A股数据源(龙虎榜/游资/解禁等)7位分析师基于A股规则的辩论决策基于TradingAgents深度改造适配大A。A-share multi-agent investment research framework — 7 AI analysts, bull/bear debate, risk assessment。项目地址: https://gitcode.com/gh_mirrors/tr/TradingAgents-astock本文带你用 Docker 部署TradingAgents-Astock—— 一个适配 A 股数据源龙虎榜/游资/解禁的多 Agent 投研框架7 位 AI 分析师基于 A 股规则辩论决策。全程只需 3 条命令构建镜像、配置.env、启动 Web UI最后还会讲透两个最坑的部署问题容器内 PDF 导出的中文字体缺失和命名卷的权限报错。一、准备工作克隆仓库 准备 .env前提已安装 Docker 且支持docker compose。1. 克隆代码并进入目录git clone https://gitcode.com/gh_mirrors/tr/TradingAgents-astock cd TradingAgents-astock2. 创建.env文件LLM 密钥配置按供应商任选其一# DeepSeek 示例国内直连性价比高 DEEPSEEK_API_KEYsk-xxx # 或 MiniMax # MINIMAX_API_KEYsk-xxx # 或通义千问 # DASHSCOPE_API_KEYsk-xxx注意各供应商用各自的环境变量名如ZHIPU_API_KEY、XAI_API_KEY不是通用的OPENAI_API_KEY完整清单见 README.md「配置 LLM」一节。二、构建镜像读懂 Dockerfile 的三个关键设计TradingAgents-Astock 的 Dockerfile 采用多阶段构建有 3 个值得了解的设计都是真实踩坑后的修复设计作用对应坑双阶段构建builder slim 运行镜像依赖装在/opt/venv运行镜像干净、体积小环境隔离安装fonts-noto-cjk中文字体PDF 报告fpdf2 渲染在容器内能正常显示中文详见第四节的字体坑预建~/.tradingagents目录并归属appuser命名卷挂载时继承正确属主详见第四节的权限坑构建命令docker compose build构建过程会在 docker-compose.yml 中定义的tradingagents服务下打包整个项目产物为一个包含tradingagentsCLI和tradingagents-webWeb UI两个入口命令的镜像。三、一键启动 Web UI3 条命令上线1. 启动 Web 服务docker compose up web2. 打开浏览器访问http://localhost:85013. 在侧边栏配置后即可分析「LLM 供应商」选你.env里配置的那家配置会持久化重开标签页自动恢复输入 6 位 A 股代码 分析日期点击「开始分析」12 阶段 pipeline 实时显示7 分析师 → 质量门控 → 多空辩论 → 风控 → 最终决策报告支持一键导出Markdown零依赖或PDF依赖镜像内中文字体见下文⚠️常见报错容器启动提示File does not exist: web/app.py 原因是直接写了streamlit run web/app.py它依赖工作目录。compose 的web服务已固定入口为tradingagents-web由 web/launch.py 按文件绝对路径解析与工作目录无关用docker compose up web即可绕开此问题。四、CLI 模式交互式跑分析不需要网页时用 compose 里默认的 CLI 服务docker compose run --rm tradingagents进入交互式命令行输入股票代码即可启动完整投研流程分析过程如下运行结束时--rm会自动清理容器但数据不会丢——缓存、日志、记忆日志都保存在命名卷里见下节。五、两个必知的坑中文字体 卷权限这两个坑都有完整的 issue 记录升级镜像即可根治坑 1导出 PDF 报「未找到中文字体」现象Web UI 点导出 PDF提示找不到中文字体。根因python:3.12-slim基础镜像不带任何 CJK 字体PDF 渲染函数_find_cjk_font()返回None直接抛错。修复Dockerfile 运行阶段已内置apt-get install -y fonts-wqy-microhei fonts-noto-cjk旧镜像处理重新docker compose build即可临时方案是改用 Markdown 导出零依赖永远可用。坑 2启动报[Errno 13] Permission denied: /home/appuser/.tradingagents/cache完整分析见 issues/005-docker-volume-permission.md根因命名卷tradingagents_data挂载到/home/appuser/.tradingagents时若镜像里没预建该目录Docker 会把空挂载点建成root:root而容器内进程以appuser运行写缓存直接被拒。修复新版 Dockerfile 在切换用户后预建cache/logs/memory三个子目录并归属appuser空命名卷会继承该属主。老数据卷升级步骤git pull docker compose build --no-cache # 保留旧卷时修正属主卷名以实际为准 docker run --rm -v tradingagents_data:/d alpine chown -R 1000:1000 /d # 或干脆删卷重建 docker volume rm tradingagents_data六、可选项搭配 Ollama 本地模型docker-compose.yml 内置了ollamaprofile不想用 API 计费的话docker compose --profile ollama up它同时拉起 Ollama 容器和配置了LLM_PROVIDERollama的应用容器若 Ollama 跑在别的机器上则在.env填BACKEND_URLhttp://主机:11434/v1即可。七、常见问题速查报错 / 现象原因解决File does not exist: web/app.py入口依赖 CWD用docker compose up web入口为tradingagents-webPDF 导出报「未找到中文字体」slim 镜像无 CJK 字体重新docker compose build已内置 fonts-noto-cjkPermission denied: .../.tradingagents/cache命名卷属主为 root预建目录的新镜像重建旧卷先chown 1000:1000端口 8501 访问不通容器未监听 0.0.0.0compose 已设STREAMLIT_SERVER_ADDRESS0.0.0.0确认端口映射8501:8501总结3 步部署git clone→ 写.env→docker compose up web访问http://localhost:8501两大坑已内置修复中文字体fonts-noto-cjk和卷权限预建目录归appuser老镜像记得docker compose build --no-cache重建数据不丢所有缓存/日志/记忆落在命名卷tradingagents_data容器随手删数据仍在关键文件Dockerfile、docker-compose.yml、web/launch.py装好之后输入一个 A 股代码就能看 7 位分析师如何围绕龙虎榜、游资动向、解禁等 A 股特色数据展开多空辩论最终给出 Buy / Hold / Sell 评级。【免费下载链接】TradingAgents-astockA股多Agent投研框架 — 适配A股数据源(龙虎榜/游资/解禁等)7位分析师基于A股规则的辩论决策基于TradingAgents深度改造适配大A。A-share multi-agent investment research framework — 7 AI analysts, bull/bear debate, risk assessment。项目地址: https://gitcode.com/gh_mirrors/tr/TradingAgents-astock创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Altium Designer元件库中英文对照表:从电阻电容到二极管选型避坑指南 2026/9/28 22:47:48

Altium Designer元件库中英文对照表:从电阻电容到二极管选型避坑指南

1. 为什么一张对照表能决定原理图返工率刚入行那会儿,我最怕的不是画PCB,而是打开Altium Designer的元件库面板,面对满屏的英文缩写发愣。RES、CAP、IND、DIODE、TVS、MOSFET——这些词单独看都认识,可一旦混在几百个库文件里&…

阅读更多 →
CANoe处理ASC/BLF文件时最常见的三个配置错误及避坑指南 2026/9/28 22:47:41

CANoe处理ASC/BLF文件时最常见的三个配置错误及避坑指南

1. 为什么ASC/BLF文件处理总在关键时刻掉链子搞车载总线测试的兄弟对CANoe肯定不陌生,Vector这套工具链在总线仿真、诊断、标定这些环节基本是绕不开的存在。日常干活的时候,我们经常需要把路试采集的数据、台架跑出来的日志、供应商发过来的报文记录&am…

阅读更多 →
ST25DV NFC天线阻抗匹配与量产级设计方法 2026/9/28 22:47:07

ST25DV NFC天线阻抗匹配与量产级设计方法

1. 这不是“画个线圈就完事”的NFC天线设计,而是用ST25DV芯片在PCB上构建可量产、可复现、可调试的射频前端系统你手头有一颗ST25DV系列动态NFC标签芯片——它不是普通RFID芯片,而是集成了IC接口、EEPROM、能量采集和双向通信能力的智能标签核心。你想把…

阅读更多 →
ST25DV NFC天线参数化设计:KiCad+Python实现精准匹配 2026/9/28 22:47:07

ST25DV NFC天线参数化设计:KiCad+Python实现精准匹配

1. 项目概述:为什么一个NFC标签天线设计值得花三小时写清楚我去年帮一家智能仓储设备厂商做RFID/NFC兼容升级,客户提了个看似简单的需求:“在现有PCB上加个NFC标签,能被手机和工业读卡器稳定识别,尺寸不能超1212mm&…

阅读更多 →
HDMI转MIPI DSI桥接芯片MS1861全流程实战:从选型到点亮调试 2026/9/28 22:47:00

HDMI转MIPI DSI桥接芯片MS1861全流程实战:从选型到点亮调试

MS1861这颗芯片在显示方案圈子里其实不算新面孔,但真正把它用稳、用透的人并不多。我最近刚完成一个把HDMI信号转成MIPI DSI去驱动一块7寸1280x800 IPS屏的项目,从选型、原理图设计、PCB Layout到点亮调试,前后踩了不少坑。这篇文章就把整个过…

阅读更多 →
eip55在鸿蒙上的Flutter适配实践 2026/9/28 22:46:53

eip55在鸿蒙上的Flutter适配实践

1. 为什么要在鸿蒙上做 eip55 适配如果你的团队正在把 Flutter 应用往鸿蒙上迁移,迟早会遇到链上地址校验这个需求。钱包类、行情类、签名工具类应用都绕不开一个基础能力:确认用户输入的是不是一个合法、没被篡改过的以太坊地址。这个需求看起来简单&am…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉