Vibe-Trading 远程服务器部署指南:API_AUTH_KEY 完整配置与 7 个安全最佳实践
Vibe-Trading 远程服务器部署指南API_AUTH_KEY 完整配置与 7 个安全最佳实践【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-TradingVibe-TradingYour Personal Trading Agent是一个开源的个人交易智能体一条命令就能让 AI 助手获得跨市场数据获取、策略回测、多智能体研究等完整交易能力。本文面向新手手把手带你完成Vibe-Trading 远程服务器部署重点讲清楚最关键的API_AUTH_KEY怎么配置以及远程暴露 API 时必须遵守的安全最佳实践帮助你从零到一跑出一个安全的远程交易研究服务。为什么要把 Vibe-Trading 部署到远程服务器本地跑vibe-trading命令行或 localhost Web UI 是最简单的用法但以下场景你必须把服务部署到远程服务器上长时间回测跨市场多品种回测、Alpha Zoo 因子基准可能需要运行数十分钟甚至数小时挂机成本太高定时研究任务/scheduled-runs支持的 cron 周期研究需要在服务器后台持续运行团队共享多人通过 Web UI 或 REST API 访问同一个智能体实例。好消息是vibe-trading serve默认只信任本机loopback客户端远程访问敏感接口会直接返回403并提示Remote API access requires an API key。只要配置好API_AUTH_KEY远程访问就是官方支持的一等公民用法。部署前准备环境检查 3 步走在远程服务器上按顺序完成以下准备详见 README.md 的 Quick Start 章节安装环境推荐 Docker 方式零依赖最省心或者本地安装python -m venvpip install -e .创建配置文件执行cp agent/.env.example agent/.env然后编辑agent/.env为你的 LLM 供应商如LANGCHAIN_PROVIDER、PROVIDER_API_KEY、LANGCHAIN_MODEL_NAME填写必要变量克隆仓库如尚未克隆git clone https://gitcode.com/GitHub_Trending/vi/Vibe-Trading cd Vibe-Trading Docker 部署时docker-compose.yml 默认把端口绑定在127.0.0.1:8899并以非 root 用户运行容器——这是官方推荐的安全基线后面讲安全时还会再用到它。API_AUTH_KEY 完整配置步骤4 步完成API_AUTH_KEY是 Vibe-Trading 网络部署的核心变量它是当 API 可被非本机客户端访问时所有敏感接口都要求的 Bearer Token见 README.md 环境变量表。第 1 步生成一个强随机密钥不要用弱口令。在终端生成一个足够长的随机字符串python -c import secrets; print(secrets.token_urlsafe(48))第 2 步写入 agent/.env 并重启服务打开agent/.env找到被注释的API_AUTH_KEY一行参考模板 .env.example取消注释并填入你的密钥API_AUTH_KEY你生成的随机字符串然后重启后端vibe-trading serve --port 8899第 3 步在 Web UI 的 Settings 中输入一次密钥浏览器打开http://你的服务器IP:8899进入Settings页面输入同一个密钥。Web UI 会用这个密钥换取一次性 SSE 票据来维持流式会话之后无需重复输入。第 4 步API 客户端携带 Bearer 头任何 REST 调用包括创建定时研究任务都要加上请求头curl -H Authorization: Bearer 你的API_AUTH_KEY \ http://服务器IP:8899/scheduled-runs认证逻辑完整实现在 agent/src/api/security.py 中采用恒定时间比较hmac.compare_digest防止时序攻击值得学习一下。远程部署的 7 个安全最佳实践以下每一条都来自 Vibe-Trading 的默认设计见 SECURITY.md 与 README.md 的 Security defaults 章节远程部署时建议逐条对照本地用 localhost远程必配密钥vibe-trading serve绑定0.0.0.0但默认仅 loopback 可免密访问一旦允许远程客户端API_AUTH_KEY就是硬性要求缺失时远程请求一律 403。配置密钥后交互式文档自动下线设定API_AUTH_KEY后/docs与/redoc会被禁用防止接口细节被陌生人浏览认证后的工具仍可拉取/openapi.json。Docker 端口只绑 127.0.0.1docker-compose.yml 默认发布端口为127.0.0.1:8899除非你明确要对外暴露否则不要改成0.0.0.0。确需远程访问时配合强密钥 反向代理 HTTPS而不是裸奔明文 HTTP。Shell 工具默认关闭远程部署尤其如此bash/background_run等进程类工具默认只在本地交互式 CLI 中启用HTTP/SSE API 与 MCP 服务器在所有传输方式下都保持关闭除非你显式设置VIBE_TRADING_ENABLE_SHELL_TOOLS1。远程部署时没有特殊理由就不要打开它。CORS 拒绝通配符CORS_ORIGINS*在启用凭据时被直接拒绝启动需要额外信任某个 Web 源时用VIBE_TRADING_EXTRA_CORS_ORIGINS精确列出来源而不是放宽到所有站点。SSE 用一次性票据长密钥不进 URL浏览器的 EventSource 无法携带 Authorization 头Vibe-Trading 用 60 秒过期、单次有效的一次性票据替代避免长生命周期密钥出现在 URL 和访问日志里实现见 agent/src/api/security.py 中的 SSE ticket 部分。生成的回测代码拿不到你的密钥回测子进程运行在收窄的环境中默认不会继承 LLM 供应商密钥、API 认证令牌、Shell 工具开关或券商交易密钥只保留只读行情数据凭据——远程部署时这层隔离依然有效但请保持默认值不要随意放宽VIBE_TRADING_ALLOWED_FILE_ROOTS/VIBE_TRADING_ALLOWED_RUN_ROOTS。常见问题403 报错怎么解决远程打开 Web UI 发消息时提示Remote API access requires an API key. Add it in Settings, or run the backend on localhost for local-only use.按优先级选择方案适用场景① 配置API_AUTH_KEY并在 Settings 输入远程访问推荐② 改用http://localhost:8899在同一台机器访问只是本机使用③ Docker Desktop 宿主机网关设VIBE_TRADING_TRUST_DOCKER_LOOPBACK1并保持端口绑定127.0.0.1Docker Desktop 场景⚠️ 密钥轮换如果怀疑密钥泄露重新生成并更新agent/.env后重启即可旧密钥立即失效Settings 页面的读取与写入接口在配置了密钥后同样需要认证无需额外操作。关键文件速查文件作用.env.example环境变量模板含API_AUTH_KEY注释示例agent/src/api/security.py认证依赖、CORS 解析、跨站请求防护、SSE 票据agent/api_server.pyFastAPI 服务入口docker-compose.ymlDocker 部署与安全加固配置SECURITY.md安全策略与漏洞上报方式README.md部署路径 A~D 与 Security defaults 章节按本文完成部署后你的 Vibe-Trading 实例既能在远程服务器上跑长周期回测与定时研究又通过API_AUTH_KEY守住了每一道 API 边界——这正是官方文档为网络部署推荐的姿势。【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
