Files
Neo-ZQYY/docs/ai-env-history/w0-01_worktree_split_execution_2026-05-02.md
Neo f2e0de8fab chore(migration): Cursor → Claude Code 反向迁移 + 单轨化(v2)
- 删除 5 个 AGENTS.md(根 + 4 子模块)与 .cursor/、.cursorignore,全部已备份
- 在 CLAUDE.md 末尾追加 5 节迁移必需内容(CLI/Shell 中文与编码、Claude Code 资产入口、Hook 与权限、不破坏原则、历史追溯),保留用户选定的 226 行项目规则全集
- 用户级 12 个 skills 从 ~/.cursor/skills/ 剥包装回迁到 ~/.claude/skills/(neozqyy-cursor-migration → neozqyy-claude-code-migration)
- docs/ai-env-history/ 顶层 10 文件入仓(含 conversation_index.csv、file_impact_index.csv,已脱敏);sessions/ 原文继续本地保留
- 新增 tools/claude-code/migrate_ai_environment.py(--check 14/14 通过)
- 新增 docs/claude_code_migration.md 与 docs/audit/changes/2026-05-02__claude_code_migration.md
- .gitignore 调整:开放 2 个 CSV 索引入仓,保留 sessions/ 与 claude-history/ 排除
- 不混入 124 个业务变更(AI 模块重构、runtime_context、sandbox 等保持 unstaged)
- 备份位置:~/.claude/backups/pre-claude-code-migration-2026-05-02/

第二轮迁移(第一轮 commit 6facb2d 已被 git reset 回滚;本轮策略为追加而非重写 CLAUDE.md)
2026-05-03 21:08:13 +08:00

17 KiB
Raw Blame History

W0-01 工作区边界与提交拆分执行清单

字段 内容
生成时间 2026-05-02 01:41
执行范围 仅整理当前工作区边界、提交批次、风险与验证建议
执行限制 未 stage、未 commit、未删除、未移动、未清理 tmp/,未修改业务逻辑
依据 git status --shortgit diff --name-statusgit diff --statgit ls-files --others --exclude-standard、W0-01 拆分方案、历史拆分方案

一、当前工作区快照

当前工作区不是干净状态,包含三类混杂内容:

  1. 已跟踪文件改动50 个文件,约 2555 行新增、2507 行删除。
  2. 未跟踪文件/目录:包含 .cursor/docs/ai-env-history/docs/claude-history/docs/ai/tmp/tools/、新增后端/前端/迁移文件等。
  3. 敏感/本地配置风险:.mcp.jsonapps/etl/connectors/feiqiu/.envdocs/deployment/SERVER-ACCESS.md

已确认策略:

  • RuntimeContext / 业务日期沙箱 独立为 R1 批次。
  • Cursor 迁移资产并入 C1
  • .mcp.json 纳入迁移/安全修正批次。
  • apps/etl/connectors/feiqiu/.env 用户确认可纳入对应批次,但执行前仍必须标注真实 API_TOKEN 风险。
  • tmp/ 仅列为排除项,不移动、不删除、不改 .gitignore
  • docs/deployment/SERVER-ACCESS.md 可纳入文档批次。

二、批次总览

批次 主题 是否建议提交 主要风险
C1 Claude/Codex/Cursor 迁移与追溯资产 可优先提交 .mcp.json 为本地工具配置;audit_dashboard 有交叉索引
R1 RuntimeContext / 业务日期沙箱 先验证再提交 牵涉业务日期、AI cache、任务、看板main.py 为交叉文件
C2 Claude AI/App2-App2a 业务改动 验证后拆提交 跨后端、admin-web、小程序、DB、脚本范围大
L1 ETL 日志与 App2a 区域修复 可独立验证后提交 与 App2a 业务相关,但来源是 20260501.log 问题
C5 配置与部署文档 逐项审查 包含真实 API token、服务器地址、SSH 用户/密钥路径
C4 临时产物/导出文件 不提交 多为 Excel、HTML、PDF、截图、临时报表脚本
X 交叉文件 暂不直接提交 单文件包含多个批次的变更

