合并 agent-mvp 到 master #1

Merged
jiang merged 93 commits from agent-mvp into master 2026-08-18 17:56:43 +08:00
Owner

合并说明

将内部后端 agent-mvp@8853877 合并到 master。目标分支由 GitHub master@b0acfb2 原样建立,候选是其直接后继;本次是 92 个提交、205 个文件的破坏性 API/认证/数据访问迁移,而非兼容性小更新。

OpenAPI 从旧基线 926 条路径收敛为 304 条路径、432 个操作;公开 API 统一到 /api/v1X-Project-Id、Keycloak 和 metadata RBAC。旧 InfluxDB HTTP 接口已删除,但 InfluxDB/Redis 兼容代码仍保留。

合并前修复

8853877 已完成:

  • DSN 审计字段强制脱敏并补回归测试。
  • 压力传感器布置的项目名和用户名改由认证上下文注入,关闭跨项目/伪造用户路径,并与 Agent CLI 请求字段对齐。
  • junction 及相邻原生查询改为参数绑定,关闭已确认的多语句 SQL 注入路径。
  • 审计分页使用数据源真实总数,不再返回 offset + 当前页长度
  • Redis 管理接口收紧为环境管理权限。
  • 移除源码中的 InfluxDB 明文凭据,运行配置改读环境变量;既有凭据仍需轮换。

最终门禁

  • Pytest:232 passed,2 skipped。
  • OpenAPI:304 paths,合同快照及哈希通过。
  • Docker 镜像构建通过。

已知架构债

  • metadata 项目 DSN 尚未完全贯穿旧模拟/wndb/Timescale 同步链;非默认数据库宿主的项目需要后续专项迁移,发布前必须在目标环境验证。
  • InfluxDB/Redis 的最终保留或移除策略仍需形成独立迁移方案。
  • 前端和 Agent 必须随新合同联合发布,旧 API 调用不保证兼容。

本次仅合并代码主线,不打 tag、不发布、不部署。

