Commit Graph
15 Commits
Author SHA1 Message Date
Jayway Liu cd07ba1887 docs: 使用文档与未实现功能/测试指南
Verify / verify (push) Failing after 1s
AI Review / review (pull_request) Successful in 14s
Verify / verify (pull_request) Failing after 1s
- user-guide.html:面向使用者的完整操作说明(含 AI 模型配置)
- gaps-and-testing.html:未实现功能清单、F01-F08 状态、发布门禁与
  分层测试方法、验收矩阵、当前基线
- README 加入口链接
2026-10-11 09:45:22 +08:00
Jayway Liu adce23bbd9 feat(analysis): 网页汇总表自定义列
Verify / verify (push) Failing after 1s
AI Review / review (pull_request) Successful in 14s
Verify / verify (pull_request) Failing after 0s
- analyze 支持 custom_columns:白名单表达式树由服务端 Decimal 求值,
  自定义列进入汇总、分组行与明细(缺失保持不可用,不转零)
- 新增「选择网页自定义列」弹窗:从定义库(含共享)多选最多 10 列,
  应用后进入主分析表格与热力图;公式工作簿可一键导出网页已选列
- 请求去重纳入自定义列;Playwright 覆盖选择后显示与数值断言
2026-10-11 09:45:22 +08:00
Jayway Liu 509b406254 fix(formula): 导出文件安全、清理回收、撤权校验与定义库可靠性(F01/F02/F05-F08)
Verify / verify (push) Failing after 1s
Verify / verify (pull_request) Failing after 1s
AI Review / review (pull_request) Successful in 16s
- F01: _safe_unlink_export 不跟随符号链接、逐层校验父目录,导出失败路径与
  清理命令统一使用,只清理受控目录内本次创建的文件
- F02: 清理失败记录告警日志;清理命令回收 failed 任务残留文件
- F05: 定义保存事务内锁数据集行,配额原子检查;revision 冲突返回 409;
  保留最近 20 版历史;支持个人/团队共享;审计与变更同事务
- F06: 工作簿参数页毛利率改为只读快照;可编辑单元格解锁并加数值校验
- F07: 对账按指标分容差(人数 0、比率 0.0001、金额 0.01);自定义列使用
  服务端 Decimal 表达式求值参考
- F08: 导出任务执行/下载阶段重校验账号有效性与角色
- 对话草稿会话恢复;载入定义后追问携带原定义(F04);下载改浏览器直传
- 迁移 0006-0008;PostgreSQL 咨询锁语义修正(import_worker)
2026-10-11 09:43:27 +08:00
Jayway Liu 494490f6e6 fix(display): 证据金额去尾零与界面显示修复
Verify / verify (push) Failing after 1s
Verify / verify (pull_request) Failing after 0s
AI Review / review (pull_request) Successful in 12s
- 证据接口与 CSV/XLSX 导出去掉 NUMERIC(44,24) 存储尺度尾零(无损精度)
- KPI 大金额折行截断:字号收紧 + nowrap + 省略号兜底
- 贡献分解/走势图表轴标签重叠与 Y 轴裁剪:hideOverlap + 万/亿缩写
- 表格隐藏全不可用指标列,空态改为条件渲染(修复空表覆盖层残留)
- 数据质量与字段字典/导入确认的中文标签映射(不再暴露内部键名)
- 证据弹窗重复点击当前期间停在加载中(F03);证据表格最小宽度
- Playwright 覆盖 F03 重复点击与期间切换场景
2026-10-11 09:41:31 +08:00
Jayway Liu dd8912f7ae feat(ai): 页面可配置云端或本地 OpenAI 兼容模型
Verify / verify (pull_request) Failing after 0s
AI Review / review (pull_request) Successful in 9s
Verify / verify (push) Failing after 1s
- 新增 AIConfig 模型(每组织一份,迁移 0005)与 /api/ai-config、
  /api/ai-models 接口;密钥只存后端、读取脱敏、修改记审计
- 支持 OpenAI 及本地 OpenAI 兼容服务(Ollama/LM Studio/vLLM),
  可从 /v1/models 一键获取模型列表多选一;数据库配置优先于环境变量
