Commit Graph
10 Commits
Author SHA1 Message Date
shy3130 529dc8bf20 fix(dev): 启动器输出改文件重定向, 修复长时间运行内存叠加
dev.ps1 用 Start-Job + 每 150ms Receive-Job 中转子进程输出。Start-Job 会把
每行原生输出包装成带 job/runspace 元数据的 PSObject 存进 job 输出集合,
生产快于消费 (窗口最小化/RDP 断开/日志量突增) 时持续堆积且不及时释放 ——
实测开盘跑到中午, 启动器单个 powershell.exe 可占十几 GB。

- dev.ps1: 改用 Start-Process + 重定向到 data/logs/*.log, PowerShell 只持
  PID; 控制台改为有界 StreamReader tail, 内存占用与日志总量无关
- dev.ps1: 新增单实例守卫 (默认拒绝启动, -Force 才结束) 与 -NoReload;
  退出时 taskkill /T 结束整棵树, 覆盖 reloader 父进程与 server 子进程
- dev.sh: free_port 只杀监听者会让 reloader 父进程重生子进程 —— 改为先按
  仓库 venv 路径结束同端口整组后端; cleanup 改递归 kill_tree, 不再留孤儿
- dev.sh: 只处理同端口实例, 换端口调试的实例只提示不误杀

验证: dev.sh bash -n 通过; kill_repo_backends / kill_tree 用真实进程做了
隔离测试 (8888/9999 端口不误杀、三级进程树无孤儿); dev.ps1 花括号平衡与
无残留 Start-Job 调用, 本机无 PowerShell 未做实际运行验证。
2026-10-20 16:15:20 +08:00
shy3130 785e041223 fix(dev): macOS 下 dev.sh 启动失败修复
- bash 3.2 空数组在 set -u 下展开报 unbound variable, 加 ${arr[@]+...} 守卫
- 全局 /usr/local/bin/uvicorn (Xcode python3.9) 劫持 venv, 改用 python -m uvicorn
2026-08-24 14:21:27 +08:00
shy3130 b434da6266 chore(dev): uv run --no-sync 跳过依赖解析
从 --frozen 改为 --no-sync, 直接用已安装的 .venv, 不再校验 lockfile。
避免镜像源 403/网络抖动导致后端起不来。与 main 保持一致。
2026-08-14 13:10:01 +08:00
shy3130 6e317a5a43 feat(v0.2): 完善量化研究与二次开发能力 2026-08-13 20:16:02 +08:00
Arepeater c45c5f2226 fix(config): 修复 .env 加载与密码初始化
- 统一开发脚本、Vite 代理与 Docker Compose 的 HOST/PORT 配置
- 首次启动按字面值读取 AUTH_PASSWORD,避免 ${VAR} 被环境变量插值
- 已有 auth.json 时继续以 Web 端密码为准,不受 .env 覆盖
2026-08-05 17:56:27 +08:00
shy3130 75cf2b19c2 fix(packaging): support legacy Polars CPUs 2026-07-12 14:08:24 +08:00
shy3130 9c2bcc5f60 feat: 统一监控引擎 + AlertToast通知 + 声音/角标/看板/Dev页 + 股票名称批量查询
监控引擎 (backend):
- MonitorRuleEngine 统一规则引擎,支持策略/信号/价格/行情四种类型
- JSONL 追加存储 (alert_store.py),支持分页 + 清理
- alert/monitor_rules CRUD API + seed 演示数据
- POST /api/kline/instruments/names 批量股票名称查询
- SSE strategy_alert 事件触发前端通知

前端通知体系:
- AlertToast 自定义弹窗 (Framer Motion + AnimatePresence)
- Web Audio API 合成音效 (12种预设,无需音频文件)
- 侧边栏角标 (monitorBadge.ts) localStorage 持久化未读数
- pendingSeen 机制解决 markSeen/setCurrentTotal 竞态
- 系统设置页: 通知开关 + 最大条数 + 音效选择
- 菜单设置页: 角标数字开关

监控中心 (Monitor.tsx):
- 双栏布局: 左侧实时告警列表 + 右侧规则管理
- RulesList 股票代码后显示中文名称
- RuleEditor 完整规则编辑器组件
- 告警支持查看详情 (StockPreviewDialog)

Dashboard:
- MonitorWidget: Top 10 实时告警卡片

Dev 页面:
- 一键填充演示告警 + 规则 + 分钟探测
- 可视化 SSE 事件流查看

其他:
- v0.1.19 → v0.1.28 (VERSION 从 pyproject.toml 读取)
- dev.ps1/dev.sh 添加 --host 0.0.0.0 (局域网访问)
- 修复 Screener.tsx presets.length 可选链
- README 截图表格更新 (6张) + 监控章节重写
- 删除 MinuteDataProbe 页面 (合并至 Dev)
2026-06-21 14:18:08 +08:00
shy3130 3e747c9a08 chore: 项目更名 tickflow-stock-panel + 菜单logo两行显示 2026-06-19 21:33:11 +08:00
shy3130 a4c330e3c7 chore: 项目名称规范化调整 2026-06-19 21:31:35 +08:00
shy3130 d93dc0cbf4 Initial release v0.1.19 2026-06-18 17:18:23 +08:00