## 合并说明 将内部后端 `agent-mvp@8853877` 合并到 `master`。目标分支由 GitHub `master@b0acfb2` 原样建立,候选是其直接后继;本次是 92 个提交、205 个文件的破坏性 API/认证/数据访问迁移,而非兼容性小更新。 OpenAPI 从旧基线 926 条路径收敛为 304 条路径、432 个操作;公开 API 统一到 `/api/v1`、`X-Project-Id`、Keycloak 和 metadata RBAC。旧 InfluxDB HTTP 接口已删除,但 InfluxDB/Redis 兼容代码仍保留。 ## 合并前修复 `8853877` 已完成: - DSN 审计字段强制脱敏并补回归测试。 - 压力传感器布置的项目名和用户名改由认证上下文注入,关闭跨项目/伪造用户路径,并与 Agent CLI 请求字段对齐。 - junction 及相邻原生查询改为参数绑定,关闭已确认的多语句 SQL 注入路径。 - 审计分页使用数据源真实总数,不再返回 `offset + 当前页长度`。 - Redis 管理接口收紧为环境管理权限。 - 移除源码中的 InfluxDB 明文凭据,运行配置改读环境变量;既有凭据仍需轮换。 ## 最终门禁 - Pytest:232 passed,2 skipped。 - OpenAPI:304 paths,合同快照及哈希通过。 - Docker 镜像构建通过。 ## 已知架构债 - metadata 项目 DSN 尚未完全贯穿旧模拟/wndb/Timescale 同步链;非默认数据库宿主的项目需要后续专项迁移,发布前必须在目标环境验证。 - InfluxDB/Redis 的最终保留或移除策略仍需形成独立迁移方案。 - 前端和 Agent 必须随新合同联合发布,旧 API 调用不保证兼容。 本次仅合并代码主线,不打 tag、不发布、不部署。
jiang added 92 commits 2026-08-18 17:35:28 +08:00
ci: add deployment trigger script
Server CI/CD / docker-image (push) Has been cancelled
Server CI/CD / deploy-fallback-log (push) Has been cancelled
7a9fcaae81
更新 dockerfile
Server CI/CD / docker-image (push) Failing after 11s
Server CI/CD / deploy-fallback-log (push) Successful in 0s
f35287d3cf
feat(ci): 添加 Gitea 仓库密钥 TJWATER_SERVER_ENV 检查
Server CI/CD / docker-image (push) Failing after 11s
Server CI/CD / deploy-fallback-log (push) Successful in 0s
26643d68c7
优化环境变量检查逻辑,移除不必要的密钥
Server CI/CD / docker-image (push) Failing after 27s
Server CI/CD / deploy-fallback-log (push) Successful in 1s
2af89eea1c
移除代码检出步骤,添加工作区验证
Server CI/CD / docker-image (push) Failing after 1s
Server CI/CD / deploy-fallback-log (push) Successful in 0s
2a823b2616
添加代码检出步骤以确保工作区有效
Server CI/CD / docker-image (push) Failing after 1m31s
Server CI/CD / deploy-fallback-log (push) Successful in 1s
5fd82b8e7c
更新代码检出步骤和工作区验证提示信息
Server CI/CD / docker-image (push) Failing after 13s
Server CI/CD / deploy-fallback-log (push) Successful in 0s
bbf6a0f7ba
移除 db_inp 目录的复制,添加临时文件夹创建
Server CI/CD / docker-image (push) Failing after 1m42s
Server CI/CD / deploy-fallback-log (push) Successful in 0s
f6939f5516
添加 Gitea 服务器 URL 和用户解析功能
Server CI/CD / docker-image (push) Successful in 49s
Server CI/CD / deploy-fallback-log (push) Has been skipped
2a762e63a7
Simulation mode reads scheme data for both burst and normal observations. Monitoring mode reuses the burst window when no normal window is provided.
fix(agent): expose network context
Server CI/CD / docker-image (push) Successful in 16s
Server CI/CD / deploy-fallback-log (push) Has been skipped
76cf6c32bc
ci: unzip health model in image build
Server CI/CD / docker-image (push) Successful in 22s
Server CI/CD / deploy-fallback-log (push) Has been skipped
71fa2ae18c
fix(burst-location): correct normal data window
Server CI/CD / docker-image (push) Successful in 22s
Server CI/CD / deploy-fallback-log (push) Has been skipped
baeaa8a2e1
feat(burst-detection): update scada analysis flow
Server CI/CD / docker-image (push) Successful in 24s
Server CI/CD / deploy-fallback-log (push) Has been cancelled
db6032bd84
fix(simulation): use current user for stored schemes
Server CI/CD / docker-image (push) Successful in 23s
Server CI/CD / deploy-fallback-log (push) Has been skipped
045d6c5b49
fix(db): validate cached project connections
Server CI/CD / docker-image (push) Successful in 23s
Server CI/CD / deploy-fallback-log (push) Has been skipped
b977bf6725
Bind every scheme request to ProjectContext, keep viewer access read-only, reject concurrent optimization jobs without blocking worker threads, and cap export/update payload sizes. Run optimization and workbook work off the event loop.
fix(api): wrap pre-paginated list responses
Server CI/CD / docker-image (push) Failing after 28s
Server CI/CD / deploy-fallback-log (push) Successful in 1s
1d88f8efbe
fix(ci): align backend image with deployment
Server CI/CD / docker-image (push) Failing after 29s
Server CI/CD / deploy-fallback-log (push) Successful in 1s
eac6b78598
fix(db): enforce metadata membership foreign keys
Server CI/CD / docker-image (push) Failing after 34s
Server CI/CD / deploy-fallback-log (push) Successful in 1s
a7e1ce6ef4
ci: replace webhook deployment with v2 workflow
Generic Container CI/CD / test-build-publish (push) Successful in 2m32s
Server CI/CD v2 / build-test-publish-and-deploy (push) Successful in 2m32s
69a7d53aff
feat(simulation): 支持冲洗阀门状态与设置值
Generic Container CI/CD / test-build-publish (push) Successful in 2m39s
Server CI/CD v2 / build-test-publish-and-deploy (push) Successful in 2m40s
2581631b51
jiang added 1 commit 2026-08-18 17:51:35 +08:00
jiang marked the pull request as ready for review 2026-08-18 17:53:45 +08:00
jiang merged commit b21eaffe40 into master 2026-08-18 17:56:43 +08:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OrgTJWater/TJWaterServerBinary#1