如何让 Vibe-Trading 回测产物写入你自己的目录?VIBE_TRADING_ALLOWED_RUN_ROOTS 配置
如何让 Vibe-Trading 回测产物写入你自己的目录VIBE_TRADING_ALLOWED_RUN_ROOTS 配置【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-TradingVibe-Trading 的回测产物run 目录下的config.json、code/signal_engine.py以及回测输出默认写在固定的 run roots 下例如~/.vibe-trading/runs和./runs。如果你想把回测结果写进自己的研究目录——比如按项目归档、方便备份或统一存储——需要配置环境变量VIBE_TRADING_ALLOWED_RUN_ROOTS把你自己的目录加入“生成代码 run 目录”的允许清单。这个配置适用于 CLI、Web UIvibe-trading serve和 MCP 客户端三种使用方式但注入环境变量的方式不同下面分别说明。先弄清楚默认的 run roots 是什么回测 runner 在执行前会用safe_run_dir()校验run_dir目录不在任何允许的 run root 内时直接拒绝。默认的 run roots 由 path_utils.py 的_default_run_roots()给出包括agent/runsagent 包目录下的 runs./runs当前工作目录下的 runs~/.vibe-trading/runs、~/.vibe-trading/shadow_runs以及运行时根目录下的runs/shadow_runs整个运行时状态默认位于~/.vibe-trading可用VIBE_TRADING_HOME整体迁移VIBE_TRADING_ALLOWED_RUN_ROOTS在 env_schema.py 中默认值为空字符串即“不添加额外 root”。配置后你的目录会追加到上述默认清单之后而不是替换它们。另外要注意生成的回测代码以本地 Python 子进程方式运行runner 只把 OS/Python 基础、代理/证书设置、VIBE_TRADING_ALLOWED_RUN_ROOTS和只读行情 key如TUSHARE_TOKEN、FMP_API_KEY、FRED_API_KEY传入子进程不传 LLM key、API 认证 token 或券商密钥。所以这个变量既是“写哪里”的开关也是子进程环境的一部分。配置方法一CLI / serve 场景写进 agent/.env如果你通过终端或 Web UI 使用对应vibe-trading、vibe-trading serve把变量写进agent/.env没有就先按 README 的说明从agent/.env.example复制一份然后重启服务进程。格式是逗号分隔的目录列表例如/home/yourname/research替换成你自己的目录需已存在# agent/.env 中追加一行 VIBE_TRADING_ALLOWED_RUN_ROOTS/home/yourname/research需要多个目录时用英文逗号分隔例如VIBE_TRADING_ALLOWED_RUN_ROOTS/home/yourname/research,/data/backtests/2026条目支持~展开并按绝对路径解析见 path_utils.py 中对每个条目的expanduser().resolve()处理以\\或//开头的 UNC 共享路径会被直接拒绝。配置方法二MCP 客户端必须写在客户端的 env 块里通过 MCP 客户端如 Claude Desktop使用时有一个容易踩的坑server 由客户端自己 spawnshell 里的export永远传不进去。README 明确要求把它写在客户端配置的env块里{ mcpServers: { vibe-trading: { command: vibe-trading-mcp, env: { VIBE_TRADING_ALLOWED_RUN_ROOTS: C:\\Users\\me\\research } } } }上面是 README 原文给出的示例Windows 路径Linux/macOS 下把值换成你自己的目录即可例如~/research或绝对路径/home/yourname/research。改完env块后需要让客户端重启该 MCP server 进程环境变量才会被新进程读到。把回测指到你自己的 run 目录配置生效后回测的执行目录run_dir必须落在允许的 roots 之内。runner 的调用方式是见 runner.pypython -m backtest.runner run_dirrun_dir需要包含config.json和code/signal_engine.pyrunner 在 main() 中先从run_dir读取这两个文件回测结果同样写回该目录。在 agent / swarm 侧strategy discovery 的 SKILL.md 也说明了同一约束每个run_dir必须解析到运行时 runs root 或VIBE_TRADING_ALLOWED_RUN_ROOTS内清单中落在外部的条目会被跳过并带有path-outside-allowed-roots:前缀其余条目继续处理。如何判断配置有没有生效文档给出的判断依据是 runner 的拒绝信息。当run_dir不在允许的 roots 内时safe_run_dir()抛出的错误格式为见 path_utils.pyrun_dir 你的路径 is outside allowed run roots. Allowed roots: - 允许的 root 1 - 允许的 root 2 Set VIBE_TRADING_ALLOWED_RUN_ROOTS to add a run directory. Under an MCP client, set it in that clients server env block — exporting it in a shell does not reach the spawned server.检查两点报错时Allowed roots列表里应出现你配置的目录。没出现说明进程没读到该变量——CLI/serve 场景检查agent/.env是否保存且已重启MCP 场景确认变量在客户端env块而非 shell 里。不报错时run_dir通过校验config.json与code/signal_engine.py被读取回测产物落盘在你自己的目录里。之后可以用vibe-trading show run_idTUI 内对应/show按 run id 回看历史 run——safe_run_id()会在包括已配置 roots 在内的允许范围内解析 run id因此自定义目录里的 run 同样可被检索到。替代路径与边界只想整体搬家而不是加一个目录VIBE_TRADING_HOME可以把整个运行时根sessions、runs、swarm runs、uploads、sessions.db索引都在其下重定位到别的目录。如果你的目标是“所有回测产物都进我的备份盘”整体迁移比逐目录加 root 更直接两者可以叠加使用。Docker 部署回测 runs 存放在命名 Docker volume 中git pull docker compose up --build后数据保留只有docker compose down -v会删除这些数据。在容器场景下配置该变量时注意容器内路径与你宿主机挂载目录的对应关系README 未给出针对此变量的 Docker 示例需按你自己的 compose 挂载方式确认。别和另外两个变量混用VIBE_TRADING_ALLOWED_FILE_ROOTS控制文档/券商流水读取的导入目录VIBE_TRADING_ALLOWED_WRITE_ROOTS控制文件写入/编辑工具二者都不等于VIBE_TRADING_ALLOWED_RUN_ROOTS后者只管生成代码的 run 目录见 README 环境变量表 中三者的定义。配置完成并验证run_dir落在你的目录、回测产物按预期写盘后这个变量就可以保持现状后续若新增研究目录直接在逗号分隔列表中追加即可。【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

