ci: 配置 master 自动验证与服务器部署

This commit is contained in:
2026-10-09 20:42:31 +08:00
parent 57882ff568
commit 2cad6d7533
14 changed files with 504 additions and 9 deletions
+20 -4
View File
@@ -94,7 +94,7 @@ npm --prefix apps/mobile run start
### 后台供应商配置
「模型配置」填写主模型、备用模型和审核模型;「系统设置」填写行情源。供应商名称、HTTPS 地址、模型名称和密钥初始均为空,不预选供应商。未配置时保持关闭;模型启用需要名称、地址、模型名称和密钥,行情源启用需要名称和地址。保存或启用不代表连接已验证,当前尚未实现供应商调用与连通性测试。协议、模型目录、响应存储策略和认证开关均为后台可修改的配置,不预填厂家地址或模型。未填写模型时可先保存关闭状态的连接地址和密钥。模型目录需与接口同源,避免把认证信息指向另一个站点。
「模型配置」填写主模型、备用模型和审核模型;「系统设置」填写行情源。供应商名称、HTTPS 地址、模型名称和密钥初始均为空,不预选供应商。未配置时保持关闭;模型启用需要名称、地址、模型名称和密钥,行情源启用需要名称和地址。保存或启用不代表连接已验证,模型调用与连通性测试尚未实现;行情适配器已接通,实际状态见数据健康页面。协议、模型目录、响应存储策略和认证开关均为后台可修改的配置,不预填厂家地址或模型。未填写模型时可先保存关闭状态的连接地址和密钥。模型目录需与接口同源,避免把认证信息指向另一个站点。
`SECRET_ENCRYPTION_KEY` 是部署层加密主密钥,使用 Base64 编码的 32 字节随机值,在本地 `configs/.env` 或部署秘密配置中持久保存。本机已生成此值,仓库模板留空。可用 `openssl rand -base64 32` 为新环境生成;主密钥必须与数据库一起备份,切勿在已有密文后直接替换。未配置主密钥时仍可保存无密钥的关闭配置,提交密钥会被拒绝。
@@ -144,9 +144,9 @@ go.mod / go.sum 根目录唯一 Go module
## 待完成
2026-10-08 已验证 PostgreSQL、Redis 内网连接,应用全部四版迁移并初始化开发管理员。真实 PostgreSQL 集成测试已在临时 schema 中执行;测试不会修改开发账户或供应商配置。
2026-10-09 已验证 PostgreSQL、Redis 内网连接,应用全部十四版迁移并初始化开发管理员。真实 PostgreSQL 集成测试已在临时 schema 中执行;测试不会修改开发账户或供应商配置。
尚未接入候选审核、交易计划、成交账本、行情、AI、Worker 或回测。App 已有基础界面和登录/账户真实 API,偏好、机会、计划、持仓明细、提醒与复盘仍待相应业务接口。下一步建设候选修订、审核发布与计划闭环,再落实成交账本和风险监控。
候选审核、计划预算、不可覆盖模拟成交与冲正、FIFO 持仓与账本复盘、站内提醒、公开行情、异步 Python 回测和自动日线筛选已接通。App 对应 API 与页面已实现,真机流程仍待验证。AI、偏好/关注、正式认证、远程推送与生产交易规则尚未完成;详细验证事实见 docs/development-state.md。
管理端基础组件按 [shadcn/ui 的 Vite 集成方式](https://ui.shadcn.com/docs/installation/vite)维护在 `src/components/ui`,Tailwind 使用[官方 Vite 插件](https://tailwindcss.com/docs/installation/using-vite)。
@@ -154,6 +154,22 @@ go.mod / go.sum 根目录唯一 Go module
后端使用 zap,默认在运行目录创建 `logs/veyra.log`,控制台易读、文件 JSON,自动轮转压缩。通过 `configs/.env` 的 `LOG_*` 配置目录、级别和保留规则。
后台「系统设置」配置公开行情适配器与地址,启用后启动同步、每五分钟更新沪深报价;「数据健康」查询股票和同步结果。研究回测可直接按代码、交易所和日期获取不复权日线,无需逐只新建股票或导入 CSV。当前公开源为开发研究用途;供应商时间、历史快照与失败状态如实展示。策略筛选、正式行情授权和实际交易规则仍待接入。
后台「系统设置」配置公开行情适配器与地址,启用后启动同步、每五分钟更新沪深报价;「数据健康」查询股票和同步结果。研究回测可直接按代码、交易所和日期获取不复权日线,无需逐只新建股票或导入 CSV。当前公开源为开发研究用途;供应商时间、历史快照与失败状态如实展示。可配置策略筛选已接通;正式行情授权和完整实际交易规则仍待接入。
App 在「机会」→「查看自动同步的 A 股行情」查看数据。当前预览 Metro `exp://192.168.100.2:8081`,API 为 `http://192.168.100.2:8083`,同一内网使用 Expo Go;开发身份读取后端本地 `DEV_USER_*` 配置。尚未完成真机界面验证。
## 自动候选筛选与提醒
管理端「策略中心」修订研究版本,勾选自动候选筛选,从自动同步股票搜索选择沪深范围(最多 100 只),配置整数基点价格规则和有效时长,再选用此版本。已有策略默认不启用此功能,价格规则留空由后台配置。无需手工新建股票或逐条录入候选证据。
Worker 每轮最多处理 20 个目标,完成后间隔 5 分钟再次检查。仅使用完整未复权日线,最近报价观察不超过 24 小时,来源与日期必须一致。符合 SMA 上穿规则时自动提交候选待审核;没有信号或数据不足不生成候选。候选经人工审核发布后才进入 App「机会」。参数、日线快照、来源与版本摘要可在筛选记录中查看,不代表已验证策略收益。
暂停或切换策略版本会使其自动候选及未完成计划失效并释放保留预算;手工候选独立维护,成交事实与持仓保留。行情同步为有效计划生成近期报价事件,只允许最近一分钟的供应商报价触发一次站内提醒,重复报价及失效来源跳过。提醒不产生成交、不改变资金,五分钟轮询不保证捕获所有瞬时行情。
管理端总览现以股票为核心,展示实际行情、证券代码、日线与待审核信号;“股票行情”提供股票池与历史走势,“候选审核”可立即请求自动筛选并查看运行状态。固定范围每批最多检查 20 只;重复点击运行中的任务不会另起 Worker。后台已启用开发基线的固定 96 只范围,并从真实日线生成两条待审核候选,尚未自动发布。参数仅用于开发研究,可在策略中心修订。
## CI/CD 自动部署
开发使用 `dev`,通过 PR 合并进入受保护的 `master`;仅 `master` push 触发 CI/CD。Gitea Runner 验证后,通过 SSH 部署内嵌管理端的 Go 镜像至 `192.168.100.132:/home/workspace/sundynix-veyra`,执行版本化迁移、依赖就绪检查与应用回滚。详见 [部署说明](deploy/README.md)。