From 952b3007e10d8450903ca7470064586abc3ef6b3 Mon Sep 17 00:00:00 2001 From: Codex Date: Fri, 28 Aug 2026 16:37:42 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E7=BD=AE=EF=BC=9A=E8=BF=81=E7=A7=BB?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=9C=AC=E5=9C=B0=E7=9B=AE=E5=BD=95=E8=B7=AF?= =?UTF-8?q?=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + AGENTS.md | 2 +- DEVELOPMENT_LOG.md | 13 ++++ NEXT_STEPS.md | 9 +++ docs/DEPLOYMENT.md | 4 +- ...2026-08-22-publish-center-content-rules.md | 4 +- .../2026-08-28-rename-project-root.md | 62 +++++++++++++++++++ 7 files changed, 90 insertions(+), 5 deletions(-) create mode 100644 docs/agent_tasks/2026-08-28-rename-project-root.md diff --git a/.gitignore b/.gitignore index 458ac2f..1dccfdb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .venv/ +.venv.before-path-rename-*/ __pycache__/ *.pyc diff --git a/AGENTS.md b/AGENTS.md index 2086cf2..6d59f6c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4,7 +4,7 @@ - 项目英文名:NiuMa Studio - 项目中文说明:牛马片场,本地 AI 高光生产后台 -- 项目目录:`C:\Users\10578\Documents\New project 2` +- 项目目录:`C:\Users\10578\Documents\Ai-Clip-Workflow` - 当前版本:2.1.0 - 当前状态:Windows 本地 AI 高光生产闭环已完成整合,素材、转写、AI 选片、审核、切片、内容准备、排期与抖音/B站统一真实发布链路已打通;真实投稿仍遵守账号登录、平台验证、风控和人工确认边界 diff --git a/DEVELOPMENT_LOG.md b/DEVELOPMENT_LOG.md index 3206f0e..08f8225 100644 --- a/DEVELOPMENT_LOG.md +++ b/DEVELOPMENT_LOG.md @@ -1381,3 +1381,16 @@ - 强制用原始 `start_time` 后前 3 秒评价钩子,要求 15 秒内出现第一次有效刺激,并把评论动机、单一话题和完整反应闭环设为硬门槛。 - 片段以 60–90 秒为主,普通可看内容不得虚高到 78 分;本次不修改三阶段分析代码、A/B/C 门槛、候选池或历史分析结果。 - 相关选片与 Prompt 测试 `43 passed`,Ruff 和 `git diff --check` 通过;活动 SQLite 更新前已生成一致性备份,更新后 `integrity_check=ok`、外键异常为 0,其他 Prompt 与任务记录未变化。 + +## 2026-08-28 本地项目根目录迁移 + +- 正式项目根目录从 `C:\Users\10578\Documents\New project 2` 迁移为 `C:\Users\10578\Documents\Ai-Clip-Workflow`;GitHub 远程仓库继续使用 `https://github.com/damingishere-coder/Ai-Clip-Workflow.git`,仓库名称和公开 API 均未修改。 +- 停机前备份活动 SQLite、Alter `state.json`、Git worktree 元数据和禁用的 Docker Watcher 配置;因用户主动关闭全部 Alter,迁移期间其他托管项目保持停止。原定 16:00 且尚未执行的抖音排期 `494518fc1100` 经用户确认调整到 17:00,修改前另做数据库备份。 +- 使用独立的一次性 Windows 计划任务完成同盘目录重命名,成功后立即删除该临时任务与助手脚本;旧目录已不存在,新目录存在。 +- 执行 `git worktree repair` 修复主仓库、随目录移动的嵌套 worktree 和三个外部 linked worktree;`New project 2-task-automation` 原有 15 个未提交文件保持不变,没有 reset、stash 或覆盖。 +- 旧 `.venv` 保留为 `.venv.before-path-rename-20260828-1520` 回滚副本;使用 `C:\Python312\python.exe` 在新目录重建 `.venv` 并从备份 wheelhouse 离线安装 `requirements-dev.txt`。 +- SQLite 事务仅替换 `tasks.source_path`、`tasks.original_video_path` 和 `output_clip.output_file_path` 中实际命中的 4 条旧根路径;两个发布结果 JSON 字段无命中。迁移后 `quick_check=ok`、外键异常为 0,E 盘路径计数未变化。 +- Alter 固定 ID `fe184e2b-9e04-4b21-a86b-12c59f98d71e` 与 `6f5fc7c4-9e42-4966-a8ef-f382b0c3e451` 保持不变,`enabled=true`、`autorestart=true`,`cwd/script/args` 已更新为新路径;其他托管项未启动。 +- `NiuMa Studio Docker Watcher` 的脚本路径和工作目录已更新为新目录,并继续保持禁用。Worker、Web 与 Scheduler 健康检查通过,迁移验证未手工触发真实投稿。 +- Documents 下的 `启动牛马片场.bat` 与 `停止牛马片场.bat` 已同步改为新根目录,避免后续双击启动或停止时仍进入不存在的旧目录。 +- 路径相关回归 `28 passed`,Ruff 与 `git diff --check` 通过;`doctor.ps1` 仅因 Docker Desktop 当前不可连接返回失败,当前正式 Windows 原生 Web/Worker 与 Scheduler 健康,不影响本次迁移,Docker Watcher 继续禁用。 diff --git a/NEXT_STEPS.md b/NEXT_STEPS.md index 0aae27e..76d8fe9 100644 --- a/NEXT_STEPS.md +++ b/NEXT_STEPS.md @@ -1,5 +1,14 @@ # Next Steps +## 2026-08-28 本地目录迁移后的使用说明 + +1. 今后只从 `C:\Users\10578\Documents\Ai-Clip-Workflow` 打开项目;旧目录 `C:\Users\10578\Documents\New project 2` 已不存在,GitHub 远程地址没有变化。 +2. Alter 中 `Niuma-Studio` 和 `Niuma-Publish-Worker` 已保留原 ID 并使用新路径;用户主动关闭的其他 Alter 项仍保持停止,需要使用时再由用户逐项启动。 +3. 抖音排期 `494518fc1100` 已按用户确认调整到 2026-08-28 17:00;保持电脑、网络和已登录 Chrome 可用,若出现验证码、登录失效或平台风控,进入人工复核,不要重复投稿。 +4. `.venv.before-path-rename-20260828-1520` 和 `backups/path-rename-20260828-1520` 暂时保留用于回滚;确认新目录持续稳定后再另行决定是否清理,不要手动删除活动数据库或 E 盘素材。 +5. 本次文档提交位于 `docs/rename-project-root` 分支;由于当前功能分支已有待合并改动,PR 采用堆叠基线,只包含目录迁移文档,不自动合并。 +6. Docker Desktop 当前不可连接,`doctor.ps1` 的 Docker Engine 项因此失败;日常 Windows 原生运行不受影响。以后需要切回 Docker 时,先启动 Docker Desktop,再重新运行 `scripts\doctor.ps1`。 + ## 2026-08-28 v2.2 内容复盘验收与后续使用 1. 合并 2.2 PR 前确认 Linux、Windows host smoke 与 Docker image smoke 全绿;使用普通 merge commit,由用户手动合并,不自动删除功能分支。 diff --git a/docs/DEPLOYMENT.md b/docs/DEPLOYMENT.md index bafd8b7..554c77a 100644 --- a/docs/DEPLOYMENT.md +++ b/docs/DEPLOYMENT.md @@ -48,8 +48,8 @@ v2.2.0 支持两种运行方式。日常使用推荐 Docker Desktop;真实抖 打开 PowerShell,进入你想放项目的目录: ```powershell -git clone <仓库地址> "New project 2" -cd "New project 2" +git clone <仓库地址> "Ai-Clip-Workflow" +cd "Ai-Clip-Workflow" ``` ### 2.3 创建虚拟环境并安装依赖 diff --git a/docs/agent_tasks/2026-08-22-publish-center-content-rules.md b/docs/agent_tasks/2026-08-22-publish-center-content-rules.md index 0a99d54..5655dec 100644 --- a/docs/agent_tasks/2026-08-22-publish-center-content-rules.md +++ b/docs/agent_tasks/2026-08-22-publish-center-content-rules.md @@ -52,8 +52,8 @@ 在隔离 worktree 中使用主项目虚拟环境: ```powershell -& 'C:\Users\10578\Documents\New project 2\.venv\Scripts\python.exe' -m pytest tests/test_publish_copy_rules.py tests/test_publish_readiness.py tests/test_publish_job_lifecycle.py tests/test_local_browser_publishers.py tests/test_publish_task_grouping.py tests/test_publish_task_linkage.py tests/test_auto_pipeline.py tests/test_publish_center_browser.py -q -& 'C:\Users\10578\Documents\New project 2\.venv\Scripts\python.exe' -m pytest -q +& 'C:\Users\10578\Documents\Ai-Clip-Workflow\.venv\Scripts\python.exe' -m pytest tests/test_publish_copy_rules.py tests/test_publish_readiness.py tests/test_publish_job_lifecycle.py tests/test_local_browser_publishers.py tests/test_publish_task_grouping.py tests/test_publish_task_linkage.py tests/test_auto_pipeline.py tests/test_publish_center_browser.py -q +& 'C:\Users\10578\Documents\Ai-Clip-Workflow\.venv\Scripts\python.exe' -m pytest -q ``` ## 返回格式 diff --git a/docs/agent_tasks/2026-08-28-rename-project-root.md b/docs/agent_tasks/2026-08-28-rename-project-root.md new file mode 100644 index 0000000..09b7b63 --- /dev/null +++ b/docs/agent_tasks/2026-08-28-rename-project-root.md @@ -0,0 +1,62 @@ +# NiuMa Studio 本地根目录安全迁移任务 + +## 背景 + +当前正式本地项目根目录为 `C:\Users\10578\Documents\New project 2`,GitHub 仓库名已经是 `Ai-Clip-Workflow`。本任务把本地根目录改为 `C:\Users\10578\Documents\Ai-Clip-Workflow`,同时保持 Git、SQLite、E 盘素材、Chrome 登录资料和 Alter 托管关系连续可用。 + +## 目标 + +- 只迁移本项目根目录,不改变 GitHub 仓库地址或应用公开接口。 +- 保留 Alter 中 `Niuma-Studio` 与 `Niuma-Publish-Worker` 的原注册 ID、启用状态和自动重启配置。 +- 修复 Git linked worktree、Windows 虚拟环境、SQLite 内旧绝对路径和禁用的 Docker Watcher 路径。 +- 完成健康检查、路径测试、Git 提交、推送和 PR。 + +## 允许修改范围 + +- 本项目根目录名称及其内部可重建的 `.venv`。 +- SQLite 中以旧项目根目录为前缀的已确认路径字段。 +- 两个固定 Alter 注册项的 `cwd`、脚本和参数。 +- `NiuMa Studio Docker Watcher` 的脚本路径与工作目录,且保持禁用。 +- Documents 下明确属于 NiuMa 的启动、停止批处理中的项目根路径。 +- 当前路径说明、部署命令、开发日志和下一步文档。 + +## 禁止修改范围 + +- 不修改或删除 `.env`、Cookie、Chrome 登录目录、E 盘原片、发布包和外部唯一素材。 +- 不停止或更新其他 Alter 项;若用户主动关闭了整个 Alter,仅为完成 API 配置迁移启动守护进程,并确保其他项目继续保持停止。 +- 不 reset、stash、清理或覆盖任何 linked worktree 的未提交修改。 +- 不执行真实抖音/B站投稿,不自动合并 PR,不 force push。 + +## 已确定实现要求 + +1. 停机前确认没有运行中的工作流、`PUBLISHING` 或未来 20 分钟排期。 +2. 备份 SQLite、Alter 持久化状态和 Git worktree 元数据,并校验数据库。 +3. 仅按固定 ID 停止、更新和启动两个 NiuMa Alter 项。 +4. 从父目录执行一次精确重命名,并运行 `git worktree repair`。 +5. 使用 `C:\Python312\python.exe` 在新路径重建 `.venv`。 +6. SQLite 路径迁移只替换完全匹配的旧根目录前缀,不改 E 盘路径。 +7. 任一步失败时恢复旧目录名、数据库、虚拟环境、Git worktree 和 Alter 配置。 + +## 验收标准 + +- 旧目录不存在,新目录存在,所有 linked worktree 可访问且原未提交修改仍在。 +- Git `origin` 仍为 `https://github.com/damingishere-coder/Ai-Clip-Workflow.git`。 +- 两个 Alter 项保留原 ID,均为 `running`、`enabled=true`、`autorestart=true`,路径全部使用新根目录。 +- 8001 `/health`、8001 Scheduler 健康和 8765 Worker 健康通过,且无进程继续引用旧路径。 +- SQLite 完整性、外键和旧路径残留检查通过;E 盘目录与 Chrome Profile 原样保留。 +- Docker Watcher 的动作路径使用新目录并继续保持禁用。 + +## 测试命令 + +```powershell +.\.venv\Scripts\python.exe -m pytest -q tests/test_native_scripts.py tests/test_publish_worker_client.py tests/test_schema_migration_ledger.py +.\.venv\Scripts\python.exe -m ruff check . +.\scripts\doctor.ps1 +git diff --check +``` + +## 返回格式 + +- 报告目录迁移、Alter 两个固定 ID、端口/PID/健康、数据库与 worktree 验证结果。 +- 报告修改文件、测试命令与结果、提交哈希、分支、推送和 PR 链接。 +- 若发生回滚或阻塞,给出准确失败步骤与已恢复状态。