kohya_ss 实战手册:从 10 张图到可出图的 LoRA 微调完整流程

kohya_ss 实战手册:从 10 张图到可出图的 LoRA 微调完整流程

kohya_ss 实战手册:从 10 张图到可出图的 LoRA 微调完整流程 【免费下载链接】kohya_ss 项目地址: https://gitcode.com/GitHub_Trending/ko/kohya_ss 想在两天内把自己的 10 张图变成一版可用的 LoRA 训练权重,kohya_ss 是最短的路径。它把 Sta…

2026/9/13 17:39:15 阅读更多 →
planning-with-files 报 [PLAN TAMPERED — injection blocked] 拒绝注入计划内容怎么处理?

planning-with-files 报 [PLAN TAMPERED — injection blocked] 拒绝注入计划内容怎么处理?

planning-with-files 报 [PLAN TAMPERED — injection blocked] 拒绝注入计划内容怎么处理? 【免费下载链接】planning-with-files Persistent file-based planning for AI coding agents and long-running tasks. Crash-proof markdown plans, session recovery af…

2026/9/13 17:39:15 阅读更多 →
Qwen Code 独立版剪贴板原生插件打包方案:让 standalone 归档的图片粘贴从静默失效到开箱即用

Qwen Code 独立版剪贴板原生插件打包方案:让 standalone 归档的图片粘贴从静默失效到开箱即用