- 助手调用走生效配置,Copilot 文案同步更新
- 全权限管理员可在「管理 → AI 模型」配置;补接口级测试
2026-10-11 09:37:05 +08:00
Jayway Liu 05f2ee416e fix(dev): dev_up 以数据库为准幂等初始化管理员
Verify / verify (push) Successful in 5m1s
此前凭据文件存在但数据库重建时会跳过 init_local.py,导致本地无
admin 无法登录;改为每次启动都执行(脚本本身按数据库幂等)。
2026-09-26 20:45:22 +08:00
Jayway Liu 5e1437679b fix(ci): npm audit / pip-audit 网络抖动重试三次
Verify / verify (push) Successful in 15m25s
runner 到 registry.npmjs.org 的 TLS 连接偶发被断(audit endpoint returned an
error),上一轮测试全绿仍被 audit 步骤标红;改为最多重试 3 次、间隔 15 秒。
真实漏洞是确定性的,重试后依然失败,不会漏报
2026-09-26 16:30:39 +08:00
Jayway Liu fa047ed3ee fix(ci): upload-artifact 在 Gitea 上不支持,改为 continue-on-error
Verify / verify (push) Failing after 2m44s
Gitea 对 actions/upload-artifact@v4 报 GHESNotSupportedError(v4 artifact 协议
为 GitHub 专有),此前测试全绿仍被该步骤标红;上传失败不再影响 CI 结论,
浏览器产物在 Gitea 上暂不可下载,迁到 GitHub 托管时该步骤自动生效
2026-09-26 16:26:12 +08:00
Jayway Liu f9f9ad751d test(worker): 适配 PostgreSQL 咨询锁下的立即重认领语义
Verify / verify (push) Failing after 4m39s
PG 上 worker 持咨询锁会立即重认领 processing 任务,第二次 --once 被导入任务
抢占导致导出断言失败(该测试此前从未在 PG 上真正运行过)。第一次调用后把导入
任务置为 ready 模拟完成,两种后端行为一致
2026-09-26 16:19:02 +08:00
Jayway Liu e90e37b77e fix(ci): 工作流移入 .gitea/workflows,恢复 Gitea 调度
Verify / verify (push) Failing after 1m35s
新增 .gitea/workflows/ai-review.yml 后,本实例只再调度 .gitea/workflows 下的
工作流,.github/workflows/ci.yml 自 a3d91ad 起不再被检测(workflows API 仅剩
ai-review.yml,两次 push 均未产生 run)。将 ci.yml 移至 .gitea/workflows/ 并
同步 README 引用与说明
2026-09-26 16:12:57 +08:00
Jayway Liu e337d9c989 ci: 重新触发 verify(上次 push 事件疑似丢失) 2026-09-26 16:08:56 +08:00
Jayway Liu 35789379ab fix(ci): Gitea runner 下 PostgreSQL 服务容器主机名用服务名而非 localhost
act_runner 的 job 运行在容器内,与服务容器同处 gitea_gitea 网络,
localhost:5432 在 job 容器里无监听导致此前 8 次 verify 全部失败;
改用服务名 postgres 解析,并注释说明防止改回
2026-09-26 16:06:16 +08:00
Jayway Liu a3d91ad17f ci: 接入 vertai-tech/ai-review-engine 对抗式 AI PR 审查
- .gitea/workflows/ai-review.yml 原样拷贝引擎模板(含 pr_number 经 env 传参的
  注入防护),引擎钉 v1 移动标签,通过 REVIEW_ENGINE_TOKEN 只读 PAT 拉取
- .gitea/ai-review.md 按本仓库技术栈写审查侧重:金额精度(Decimal/NUMERIC)、
  缺失值语义与对账容差、文件路径符号链接安全、endpoint 角色与 worker 撤权核验、
  事务并发与 revision、Excel 公式注入与长度上限、前端异步状态、测试真实性
- 仓库级 Actions 配置(Gitea 设置,不在本提交内):REVIEW_ENGINE_TOKEN secret、
  REVIEW_BASE_URL/MODEL/PUBLIC_URL/PRICES、FIX_MODEL/FIX_MODEL2/FIX_PLAN_MODEL/
  FIX_PLAN_THINKING,以及新仓库推荐起点 REVIEW_FIX_SUGGEST_ONLY=1(只给改法)
2026-09-26 15:22:08 +08:00
Jayway Liu 0739bcc4fb feat(dev): scripts/dev_up.sh 一键启动本地后端与页面测试
Verify / verify (push) Failing after 48s
- 迁移 → 管理员初始化 → 前端构建 → API+worker 后台启动 → 健康检查 → 自动打开页面
- 支持 --stop 停止、--no-open 跳过打开浏览器;端口已在服务时直接复用
- 未设 DATABASE_URL 时使用 SQLite 轻量库并给出验收提示
- 修复 bash 3.2(macOS 自带)将紧贴 $VAR 的多字节字符并入变量名的问题:
  全角括号内的变量一律用 ${VAR} 显式界定
- README 本地运行章节补充快速启动说明
2026-09-26 07:32:27 +08:00
Jayway Liu 0ac0c4eb56 chore: import existing codebase as baseline
Verify / verify (push) Failing after 1m20s
2026-09-26 01:12:10 +08:00