Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
.venv/
.venv.before-path-rename-*/
__pycache__/
*.pyc

Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -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站统一真实发布链路已打通;真实投稿仍遵守账号登录、平台验证、风控和人工确认边界

Expand Down
13 changes: 13 additions & 0 deletions DEVELOPMENT_LOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 继续禁用。
9 changes: 9 additions & 0 deletions NEXT_STEPS.md
Original file line number Diff line number Diff line change
@@ -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,由用户手动合并,不自动删除功能分支。
Expand Down
4 changes: 2 additions & 2 deletions docs/DEPLOYMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 创建虚拟环境并安装依赖
Expand Down
4 changes: 2 additions & 2 deletions docs/agent_tasks/2026-08-22-publish-center-content-rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
```

## 返回格式
Expand Down
62 changes: 62 additions & 0 deletions docs/agent_tasks/2026-08-28-rename-project-root.md
Original file line number Diff line number Diff line change
@@ -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 链接。
- 若发生回滚或阻塞,给出准确失败步骤与已恢复状态。