Skip to content

zh Bridge RPC

Huang Anping edited this page Jun 2, 2026 · 1 revision

桥 RPC

TypeScript 前端经 stdio 上的行分隔 JSON-RPC 驱动 Python sidecar。方法由 mosaic/bridge/handlers/*.py 里的 @method("namespace.verb") 注册,从 mosaic-ts/src/bridge/types.ts(BridgeApi)调用。

错误信封映射为带数值码的 RpcError(mosaic/bridge/protocol.py):PARSE_ERROR -32700INVALID_PARAMS -32602METHOD_NOT_FOUND -32601INTERNAL_ERROR -32603,以及域码 CONFIG_ERROR -32010PAPER_ERROR -32020BACKTEST_ERROR -32030SCORECARD_ERROR -32040AUTORESEARCH_ERROR -32050PRISM_ERROR -32060JANUS_ERROR -32070MIROFISH_ERROR -32080DATA_ERROR -32090

完整方法面

tools

  • tools.list —— 列出已注册的 sidecar 工具。
  • tools.call —— 按名 + 参数调用工具。

已注册工具模块(mosaic/bridge/handlers/tools.py _TOOL_MODULES):macro_tools(18 个宏观工具)、etf_tools(4 个:ETF 信息/净值/持仓/全市场)、financial_tools(4 个:基本面/资产负债表/利润表/现金流)、research_report_tools(2 个:行业/个股研报)、technical_tools(2 个:行情/技术指标)。哪些 agent 用哪些工具见智能体

config

  • config.default —— 深拷贝的 DEFAULT_CONFIG
  • config.get —— 本进程的活动运行时配置。
  • config.set —— 替换活动配置(仅本进程)。
  • config.save —— 持久化到 ~/.mosaic/config.json 并应用(跨重启)。

cache

  • cache.statscache.detailscache.cleanupcache.clear

calendar

  • calendar.list_trading_dayscalendar.is_trading_daycalendar.next_trading_day

scorecard

  • scorecard.append —— 摄入一次 daily-cycle state 的 CIO 动作。
  • scorecard.score_pending —— 回填已成熟的前向收益 + alpha。
  • scorecard.list_skill —— 逐 agent 技能行。
  • scorecard.win_rate —— 逐标的方向命中率。
  • scorecard.latest_cio_actions —— cohort 的最新 CIO 组合。

darwinian

  • darwinian.computedarwinian.get_weights

prompts

  • prompts.read(某 git ref 处的文件)、prompts.write(经 git_ops 在分支上提交)。

autoresearch

  • autoresearch.triggerautoresearch.evaluate_pendingautoresearch.record_mutationautoresearch.revert_modificationautoresearch.get_logautoresearch.list_active_branchesautoresearch.prepare_worktreeautoresearch.cleanup_worktree

prism

  • prism.list_cohortsprism.train_cohortprism.cohort_statusprism.complete_cohort_runprism.compare_cohorts

janus

  • janus.run_dailyjanus.get_weightsjanus.regimejanus.get_history

mirofish

  • mirofish.generate_scenariosmirofish.score_recommendationmirofish.record_runmirofish.get_historymirofish.save_contextmirofish.get_context

backtest

  • backtest.create_runbacktest.append_actionsbacktest.complete_runbacktest.get_runbacktest.list_runsbacktest.run_historical
  • (旧的 backtrader run_candidate_pool 路径已移除;回测纯 qlib。)
  • backtest.run_historical 接受可选 results_dir:设置后该 run 额外导出 ATLAS 同构产物(summary.json / portfolio_trajectory.csv / equity_curve.png,经 mosaic/backtest/results_export.py)。matplotlib 可选 —— 缺则跳过 PNG。

paper

  • paper.registerpaper.loginpaper.logoutpaper.current_userpaper.get_accountpaper.reset_accountpaper.buypaper.sellpaper.get_positionspaper.get_tradespaper.suggest_order_from_signal

data

  • data.incremental —— 向 cn_data/cn_etf 追加最新交易日(kind=stock|etf)。
  • data.validate —— ingest 数据集的质量报告 + skip 清单。

新增 handler

  1. mosaic/bridge/handlers/<name>.py,写 @method("<name>.verb") 函数(先校验参数,抛 RpcError)。
  2. mosaic/bridge/handlers/__init__.py 导入它(导入副作用即注册方法)。
  3. mosaic-ts/src/bridge/types.ts(BridgeApi)加类型化封装。

Clone this wiki locally