Vibe-Trading Wiki
🔍
模块知识库/Vibe-Trading 量化交易智能体平台/Vibe-Trading 交互式 CLI 与子命令框架/编码规范
  • 每个 slash 命令实现为一个独立模块,暴露统一的 run(ctx, *args) 签名,由 cli.main._dispatch_slash 通过 importlib.import_module 动态加载并调用。
  • 命令注册采用不可变 Command dataclass + 全局 SLASH_COMMANDS 元组,新增命令通过 idempotent 注册函数检查已存在名后再拼接新元组,避免重复覆盖。
  • 对可能失败的 I/O(SessionStore、SQLite FTS5、preflight、工具导入)一律使用 try/except 包裹并以 best-effort 方式降级,绝不让外部依赖阻塞 REPL 主循环。
  • 富文本渲染统一通过 cli.theme.get_console() 获取 Rich Console,组件返回 Rich renderable(Text/Panel/Table)以便被 console.print 或直接放入 Live group。
  • 特权操作(kill switch、mandate commit、connector/data 子命令)在 REPL 输入路径中先于模型调用进行拦截,不经过 agent loop,确保用户可直接终止交易而不依赖模型响应。
  • 批量统计(模型名、技能数、工具数、会话数)通过 _collect_banner_stats 缓存并在刷新标志下重建,避免每次 keystroke 重复 import 昂贵模块。
← 特殊配置与命令 技术栈 →