三、C1迁移与追溯资产

建议包含

路径 状态 归属理由
AGENTS.md 未跟踪 根级 Codex/Cursor 规则入口
apps/backend/AGENTS.md 未跟踪 后端模块规则迁移
apps/etl/connectors/feiqiu/AGENTS.md 未跟踪 ETL 模块规则迁移
apps/demo-miniprogram/AGENTS.md 未跟踪 Demo 小程序模块规则迁移
db/AGENTS.md 未跟踪 数据库目录规则迁移
.cursor/ 未跟踪目录 Cursor rules、hooks、skills 迁移资产
tools/codex/ 未跟踪目录 Codex MCP 与迁移脚本
tools/cursor/ 未跟踪目录 Cursor 环境迁移脚本
docs/claude-history/ 未跟踪目录 Claude 会话摘要、进度报告、旧拆分方案
docs/ai-env-history/ 未跟踪目录 Claude/Codex/Cursor 会话索引、历史追溯、当前工作清单
docs/codex_migration.md 未跟踪 Codex 迁移说明
docs/codex_migration_status_report_2026-04-29.md 未跟踪 Codex 迁移状态报告
docs/cursor_migration.md 未跟踪 Cursor 迁移说明
docs/audit/changes/2026-04-29__codex_migration_and_claude_history_archive.md 未跟踪 Codex/Claude 迁移审计
docs/audit/changes/2026-05-01__cursor_migration.md 未跟踪 Cursor 迁移审计
.mcp.json 已修改 去除已跟踪明文 PostgreSQL DSN改为环境变量脚本读取

C1 注意事项

  • .mcp.json 当前不再包含明文 PostgreSQL DSN只引用 PG_DSNTEST_DB_DSNAPP_DB_DSNTEST_APP_DB_DSN
  • .mcp.json 仍包含本机绝对路径、微信开发者工具路径、npx.cmd 路径,属于开发环境配置;用户已确认纳入迁移/安全修正批次。
  • docs/audit/audit_dashboard.md 不直接放入 C1因为它同时新增了迁移审计、AI 修复审计和 App3 审计索引。
  • CLAUDE.md 可随规则迁移,但当前 diff 中有一处终端显示为乱码,执行前需要复核文件实际 UTF-8 内容。

C1 建议验证

git diff --check -- .mcp.json AGENTS.md apps/backend/AGENTS.md apps/etl/connectors/feiqiu/AGENTS.md apps/demo-miniprogram/AGENTS.md db/AGENTS.md docs/codex_migration.md docs/cursor_migration.md

敏感扫描建议:

git grep -n -I -E "postgresql://|postgres://|password|secret|token|api[_-]?key" -- .mcp.json tools/codex tools/cursor docs/codex_migration.md docs/cursor_migration.md

四、R1RuntimeContext / 业务日期沙箱

建议包含

路径 状态 归属理由
apps/backend/app/services/runtime_context.py 未跟踪 运行时上下文服务
apps/backend/app/routers/admin_runtime_context.py 未跟踪 admin runtime context API
apps/backend/app/schemas/runtime_context.py 未跟踪 runtime context schema
db/zqyy_app/migrations/20260501__runtime_context_sandbox.sql 未跟踪 沙箱上下文 schema 迁移

R1 交叉文件

路径 交叉原因 建议
apps/backend/app/main.py 同时包含 AI WebSocket、孤儿 run_logs 清理、dispatcher 注入、RuntimeContext router 挂载 暂列为 X 交叉文件;执行时按 hunk 或后续小提交拆开

R1 建议验证

cd apps/backend
pytest tests -k "runtime_context or business_day"

如果没有现成测试,应至少补充或执行:

  • live 模式不改变当前日期口径。
  • sandbox 模式返回配置的业务日期。
  • admin router 能读取/更新上下文配置。
  • migration 有回滚策略与验证 SQL。

五、C2Claude AI / App2-App2a 业务改动

后端 AI 核心