Qwen Code 独立版剪贴板原生插件打包方案:让 standalone 归档的图片粘贴从静默失效到开箱即用 【免费下载链接】qwen-code An open-source AI coding agent that lives in your terminal. 项目地址: https://gitcode.com/GitHub_Trending/qw/qwen-code 导读 …

2026/9/13 17:39:15 阅读更多 →

最新新闻

react-email editor 文本对齐修复深度解析:Left 按钮激活态、显式对齐持久化与祖先继承解析

react-email editor 文本对齐修复深度解析:Left 按钮激活态、显式对齐持久化与祖先继承解析

react-email editor 文本对齐修复深度解析:Left 按钮激活态、显式对齐持久化与祖先继承解析 【免费下载链接】react-email 💌 Build and send emails using React 项目地址: https://gitcode.com/GitHub_Trending/re/react-email 导读 react-ema…

2026/9/13 18:28:36 阅读更多 →
PostHog SceneMenuBar 场景菜单栏迁移指南:从 ScenePanel 到 Mac 风格菜单栏的双写改造实践

PostHog SceneMenuBar 场景菜单栏迁移指南:从 ScenePanel 到 Mac 风格菜单栏的双写改造实践

PostHog SceneMenuBar 场景菜单栏迁移指南:从 ScenePanel 到 Mac 风格菜单栏的双写改造实践 【免费下载链接】posthog :hedgehog: PostHog is the leading platform for building self-driving products. Our developer tools – AI observability, analytics, sess…

2026/9/13 18:28:36 阅读更多 →
RTOS任务调度原理与GD32F103实战解析

RTOS任务调度原理与GD32F103实战解析

1. 项目概述:RTOS任务调度不是“随机点名”,而是精密的“CPU选角导演” RTOS任务调度,任务究竟是怎么被「选中」上台的?——这句话里藏着一个被无数初学者误解的核心真相。很多人学完FreeRTOS或RT-Thread,照着例程把 …

2026/9/13 18:28:36 阅读更多 →
COLMAP 三维重建教程:从几百张照片到可用三维模型的完整指南

COLMAP 三维重建教程:从几百张照片到可用三维模型的完整指南

COLMAP 三维重建教程:从几百张照片到可用三维模型的完整指南 【免费下载链接】colmap COLMAP - Structure-from-Motion and Multi-View Stereo 项目地址: https://gitcode.com/GitHub_Trending/co/colmap COLMAP 是一套开源的三维重建工具,核心做…

2026/9/13 18:28:36 阅读更多 →
OpenAI最快模型GPT-5.3-Codex-Spark仅存活7个月将退役,速度不再是“专属模型”

OpenAI最快模型GPT-5.3-Codex-Spark仅存活7个月将退役,速度不再是“专属模型”

OpenAI最快模型即将退役OpenAI史上最快的模型,死了。Codex负责人Tibo发帖,GPT-5.3-Codex-Spark,下周退役。每秒1200个Token、OpenAI第一个逃离英伟达的模型、750兆瓦Cerebras大单的头一份交付,从发布到下线,只活了7个月…

2026/9/13 18:28:36 阅读更多 →
接口测试核心流程与主流工具实践指南

接口测试核心流程与主流工具实践指南

1. 接口测试的本质与价值接口测试作为软件测试领域的重要组成部分,其核心在于验证不同系统模块间数据交互的正确性和可靠性。想象一下两个城市之间的高速公路系统——接口就是连接这些城市的立交桥和收费站,而接口测试则是确保车辆(数据&…

2026/9/13 18:27:35 阅读更多 →

日新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/13 0:00:24 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/13 0:00:24 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/13 0:00:24 阅读更多 →

周新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/13 0:00:24 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/13 0:00:24 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/13 0:00:24 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/13 16:51:11 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/12 18:29:34 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/12 19:02:44 阅读更多 →