-
c9bc654d3a
fix(paper): 实走/影子隐藏起止日期(用户指正:开放账户区间无意义): 前端仅回放显示日期,卡片标题资金与区间→资金+说明文案; 后端非回放强制start=创建当天end空(组合日终重放依赖start_date空值会崩); 区间断言进测试 [nas]
claude_dev
2026-08-14 19:45:09 +08:00
-
f00730482f
feat(shadow-desk): P1-d 影子主管+通路策略增强(用户拍板): channel_test universe分6类资产各3只(宽基/行业/跨境商品ETF/主板蓝筹/中盘/创业板,个股只主板+创业板无科创北交铁律)hold 6只每日跨类型轮换;盘中4时点场景(9:35主调仓卖全买等权/10:45部分加减仓/13:45卖后买资金复用/14:30 T+1拒单探针)每天全场景,适配15m; shadow supervisor --auto轮询paper库自动拉起/停止/重启影子账户子进程(env映射SANGUO_LIVE_+SANGUO_SHADOW_契约); 11新测试 [vps]
claude_dev
2026-08-14 19:14:13 +08:00
-
2ee6043592
feat(live): 实盘组合策略下拉加通路测试标签(channel_test 自动进 registry 扫描,双轨验证入口) [nas]
claude_dev
2026-08-14 14:35:59 +08:00
-
102f602aee
fix(paper): 模拟盘列表创建时间UTC转北京时间显示(存的是UTC isoformat,直接截串少8h) [nas]
claude_dev
2026-08-14 14:34:58 +08:00
-
36db2ed5a6
feat(shadow-desk): 通路测试策略channel_test+模拟盘列表改造: 策略=每日等权轮换ETF/蓝筹(卖旧买新走全买卖通路)+T+1当日卖探针(两端应一致拒单,验证拒单通路),注册backtest/live/前端,默认universe 5只高流动ETF,4单测(坑:BrokerFacade是dataclass,子类方法被父类__init__实例属性遮蔽须实例注入); 模拟盘列表:加类型列(个股/组合)+创建时间列,标的去JSON中括号,列宽重排,模式筛选加影子 [vps]
claude_dev
2026-08-14 14:32:52 +08:00
-
6220fc5943
refactor(paper): 影子升级为第三种运行模式(回放/实走/影子,用户拍板CTA和组合都可走影子): 模式卡三选一替代组合卡内撮合引擎单选; engine由mode推导(shadow→shadow否则eod_replay,CTA/组合统一); 日终20:30 job只遍历mode=live天然隔离影子账户; 列表徽标mode=shadow亮'影子'+组合live标'日终'; 2新测试 [vps]
claude_dev
2026-08-14 12:55:26 +08:00
-
8e7e7282de
feat(shadow-desk): P1-b/c 影子柜台常驻进程+本地撮合broker+前端引擎选择: ShadowBroker(实时价±滑点即时成交/佣金印花最低佣金/A股整手/T+1日锁/资金不足拒单/均价加权/duck-typed BrokerBase协议); runner挂bullet_trade LiveEngine同实盘唯一差=broker_factory换影子(双轨对账基础),成交落paper_trades+30s快照落持仓净值; CLI单实例文件锁(python -m sanguo_trader.shadow); paper_accounts加engine列(eod_replay/shadow迁移); 前端:模拟盘新建组合卡撮合引擎单选+列表影子/日终徽标; 10 broker单测 [vps]
claude_dev
2026-08-14 12:16:05 +08:00
-
861c7faa8c
feat(portfolio): P1-a 组合策略K线周期字段(前后端): 模拟盘新建组合卡显周期下拉(原v-if藏起,实走/影子用miniQMT档位); live组合分支不写死d(空=d默认,cta空=15m); 组合回测加interval(d=day,非d拒400+runner拒ValueError,分钟档等数据层); worker params存interval供回放预填; 前端组合回测表单加下拉(仅日线可选,其余disabled标注影子可用) [vps]
claude_dev
2026-08-14 12:05:23 +08:00
-
ce62de5522
docs(shadow-desk): P0对账标记已通过(all_weather 2024全年全量vs3段续跑,持仓逐只/现金总值/净值<1e-6,跨除权覆盖);下一步P1常驻进程 [nas]
claude_dev
2026-08-14 10:33:44 +08:00
-
1e7d696f45
feat(shadow-desk): P0对账spike(runner加initial_positions通道+final_portfolio产出): BacktestEngine续跑注入初始持仓(引擎原生支持,不消耗现金); 期末现金/持仓/总值从engine.context.portfolio直取; run_backtest_json透传initial_positions+final_portfolio; scripts/shadow_desk/spike_p0全量vs 3段续跑对账(持仓逐只/现金总值/净值曲线<1e-6,自动月初分段或--split压除权边界); 6测试 [vps]
claude_dev
2026-08-14 10:10:51 +08:00
-
8f184c9f2e
ci(vps-deploy): 纳入前端dist同步+API重启(治公网前端无管线手动步骤): Mac构建+tar+scp→VPS换dist(脚本入仓scripts/nas_sync,vps_update_dist.py); 重启加端口释放等待(防end→run竞态10048静默崩,今日实踩)+起服探活(上限10min) [nas]
claude_dev
2026-08-14 10:06:54 +08:00
-
a5f19f5b43
fix(live): vt_symbol 默认值改裸码600000(前后端;后端create自动补后缀,默认值无需带SSE) [nas]
claude_dev
2026-08-14 09:33:52 +08:00
-
94e1b59ec1
feat(web): K线周期下拉统一共享常量:列全miniQMT成品K线(1m~60m/日/周/月,周月由日线合成),默认日线;模拟盘/实盘/策略实例三表单同源;标注回放数据可用性(d/15m本地有) [nas]
claude_dev
2026-08-14 09:18:27 +08:00
-
fff9119f38
docs(design): 影子柜台+双轨一致性验证(用户需求):影子vs实盘同跑对账——一致性参数表(费率/滑点标定/涨跌停/T+1对齐)+日终对账报表(笔数/价差<10bps/持仓/净值月<0.5%) [nas]
claude_dev
2026-08-14 09:11:39 +08:00
-
02ece66e86
docs(design): 影子柜台设计v2(用户反馈):miniQMT实时订阅驱动(替代schtask轮询,与实盘同款)+实时价撮合+步长=策略自身周期(tick~月线)+每实例独立虚拟账户;对账兜底保留 [nas]
claude_dev
2026-08-14 09:05:03 +08:00
-
869a758b89
fix(web): 任务耗时活计时钳0(本机时钟慢于服务端时短暂显示—) [nas]
claude_dev
2026-08-14 08:35:46 +08:00
-
7e94339e42
docs(design): 模拟盘影子交易柜台设计(验收四轮#4):checkpoint增量+VPS盘中15m schtask+自有撮合;可行性已验(引擎initial_positions+attribute_history直查源) [nas]
claude_dev
2026-08-14 08:32:42 +08:00
-
234b44e141
feat(live): CTA实盘vt_symbol裸6位码自动补交易所后缀(6→SSE,0/3→SZSE);表单提示+单策略原因说明(实盘需A股适配,陆续扩展) [nas]
claude_dev
2026-08-14 08:30:56 +08:00
-
5850a60561
feat(api+web): 任务列表管理(验收四轮批1):历史任务→任务列表改名;DELETE /task/{id}单/批删除(进行中拒删);GET /task/{id}/params参数回放+点任务ID跳参数页预填;真创建时间+耗时列(提交即记,进行中活计时);进行中禁查看;组合任务params全量存 [nas]
claude_dev
2026-08-14 08:29:20 +08:00
-
94de7191f5
feat(backtest): 任务提交时间表task_submissions+按task_id删结果(行+曲线文件+提交记录); record_submission/load_submissions/delete_result_by_task_id [vps]
claude_dev
2026-08-14 08:29:20 +08:00
-
02a862349a
fix(portfolio): worker Mac分支(SSH到VPS)remote_cmd也补--provider unified(同VPS分支基准空根因,Mac开发路径防踩) [nas]
claude_dev
2026-08-14 07:10:45 +08:00
-
a6f6956c5d
fix(portfolio): worker VPS分支也走unified provider:默认local(仅parquet)无指数点位致基准曲线恒空(dbbardata才有);冒烟实证VPS unified全链路OK [vps]
claude_dev
2026-08-13 23:29:12 +08:00
-
849e437244
fix(strategy): dirty误标根治:Monaco setValue回写modelValue(含换行规整)与nextTick复位竞态;改载入宽限窗口300ms(echoGrace),窗口内code变更不算用户编辑 [nas]
claude_dev
2026-08-13 23:23:13 +08:00
-
f0a0e6bc8a
fix(strategy): 编辑器加载文件误标未保存(code程序化赋值触发watch置dirty,运行回测被拦);select后nextTick复位 [nas]
claude_dev
2026-08-13 23:19:58 +08:00
-
6728872d72
fix(portfolio): 基准装载时序修正:load_strategy()会reset_settings()清掉预设,须在initialize闭包内set_benchmark(聚宽同款模式);构造参数与预run设置双失效 [vps]
claude_dev
2026-08-13 23:09:58 +08:00
-
c8b7be69c9
fix(portfolio): 基准曲线恒空根因=bullet_trade 0.9.x BacktestEngine(benchmark=)构造参数收而不用,须set_benchmark()设全局settings(VPS冒烟实测benchmark_data恒None);run前显式设,幂等 [vps]
claude_dev
2026-08-13 22:59:03 +08:00
-
95d621874f
feat(strategy): 文件树分组支持点击折叠/展开(箭头旋转动效) [nas]
claude_dev
2026-08-13 20:40:03 +08:00
-
929f52e3c2
feat(portfolio): 组合回测加持仓变化图(daily_positions每日聚合count/value经worker/routes透传,柱=持仓数线=市值)+超额收益曲线(策略/基准净值-1,聚宽标配,前端算);2测试 [vps]
claude_dev
2026-08-13 20:40:03 +08:00
-
ced95d006a
feat(strategy): 代码编辑文件树按类型分组(组合策略/个股策略+数量徽标) [nas]
claude_dev
2026-08-13 20:33:49 +08:00
-
fd0b9d0c36
feat(live): 组合策略实盘(R3-1): live_accounts加strategy_type/pool/max_pool/benchmark列(ALTER迁移); supervisor对组合行拉runner_live子进程(env传参+崩溃检测); runner_live重写适配bullet_trade 0.9.2新API(strategy_file+broker_factory,旧initialize=/broker=已废弃)+live_strategy.py适配文件挂StrategyTemplate; 前端live/New双卡表单+列表组合徽标; 8测试 [vps]
claude_dev
2026-08-13 19:57:23 +08:00
-
baaa459481
test(api): 修2个stale测试(benchmark-curve/risk-series未知任务从404改断言降级200空序列,对齐b2c41c7降级设计) [nas]
claude_dev
2026-08-13 19:57:23 +08:00
-
819198919c
feat(portfolio): 组合回测结果页加月度收益热力图(年×月+年度合计)+滚动夏普/波动双轴图(63日窗,业界标准);前端从equity_curve算零后端改动;strategy query预填 [nas]
claude_dev
2026-08-13 19:40:24 +08:00
-
82c9edb092
fix(strategy): 编辑器代码空白根因=/strategy/files不含code; 加GET /strategy/file/{name}按需拉取; 运行回测改回跳参数页+按策略预填(New.vue读query.class,推翻上轮直接发起) [nas]
claude_dev
2026-08-13 19:40:18 +08:00
-
b9d9285246
fix(frontend): paper New.vue 行内 @click if 表达式 rolldown 编译不过(run576 vite build 失败根因)改 setMode 方法 [nas]
claude_dev
2026-08-13 18:35:27 +08:00
-
e2d118fa38
fix(frontend): CI vue-tsc -b 三处类型错(live List重复import/paper List initial_capital可空/组合净值series宽类型);本地改用 -b 模式校验对齐CI [nas]
claude_dev
2026-08-13 18:33:42 +08:00
-
d030cfc91f
feat(paper): 组合策略接入模拟盘实走(E1+E2): paper_accounts加strategy_type列(含迁移); portfolio_paper每晚20:30全量重放→当日成交/末日持仓/净值落paper表(幂等,回测引擎为单一真相源); run_live_step按类型分流; create支持portfolio(仅live); 前端新建模拟盘策略类型选择+组合字段(策略/池/上限/基准) [vps]
claude_dev
2026-08-13 18:32:09 +08:00
-
3e7d40ad5f
fix(frontend): Code.vue StrategyFile 接口补 type 字段(CI vue-tsc -b 报 TS2339,run570-572 build 失败根因) [nas]
claude_dev
2026-08-13 18:28:19 +08:00
-
ccf958c5d6
feat(paper/live): 生命周期管理补全: paper停止/恢复(实走20:30 step跳过stopped)/删除(连带净值成交持仓挂单)/编辑(名称标的资金); live删除(运行中拒绝)/编辑(stopped才可改); 前端列表+结果页按钮/编辑弹窗/删除确认 [vps]
claude_dev
2026-08-13 18:27:32 +08:00
-
d8c156e6de
feat(strategy): 策略库灌入vnpy内置8策略模板(DoubleMa/AtrRsi/BollChannel/DualThrust/KingKeltner/MultiSignal/MultiTimeframe/TurtleSignal); registry自研目录优先加载(编辑副本即刻生效,pip兜底); 分类器识别vnpy_ctastrategy import风格 [vps]
claude_dev
2026-08-13 18:24:40 +08:00
-
08aec403f7
feat(portfolio): 组合回测结果增强: 基准对比曲线(对齐交易日+归一化)+回撤序列+扩展指标(波动/Sortino/Calmar/超额/Alpha/Beta), worker与API透传, 结果页净值对比+回撤图 [vps]
claude_dev
2026-08-13 18:22:10 +08:00
-
c41fd862ea
feat(frontend): 验收UX批A: CTA回测提交统一跳任务中心; 代码编辑「运行回测」直接发起(默认参数+最近1年,CTA/组合分流); 模拟盘策略改下拉; 状态徽标实走文案+去排队兜底 [nas]
claude_dev
2026-08-13 18:17:16 +08:00
-
976c99de07
fix(history): 创建时间 UTC→北京时间(+8); 标的列加宽(100→130)治折行 [nas]
claude_dev
2026-08-13 14:17:23 +08:00
-
5248062102
feat(history): 任务列表加创建时间(created_at)+类型命名统一菜单(个股回测/组合回测/参数优化/因子分析)+列宽均衡(去实例列) [nas]
claude_dev
2026-08-13 14:04:57 +08:00
-
b99e58bca1
fix(api): GET /task 合并内存 running/pending 任务(任务中心看到刚提交的,治只查DB看不到运行中) [nas]
claude_dev
2026-08-13 14:00:45 +08:00
-
728b8ccec9
feat(portfolio): 任务中心UX(GitHub Actions模式)—提交后跳历史任务页+自动刷新运行中状态+发起新回测入口; PortfolioBacktest 回归表单/查看两态(治单任务跟踪丢失) [nas]
claude_dev
2026-08-13 13:50:24 +08:00
-
15f132ccb5
feat(portfolio): 参数表单分块(策略与选股/时间与资金/基准与费用); 进行中页加「发起新回测」(治等待页无法新建) [nas]
claude_dev
2026-08-13 11:36:35 +08:00
-
ebe368f54a
fix(portfolio): run_backtest_json main params+Namespace 漏费用字段致 rc=1(组合回测失败) [vps]
claude_dev
2026-08-13 11:34:03 +08:00
-
66b393df16
feat(portfolio): 组合回测接入A股费用(佣金/印花税/最低佣金/滑点)对齐个股回测; BulletTrade set_order_cost/set_slippage [vps]
claude_dev
2026-08-13 10:32:49 +08:00
-
b48a3b5c75
feat(portfolio): 组合回测改 trackTask 三态+localStorage 持久(提交后可切页,回来续看进度/结果,治同步等待体验) [nas]
claude_dev
2026-08-13 10:14:47 +08:00
-
523105650d
fix(api): GET /task 内存失后 DB fallback 返 status(治回测 done 后前端轮询 404 死循环卡等待) [nas]
claude_dev
2026-08-13 08:52:53 +08:00
-
c833c07fd6
fix(portfolio): 历史组合结果可查看(PortfolioBacktest查看模式+History跳转/筛选/标签); 回测等待加已耗时提示(治卡顿错觉) [nas]
claude_dev
2026-08-13 08:34:34 +08:00
-
e07cf7cd81
fix(portfolio): 默认日期改最近1年+记忆; MOCK_ON=import.meta.env.DEV(NAS构建走真实,治组合回测2022日期/不在历史mock假象) [nas]
claude_dev
2026-08-13 08:05:46 +08:00
-
4ad505434b
feat(backtest): 个股回测接入费用(cfg通道)+slippage+benchmark放宽至4基准 [vps]
claude_dev
2026-08-12 23:56:14 +08:00
-
1d8e39709f
feat(strategy): 策略代码+实例路由组(routes_strategy)并注册 app [nas]
claude_dev
2026-08-12 23:56:14 +08:00
-
31836701f6
feat(strategy): 策略实例 JSON 存储 CRUD(list/get/create/update/delete) [nas]
claude_dev
2026-08-12 23:47:51 +08:00
-
a272741dd6
feat(strategy): registry 扩展自研目录扫描(AST)+文件读写+py_compile; __init__ 惰性化(纯逻辑模块脱离 fastapi 可单测) [nas]
claude_dev
2026-08-12 23:47:07 +08:00
-
93bd251cc9
fix(frontend): 组合回测基准下拉 + 新建回测改名个股回测(消除歧义) [nas]
claude_dev
2026-08-12 23:32:15 +08:00
-
29b663acfc
fix(monaco): defineTheme 去掉多余 name 字段(治 CI build TS2353) [nas]
claude_dev
2026-08-12 23:26:32 +08:00
-
5c8a7e12c6
feat(frontend): 终端化重构+策略管理(代码→实例→4运行)+撮合设计+回测参数 [nas]
claude_dev
2026-08-12 23:23:23 +08:00
-
58b5d08280
docs: 补 NAS 组合回测验证截图(2026-07-31 all_weather 跑通) [nas]
claude_dev
2026-08-12 08:45:24 +08:00
-
4f6cd43b21
feat(nas_sync): parquet 断点续传脚本(逐文件scp+NAS size校验跳过,治VPS无rsync) [nas]
claude_dev
2026-08-12 08:45:24 +08:00
-
bf30283ac5
fix(ci): nas-verify 加 checkout(check-vps-needed 需 git log+脚本,原 job 只 curl/ssh 无代码) [nas]
claude_dev
2026-08-02 23:27:51 +08:00
-
67d1c1ef2f
ci(vps-gate): commit必打[vps]/[nas]标签+vps-deployed tag+待推issue [nas]
claude_dev
2026-08-02 23:25:40 +08:00
-
b66a6c5958
fix(ashare_engine): load_data 直查 dbbardata 绕 vnpy peewee(治 CTA 死算)
claude_dev
2026-08-02 21:48:33 +08:00
-
c263aa14ab
chore(cta_engine): 加 load_data bar数+run_backtesting logging(确诊卡点)
claude_dev
2026-08-02 21:21:42 +08:00
-
3d934f5fa6
chore(cta_engine): 加阶段 logging(治 spawn 子进程黑盒,定位卡死)
claude_dev
2026-08-02 21:14:40 +08:00
-
2ff8ecaf52
perf(metrics): rolling alpha/beta 向量化(O(n²)→O(n),治分钟级卡死)
claude_dev
2026-08-02 20:54:50 +08:00
-
b2c41c73b8
fix(backtest): CTA metrics benchmark 缺失降级(不阻塞整组指标图)
claude_dev
2026-08-02 20:37:50 +08:00
-
2cb2ab0dd8
fix(config): vnpy_db 改 NAS v2 dbbardata 库(治 CTA 结果页 5图空白)
claude_dev
2026-08-02 20:22:44 +08:00
-
4c5270cf7a
fix(frontend): EquityCurve 去 v-if + watch flush:post(治净值图永不init)
claude_dev
2026-08-02 20:01:55 +08:00
-
c049e0e97d
fix(frontend): MetricCards fmt 兜底字符串值(治结果页整页渲染崩溃)
claude_dev
2026-08-02 19:51:51 +08:00
-
857d43c6c2
fix(frontend): CTA结果页补净值曲线图(零成交也出图)
claude_dev
2026-08-02 19:10:55 +08:00
-
9588a77a01
feat(portfolio): 回测可观测性 L1+L2+L3(治排查黑盒)
claude_dev
2026-08-02 13:42:06 +08:00
-
6d23f7b5ec
fix(portfolio): worker _TIMEOUT 3600→10800(3h)+timeout非静默日志
claude_dev
2026-08-02 07:14:00 +08:00
-
e22c8ee939
feat(portfolio): max_pool 字段透传(model+handler+前端,解除30硬编码)
claude_dev
2026-08-01 23:20:40 +08:00
-
7a14d7da82
feat(portfolio): strategy 字段全链透传(API→orchestrator→worker→runner_backtest + 前端选择器)
claude_dev
2026-08-01 23:01:26 +08:00
-
5c5bd9d7bb
fix(docker): PYTHONPATH ENV 移 COPY 后(缓存命中 TA-Lib,避 sourceforge wget 卡)
claude_dev
2026-08-01 22:49:21 +08:00
-
0f6cdbedc9
fix(entrypoint): uvicorn --log-level 转小写(治 exit2 crash loop,第3根因)
claude_dev
2026-08-01 21:59:39 +08:00
-
c210197778
fix(entrypoint): +x 执行位 + SKIP_REDIS_CHECK 默认1(治 run535 NAS crash loop)
claude_dev
2026-08-01 21:43:29 +08:00
-
6d786fbf41
fix(orchestrator): spawn 子进程 PYTHONPATH + entrypoint 回根治孤儿
claude_dev
2026-08-01 21:33:20 +08:00
-
ca0ec016f9
ci(nas-verify): 加 /health gate 防存活探针回归
claude_dev
2026-08-01 21:07:34 +08:00
-
1989a54ee5
fix(deps): requirements-lock 补 bullet-trade/jqdatasdk 治重装丢包
claude_dev
2026-08-01 21:05:27 +08:00
-
a17f291850
fix(api): 加 /health 存活探针端点(治Docker HEALTHCHECK恒unhealthy,/health原404)
claude_dev
2026-08-01 21:01:35 +08:00
-
f9b7c103c0
docs: §10 可复现构建更新(单阶段Dockerfile+polars[rtcompat]+已验证换装)
claude_dev
2026-08-01 20:39:58 +08:00
-
7bed73aa4c
fix(docker): polars[rtcompat]==1.42.1(治 NAS AVX2 SIGILL 根因)
claude_dev
2026-08-01 20:09:03 +08:00
-
e0808859da
fix(docker): polars 钉 1.42.1(NAS 无 AVX2,>=1.43 SIGILL 崩溃 exit132)
claude_dev
2026-08-01 19:49:06 +08:00
-
0332aef3d4
fix(docker): 加 .dockerignore 瘦身构建上下文(1.9G→~50MB)+Dockerfile apt清华镜像
claude_dev
2026-08-01 19:20:12 +08:00
-
53daf9b57b
fix(docker): Dockerfile apt 换清华 debian 镜像(原 deb.debian.org 国内不稳)
claude_dev
2026-08-01 19:16:10 +08:00
-
608574b49b
fix(docker): Dockerfile pip install 对齐清华源(与 Dockerfile.test+运行时env一致)
claude_dev
2026-08-01 19:07:52 +08:00
-
e64b5906da
fix(portfolio-backtest): 净值曲线 echarts 空白 - watch漏触发手动兜底
claude_dev
2026-08-01 16:56:26 +08:00
-
4986e5c3c4
feat(portfolio): 组合回测异步化(接入 orchestrator task 框架)
claude_dev
2026-08-01 13:52:46 +08:00
-
2ca2facce3
fix(docker): requirements-docker 补组合/CTA 运行时依赖(治重建丢包后患)
claude_dev
2026-08-01 12:23:53 +08:00
-
4fccfad4ca
fix(nas): 固化容器 --init 铁律(防后台回测被清复发)
claude_dev
2026-08-01 08:49:32 +08:00
-
3b3e42985e
fix(datareader): read_index_daily 切 dbbardata(治 benchmark 读陈旧 vnpy DbBarData)
claude_dev
2026-08-01 08:41:57 +08:00
-
6b3d86920b
fix(idx-eod): 000300 沪深300 加入 CODES,补 7-16→7-31 数据
claude_dev
2026-08-01 08:00:36 +08:00
-
3813d22e2b
fix(nas_sync): sync_parquet.sh 加保活+retry(防6.24G跨公网broken pipe)
claude_dev
2026-08-01 07:37:31 +08:00
-
4876727289
fix(nas_sync): sync_valuation_daily 改scp-r(单tar跨公网broken pipe)
claude_dev
2026-08-01 02:04:19 +08:00
-
86bec48b14
feat(nas_sync): valuation+financial_abstract 每日同步脚本
claude_dev
2026-07-31 23:03:50 +08:00
-
ae6dde7778
fix(frontend): 组合回测副标题文案修正(本地执行,非VPS)
claude_dev
2026-07-31 22:54:49 +08:00
-
9013ecc141
docs(claude): 加部署职责边界(业务session只push,推VPS是运维+人决策)
claude_dev
2026-07-31 22:44:41 +08:00