路径 状态 归属理由
apps/backend/app/ai/apps/__init__.py 删除 删除旧 8 app 死代码目录
apps/backend/app/ai/apps/app1_chat.py 删除 删除旧实现
apps/backend/app/ai/apps/app2_finance.py 删除 删除旧实现
apps/backend/app/ai/apps/app3_clue.py 删除 删除旧实现
apps/backend/app/ai/apps/app4_analysis.py 删除 删除旧实现
apps/backend/app/ai/apps/app5_tactics.py 删除 删除旧实现
apps/backend/app/ai/apps/app6_note.py 删除 删除旧实现
apps/backend/app/ai/apps/app7_customer.py 删除 删除旧实现
apps/backend/app/ai/apps/app8_consolidation.py 删除 删除旧实现
apps/backend/app/ai/cache_service.py 修改 AI cache 类型、过期、读写策略
apps/backend/app/ai/dashscope_client.py 修改 DashScope 调用与 tokens 提取
apps/backend/app/ai/dispatcher.py 修改 AI 事件编排与 App2/App2a
apps/backend/app/ai/run_log_service.py 修改 AI run log
apps/backend/app/ai/event_bus.py 未跟踪 AI 事件广播
apps/backend/app/ai/references.py 未跟踪 AI references 注入
apps/backend/app/ai/prompts/app2_finance_prompt.py 修改 App2 财务 prompt
apps/backend/app/ai/prompts/app2a_finance_area_prompt.py 修改 App2a 区域 prompt
apps/backend/app/ai/prompts/app8_consolidation_prompt.py 修改 App8 合并 prompt
apps/backend/app/ai/prompts/app3_clue_prompt.py 未跟踪 App3 prompt
apps/backend/app/ai/prompts/app4_analysis_prompt.py 未跟踪 App4 prompt
apps/backend/app/ai/prompts/app5_tactics_prompt.py 未跟踪 App5 prompt
apps/backend/app/ai/prompts/app6_note_prompt.py 未跟踪 App6 prompt
apps/backend/app/ai/prompts/app7_customer_prompt.py 未跟踪 App7 prompt

后端 API 与服务

路径 状态 归属理由
apps/backend/app/routers/admin_task_engine.py 修改 admin 任务引擎/AI 管理相关
apps/backend/app/routers/internal_events.py 修改 internal event/AI 调用链
apps/backend/app/routers/xcx_chat.py 修改 小程序 AI chat
apps/backend/app/schemas/admin_ai.py 修改 admin AI schema
apps/backend/app/services/ai/admin_service.py 修改 admin AI 服务
apps/backend/app/services/board_service.py 修改 财务看板/区域读取
apps/backend/app/services/chat_service.py 修改 APP1 chat
apps/backend/app/services/note_service.py 修改 note/APP6 相关
apps/backend/app/services/recall_detector.py 修改 召回检测/AI 链路
apps/backend/app/services/task_expiry.py 修改 任务过期
apps/backend/app/services/task_generator.py 修改 任务生成
apps/backend/app/services/task_manager.py 修改 任务管理
apps/backend/app/services/trigger_scheduler.py 修改 触发器调度
apps/backend/app/ws/ai_events.py 未跟踪 AI WebSocket 告警
apps/backend/pytest.ini 修改 测试配置

admin-web

路径 状态 归属理由
apps/admin-web/src/App.tsx 修改 AI 管理路由/菜单
apps/admin-web/src/api/adminAI.ts 修改 admin AI API
apps/admin-web/src/pages/AIDashboard.tsx 修改 AI 总览
apps/admin-web/src/pages/AIOperations.tsx 修改 AI 手动操作
apps/admin-web/src/pages/AIRunLogs.tsx 修改 AI 运行日志
apps/admin-web/src/pages/TriggerManager.tsx 修改 触发器页面接入
apps/admin-web/src/pages/AITriggers.tsx 未跟踪 AI 触发器管理
apps/admin-web/src/__tests__/adminAiAppTypes.test.ts 未跟踪 admin AI app type 测试

小程序

