Merge remote-tracking branch 'origin/qyqy_develop' into nl-merge-colleague
This commit is contained in:
@@ -275,6 +275,22 @@ Redis 不可用时实测按设计降级放行;生产装配模式因本机 Milv
|
||||
- [x] 记录灰度期间错误、延迟和降级次数。(本次 Redis 降级 4 次请求,延迟基线已记录)
|
||||
- [x] 确认没有产生真实交易委托。(模拟订单、成交记录均为 0)
|
||||
|
||||
### 阶段二十三演示环境迁移准备(2026-09-12,工具完成,目标机待执行)
|
||||
|
||||
已新增受控初始化编排脚本 `tools/bootstrap_advisor_demo.py`:默认只预览,只有同时传入
|
||||
`--apply --confirm-demo-database` 才会对配置的目标库写入。脚本只允许使用全新、可销毁的
|
||||
演示库,明确禁止复制或直接升级存在结构漂移的旧 `jr_agent`。它串联当前迁移、RBAC、
|
||||
投顾角色、演示账号、合规基线、演示测评/归属、权威产品证据、行情同步和结构审计。
|
||||
|
||||
已新增 `tools/publish_advisor_demo_config.py`,在目标环境通过配置发布状态机继承既有配置项,
|
||||
并发布 advisor 六个意图的工具白名单,避免代码已部署但工具因缺少 `config_release` 而失败关闭。
|
||||
产品适当性与合同 CSV 仍必须来自真实披露文件,脚本不伪造来源 URL 或文件摘要。
|
||||
|
||||
- [x] 准备演示库初始化编排脚本和最小化写入保护。
|
||||
- [x] 准备投顾 Agent 工具白名单发布脚本。
|
||||
- [x] 准备演示环境迁移说明和专项单元测试。(`3 passed`、Ruff 通过)
|
||||
- [ ] 在另一台演示电脑的新建演示库实际执行初始化、启动服务并完成 HTTP 验收。
|
||||
|
||||
## 一、迁移准备
|
||||
|
||||
- [ ] 确认远程仓库可访问。(当前失败:连接 `47.106.207.27:3000` 被拒绝)
|
||||
|
||||
@@ -57,15 +57,18 @@ Agent 不能把截断结果表述成覆盖全部数据,也不能据此给出
|
||||
|
||||
以下内容属于环境准备或数据初始化,不是代码缺陷:
|
||||
|
||||
1. 执行 `python tools/grant_risk_permissions.py`,确认风控角色具备:
|
||||
1. 先执行 `python tools/seed_test_rbac.py`,再执行
|
||||
`python tools/grant_risk_permissions.py`,确认风控角色具备:
|
||||
- `risk:alert:read`
|
||||
- `risk:alert:write`
|
||||
- `risk:alert:scan`
|
||||
- `risk:report:mail`
|
||||
2. 执行 `python tools/publish_risk_agent_config.py`,确认奶龙风控智能助手的工具白名单和意图配置已发布。
|
||||
3. 按主项目发布的迁移流程执行 Alembic 升级,确认 `trigger_rule_codes` 多值索引已生效。
|
||||
4. 演示前准备足够的客户、交易、资金、持仓、登录和预警数据。
|
||||
5. 使用前确认日报邮件开关、SMTP 配置和收件人范围符合演示要求。
|
||||
2. 执行 `python tools/set_user_password.py --user 9002 --password 666666`,
|
||||
为风控演示账号设置密码;登录使用 `risk_t / 666666`。
|
||||
3. 执行 `python tools/publish_risk_agent_config.py`,确认奶龙风控智能助手的工具白名单和意图配置已发布。
|
||||
4. 按主项目发布的迁移流程执行 Alembic 升级,确认 `trigger_rule_codes` 多值索引已生效。
|
||||
5. 演示前准备足够的客户、交易、资金、持仓、登录和预警数据。
|
||||
6. 使用前确认日报邮件开关、SMTP 配置和收件人范围符合演示要求。
|
||||
|
||||
## 当前保留限制
|
||||
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
# 投顾演示环境初始化包
|
||||
|
||||
本包用于在另一台演示电脑上建立独立、可销毁的投顾演示环境。它不复制旧 `jr_agent`
|
||||
数据库,也不导出真实客户数据。旧库存在历史表和约束漂移,只能保留为历史参考。
|
||||
|
||||
## 必备输入
|
||||
|
||||
- 新建的空 MySQL 演示库,以及指向该库的 `MYSQL_DSN`。
|
||||
- 新生成的 JWT 开发密钥:`python tools/generate_jwt_keys.py --out-dir config/jwt/dev`。
|
||||
- 已安装的项目依赖:`python -m pip install -r requirements.txt`。
|
||||
- 已审核的产品适当性披露 CSV 与基金合同 CSV。它们必须包含真实 HTTPS 来源和文件 SHA-256;
|
||||
不得伪造来源字段。
|
||||
|
||||
可选依赖:Redis 用于限流缓存,Milvus 用于知识/语义检索,Neo4j 用于图谱增强,模型端点用于
|
||||
模型路由。它们缺失时,投顾结构化分析会按既有降级策略运行;演示完整 Agent 对话前应配置模型端点。
|
||||
|
||||
## 执行顺序
|
||||
|
||||
先预览,不写库:
|
||||
|
||||
```powershell
|
||||
python tools/bootstrap_advisor_demo.py `
|
||||
--suitability-csv D:\demo-data\suitability.csv `
|
||||
--contracts-csv D:\demo-data\contracts.csv
|
||||
```
|
||||
|
||||
确认 `.env` 中的 `MYSQL_DSN` 是新建演示库后,再执行:
|
||||
|
||||
```powershell
|
||||
python tools/bootstrap_advisor_demo.py `
|
||||
--apply --confirm-demo-database `
|
||||
--suitability-csv D:\demo-data\suitability.csv `
|
||||
--contracts-csv D:\demo-data\contracts.csv
|
||||
```
|
||||
|
||||
该命令依次完成迁移、演示账号与角色、投顾权限、合规基线、客户测评和归属、产品目录、
|
||||
权威产品证据、资产分类、历史行情和质量快照、投顾工具白名单发布及数据库审计。
|
||||
|
||||
公共行情源不可访问时可加 `--skip-market-sync`,但推荐和动态配置会继续失败关闭,不能将该
|
||||
状态当作完整投顾演示通过。
|
||||
|
||||
## 演示账号
|
||||
|
||||
初始化脚本会创建仅用于演示的客户 `cust_t`、管理员 `admin_t` 和投顾 `advisor_t`。账号密码
|
||||
仅存在于目标演示数据库;脚本的显示输出会掩盖密码参数。演示结束后应销毁整个演示库,而不是
|
||||
将这些账号带入其他环境。
|
||||
|
||||
## 验收
|
||||
|
||||
执行完成后,启动 API 和 Worker,再运行:
|
||||
|
||||
```powershell
|
||||
python tools/acceptance_check.py
|
||||
python tools/seed_advisor_demo.py
|
||||
```
|
||||
|
||||
并在浏览器使用登录测试台或 Swagger 验证问卷、投资目标、持仓分析、配置、推荐审核发布和
|
||||
越权拦截。灰度开关使用:
|
||||
|
||||
```text
|
||||
ADVISOR_ROLLOUT_ENABLED=true
|
||||
ADVISOR_ROLLOUT_CUSTOMER_IDS=9001
|
||||
```
|
||||
|
||||
修改灰度变量后必须重启 API 和 Worker。
|
||||
Reference in New Issue
Block a user