Commit Graph
14 Commits
Author SHA1 Message Date
Arepeater b43e2fe44a fix(config): 修复 .env 加载与密码初始化
- 统一开发脚本、Vite 代理与 Docker Compose 的 HOST/PORT 配置
- 首次启动按字面值读取 AUTH_PASSWORD,避免 ${VAR} 被环境变量插值
- 已有 auth.json 时继续以 Web 端密码为准,不受 .env 覆盖
2026-08-05 17:56:27 +08:00
ChenJunheng 6f084e1b29 feat(watchlist): 支持从券商自选截图批量导入
基于 Tesseract OCR 识别六位代码并校验证券主数据,前端提供导入确认弹窗;
修复批量添加后 enriched 缓存未刷新导致需手动刷新页面的问题。
2026-07-15 23:25:46 +08:00
shy3130 8efc96d576 fix(docker): Codex CLI 挂载路径可覆盖 + 版本号单点维护
- docker-compose: ${HOME}/.codex 改为 ${CODEX_HOME_HOST:-${HOME}/.codex},
  修复 Windows PowerShell/CMD 下 HOME 未设置导致挂载失败
- Dockerfile: codex-builder 阶段 ARG CODEX_CLI_VERSION 去掉重复默认值,
  统一从顶层 ARG 继承(0.144.3 现仅出现一处)
- README: 补充 Windows 用户 CODEX_HOME_HOST 配置说明
2026-07-14 18:12:48 +08:00
zhang,zhao 8206a6010d 修复:Docker 模式支持 Codex CLI 2026-07-14 11:51:35 +08:00
wshyandshy3130 697ff2a181 fix(compliance): reinforce research-only boundaries (#108)
Co-authored-by: shy3130 <shy3130@users.noreply.github.com>
2026-07-12 22:42:38 +08:00
wshyandshy3130 3656fedc62 fix(docker): 镜像内置 stock-sdk 插件依赖(Node + node_modules) (#59)
Docker 运行时镜像(python:3.11-slim)既无 node 也无 node_modules,
导致 stock-sdk 插件 availability() 恒返回 false, 用户反馈打成 docker 后无法安装。

多阶段构建:
- 新增 stocksdk-builder 阶段(node:20-bookworm-slim)npm ci 装依赖
- runtime 阶段 apt 装 nodejs(满足 engines>=18, 自带全部动态依赖)
- COPY --from 将 vendored node_modules 拷到与 bridge.mjs 同目录
  (/app/app/plugins/stocksdk/node_modules), 命中 bridge.mjs loadSDK() 第一候选路径

用户 docker pull 后开箱即用, 无需进容器手动 npm install。
同步更新 plugin.yaml install_hint 文案与相关文档。

Co-authored-by: shy3130 <shy3130@users.noreply.github.com>
2026-07-06 22:26:43 +08:00
Gundy ad83a5f960 fix(realtime): 交易时段判断与落盘日期显式使用北京时间
quote_service/depth_service 的 _is_trading_hours 原用 naive
datetime.now() 取服务器本地时间; Docker 镜像 (python:slim) 默认
UTC, 北京 9:15-15:05 = UTC 1:15-7:05, 轮询窗口完全错开——Docker
部署的实时行情/五档监控在真实交易时段一次都不会跑。

- 新增 app/market_time.py: CN_TZ 固定 UTC+8 (A股无夏令时,
  不依赖系统 tzdata, Windows 桌面版同样可用)
- 两个服务的 _is_trading_hours / date.today() 全部切换
- monitor.py 的 as_of 日期同步对齐
- Dockerfile 加 ENV TZ=Asia/Shanghai 兜底 (日志时间戳)
2026-07-03 14:11:26 +08:00
shy3130 c1a5a6c367 Revert "fix: 修复海外服务器部署后交易时段时区误判为休市"
This reverts commit f02a88ebaa.
2026-07-03 14:07:26 +08:00
shy3130 f02a88ebaa fix: 修复海外服务器部署后交易时段时区误判为休市
- 新增 backend/app/timezone.py 统一上海时区入口(ZoneInfo + UTC+8 兜底)
- quote_service / depth_service 的 _is_trading_hours() 改用显式 Asia/Shanghai
- Dockerfile 加 ENV TZ=Asia/Shanghai + tzdata,docker-compose.yml 加 TZ 环境变量
- 代码与容器双保险,解决裸 datetime.now() 在 UTC 容器下永远判为休市的问题
2026-07-03 13:31:33 +08:00
shy3130 0724fd3721 fix(docker): PyPI 源多级兜底,避免单源同步延迟导致构建失败
修复国内镜像(清华源)同步 uv 包延迟时,USE_CN_MIRROR=1 构建报
"Could not find a version that satisfies the requirement uv" 的问题,
用户此前需手动传 --build-arg PYPI_INDEX 换源才能通过。

- pip install uv 加三重 fallback:主源(清华) → 备用源(阿里云) → 官方源
- uv sync 同时挂双 index(UV_DEFAULT_INDEX + UV_EXTRA_INDEX_URL),
  uv 自动在两源查找,任一源缺包时另一源补位
- 新增 PYPI_FALLBACK build arg(默认阿里云),可自定义

正常构建零影响(fallback 首环即成功,--frozen 严格按 lock 安装),
仅在主源故障/同步延迟时自动兜底。
2026-06-26 17:39:45 +08:00
shidehai 13b4505ad4 fix legacy CPU Docker deployment 2026-06-26 11:06:59 +08:00
shy3130 1efcf9d5df fix(docker): 修复国内网络构建失败与前端静态文件 404
两个独立问题:

1. 构建阶段网络失败
   - corepack 不读 npm 的 registry 配置, 且环境变量跨 RUN 不保留,
     导致国内网络下 corepack 反复从 registry.npmjs.org 拉取 pnpm 失败。
   - 改为直接 `npm install -g pnpm@9` (npm 会读取 .npmrc 镜像源) 彻底绕开。
   - 新增 USE_CN_MIRROR/NPM_REGISTRY/PYPI_INDEX build-arg,
     默认启用 npmmirror + 清华 PyPI, 可 --build-arg USE_CN_MIRROR=0 关闭。

2. 容器启动后 GET / 返回 404
   - config.py 的 _PROJECT_ROOT 按开发布局 (<root>/backend/app/) 推导,
     Docker 里 backend/app 被拷到 /app/app, 导致其错算到系统根目录 /,
     static_dir 解析成不存在的 /frontend/dist, 静态挂载被跳过。
   - 用 ENV 显式指定 STATIC_DIR / TIERS_YAML / DATA_DIR 指向容器内正确路径,
     无需改动 Python 代码, 桌面版 (PyInstaller frozen) 逻辑不受影响。
2026-06-24 11:22:15 +08:00
Dallas d35e339d89 fix:docker build时的readme.md错误。 2026-06-23 23:06:16 +08:00
shy3130 7369358d08 Initial release v0.1.19 2026-06-18 17:18:23 +08:00