路径 状态 归属理由
apps/miniprogram/miniprogram/components/ai-float-button/ai-float-button.ts 修改 AI 浮动按钮上下文
apps/miniprogram/miniprogram/pages/board-finance/board-finance.wxml 修改 财务看板 AI 洞察展示
apps/miniprogram/miniprogram/pages/board-finance/board-finance.wxss 修改 财务看板 AI 样式
apps/miniprogram/miniprogram/pages/chat/chat.ts 修改 AI chat / SSE / 上下文
apps/miniprogram/miniprogram/pages/chat/chat.wxml 修改 AI chat 展示
apps/miniprogram/miniprogram/pages/customer-detail/customer-detail.ts 修改 客户详情 AI 线索
apps/miniprogram/miniprogram/services/api.ts 修改 小程序 API 客户端

DB / 文档 / 脚本

路径 状态 归属理由
db/zqyy_app/migrations/20260420_ai_trigger_jobs_and_app2_prewarm.sql 未跟踪 AI trigger jobs 与 App2 预热
db/zqyy_app/migrations/20260421_app2_prewarm_cron_reschedule.sql 未跟踪 App2 cron 调整
docs/ai/ 未跟踪目录 AI 验收、prompt、版本历史
docs/database/BD_manual_ai_trigger_jobs_register.md 未跟踪 AI trigger jobs 数据库文档
scripts/ab_test_app2_prompt.py 未跟踪 App2 prompt 测试
scripts/analyze_ab_content_quality.py 未跟踪 App2 prompt 分析
scripts/analyze_store_manager_quality.py 未跟踪 App2 prompt 分析
scripts/dump_app2_prompt.py 未跟踪 App2 prompt 导出
scripts/gen_app2_v6_md.py 未跟踪 App2 prompt 文档生成
scripts/test_app2_new_system_prompt.py 未跟踪 App2 prompt 测试

C2 建议验证

cd apps/backend
pytest tests

cd ..\admin-web
pnpm test
pnpm lint

cd ..\miniprogram
npm test

如果全量测试时间过长,应按后端 AI、admin-web、miniprogram 分批执行,并在最终提交前记录未覆盖风险。

六、L1ETL 日志与 App2a 区域修复

路径 状态 归属理由
apps/etl/connectors/feiqiu/tasks/dws/finance_area_daily.py 修改 20260501.logDWS_FINANCE_AREA_DAILY 区域未匹配问题,同时与 App2a 区域财务数据相关

建议独立验证后提交,避免和 C2 的 AI 业务大包混在一起。

建议验证:

cd apps/etl/connectors/feiqiu
pytest tests -k "finance_area_daily"

如涉及真实 ETL 数据,还需使用测试库执行 dry-run 或指定日期回放,禁止直接连生产库。

七、C5配置与部署文档

路径 状态 归属建议 风险
.mcp.json 修改 纳入 C1 已移除明文 PostgreSQL DSN仍含本机路径和工具路径
apps/etl/connectors/feiqiu/.env 修改 用户确认可纳入,但必须最终确认 包含真实 API_TOKEN 替换
docs/deployment/SERVER-ACCESS.md 未跟踪 可纳入文档批次 含服务器地址、SSH 用户、密钥路径、公网入口;无密码/私钥正文
docs/deployment/LAUNCH-CHECKLIST.md 修改 文档批次 仅新增指向 SERVER-ACCESS.md 的说明

配置审查结论

  • .mcp.json 当前使用 tools/codex/mcp-postgres.ps1 读取 DSN未在当前 diff 中新增明文 PostgreSQL URL。
  • apps/etl/connectors/feiqiu/.env 当前 diff 是真实 JWT/API token 的替换;用户已确认可纳入对应批次,但此处仍标为高敏配置。
  • SERVER-ACCESS.md 明确禁止写入私钥、密码、数据库密码、token、证书私钥当前内容未发现私钥正文或密码正文。
  • SERVER-ACCESS.md 仍包含内网 IP、SSH 用户和密钥文件路径,提交前建议用户再做一次人工确认。

建议敏感扫描:

git diff -- .mcp.json apps/etl/connectors/feiqiu/.env docs/deployment/SERVER-ACCESS.md docs/deployment/LAUNCH-CHECKLIST.md
git grep -n -I -E "postgresql://|postgres://|BEGIN .*PRIVATE KEY|password=|api[_-]?key|secret" -- .mcp.json docs/deployment tools/codex tools/cursor

八、X交叉文件

路径 当前差异 建议归属
apps/backend/app/main.py 包含 RuntimeContext router 挂载、AI WebSocket router、孤儿 run_logs 清理、dispatcher 注入 交叉文件;建议在 R1/C2 提交前拆 hunk 或单独提交为后端启动整合
docs/audit/audit_dashboard.md 自动生成,新增 2026-04-29、04-30、05-01 多条审计索引 交叉文件;建议等 C1/R1/C2/L1 审计归属确认后再统一提交
CLAUDE.md 新增 CLI/UTF-8 中文处理规则 可入 C1但当前 diff 终端显示一处乱码,提交前需复核实际文件编码
docs/deployment/LAUNCH-CHECKLIST.md 新增 SERVER-ACCESS.md 引用 可入 C5 文档批次

九、C4临时产物排除项

本轮不移动、不删除、不改 .gitignore,仅明确这些文件不进入提交批次:

路径 类型
tmp/LOG.txt 日志/临时记录
tmp/board-finance-debug.png 调试截图
tmp/churned_customer_report.html 临时报表
tmp/churned_customer_report.pdf 临时报表
tmp/excel_analysis_report.txt Excel 分析临时输出
tmp/revenue_report.md 临时报表
tmp/revenue_report.py 临时报表脚本
tmp/revenue_report.xlsx 临时报表
tmp/revenue_report_xlsx.py 临时报表脚本
tmp/sheet_structure.txt Excel 分析临时输出
tmp/hlm/ 汇来米/交易筛选导出
tmp/web/ 汇来米商户控台对账单导出
tmp/*.xlsx Excel 导出
tmp/分组与面积.txt 经营区域/面积分析源文件

十、建议执行顺序

步骤 1提交前只读检查

git status --short
git diff --check
git diff --name-status

步骤 2优先处理 C1

建议先固化迁移/追溯资产,但需要排除交叉文件:

  • 包含:AGENTS.md、各 AGENTS.md.cursor/docs/ai-env-history/docs/claude-history/docs/codex_migration*.mddocs/cursor_migration.mdtools/codex/tools/cursor/.mcp.json
  • 暂不包含:docs/audit/audit_dashboard.md
  • 是否包含 CLAUDE.md:建议先复核编码后纳入 C1。

步骤 3处理 R1

  • 先确认 RuntimeContext 文件能否独立通过后端测试。
  • apps/backend/app/main.py 暂不直接纳入 R1除非拆分 hunk 或确认整文件作为后端启动整合提交。

步骤 4处理 C2

  • 按后端、admin-web、小程序、DB/脚本分组验证。
  • 不建议一次性提交全部 C2建议拆成
    1. 后端 AI 核心与 prompts。
    2. admin-web AI 管理页面。
    3. 小程序 AI 入口与财务看板展示。
    4. DB 迁移与 AI 文档。

步骤 5处理 L1

  • finance_area_daily.py 建议独立验证并提交。

步骤 6处理 C5 / C4

  • C5 配置与部署文档需最终确认。
  • C4 tmp/ 全部保持未提交、未清理。

十一、最终确认点

执行 stage/commit 前需要再次确认:

  1. 是否先提交 C1且暂不提交 docs/audit/audit_dashboard.md
  2. CLAUDE.md 编码复核通过后是否随 C1 提交?
  3. apps/etl/connectors/feiqiu/.env 虽含真实 API_TOKEN,是否仍按用户确认纳入提交?
  4. apps/backend/app/main.py 是拆 hunk还是作为单独“后端启动整合”提交
  5. docs/deployment/SERVER-ACCESS.md 是否按当前明文地址/用户/密钥路径提交?
  6. C2 是否按后端/admin-web/小程序/DB 文档继续拆分,而不是单一大提交?

十二、本轮未执行事项

  • 未 stage。
  • 未 commit。
  • 未移动或删除 tmp/
  • 未修改 .gitignore
  • 未运行测试。
  • 未执行生产迁移、回填或预热。