把长视频整理成可审核、可切片、可排期、可发布的短视频内容。
Windows 本地运行的 AI 视频高光生产工作台,面向直播录像、访谈、综艺和其他长视频素材。
Important
牛马片场是本地单用户工具,不是云端 SaaS。真实投稿依赖用户自己的平台账号和本机 Chrome 登录状态;项目不会绕过二维码、短信、验证码、滑块或平台风控。
Note
以下为经过脱敏处理的 Windows 本地运行截图,仅用于展示页面布局和工作流程,不包含真实任务内容、账号凭据或个人信息。
还没有视频、API Key 或平台账号时,可以先启动隔离 Demo:
.\scripts\start.ps1 -DemoDemo 会使用独立的 demo-data/ 和 workspace/demo/,生成虚构任务、AI 候选片段、切片与安全的 manual_export 发布草稿。它不会连接真实平台、不会使用正式数据库,也不会启动发布调度器。
恢复初始 Demo:
.\scripts\start.ps1 -Demo -ResetDemo长视频切片通常不是“剪一刀”这么简单。真正耗时的是转写、找高光、反复审核、生成多个版本、准备平台文案、安排发布时间,以及记录每一次发布结果。
牛马片场把这些步骤收拢到一条本地工作流中:
- AI 找高光:优先支持本机受控 Codex CLI,并兼容远程 OpenAI-compatible / DeepSeek 和本地 Ollama。
- 人工可控:候选片段可以启用、禁用,并修改标题、摘要和出入点。
- 统一生产:转写、切片、文案、封面帧、排期和执行记录集中管理。
- 本地优先:视频、数据库、API Key 和浏览器登录状态保留在用户电脑。
- 保守发布:只有获得明确平台成功证据才标记为已发布;结果不确定时进入人工复核。
flowchart LR
A[导入长视频] --> B[提取音频与转写]
B --> C[AI 分析高光]
C --> D[人工审核片段]
D --> E[生成短视频]
E --> F[准备标题 / 简介 / 话题 / 封面]
F --> G[立即发送或排期]
G --> H[抖音发送中心]
H --> I[成功 / 失败 / 人工复核记录]
| 模块 | 能力 | 状态 |
|---|---|---|
| 素材管理 | 浏览器上传、本地路径、NAS 路径、独立任务目录 | ✅ 可用 |
| 语音转写 | 火山引擎远程转写、faster-whisper 本地转写 | ✅ 可用 |
| AI 选片 | 通用内容价值、综艺笑点优先、长内容分段分析 | ✅ 可用 |
| 审核切片 | 编辑候选、保存选择、按需生成新切片版本 | ✅ 可用 |
| 内容准备 | 标题、简介、话题、封面帧、账号和可见范围 | ✅ 可用 |
| 排期计划 | 批量预览、跨午夜窗口、月历、续接最晚排期 | ✅ 可用 |
| 数据保护 | SQLite 一致性备份、清单校验、恢复前回滚与升级保护 | ✅ 可用 |
| 抖音发布 | 发送中心 + Windows Chrome Worker + 独立浏览器账号目录 | 🟡 需逐账号灰度 |
| B站发布后端 | API、Publisher 与既有历史保留,当前前台和自动同步不启用 | ⚪ 兼容保留 |
| 字幕工作台 | ASS / FFmpeg 字幕成片 | 🟡 独立使用,未强绑全自动流程 |
| 多用户与云端部署 | 权限系统、多人协作、公网服务 | ❌ 暂不支持 |
git clone https://github.com/damingishere-coder/Ai-Clip-Workflow.git
cd Ai-Clip-Workflow
.\scripts\setup.ps1
.\scripts\start_native.ps1首次安装完成后,原生启动脚本会:
- 使用项目
.venv直接启动 FastAPI,不要求 Docker Desktop 常驻 - 继续读取本机
.env,不会把 Token 写进启动参数 - 将 SQLite、任务目录、上传临时目录和发布包映射到 Windows 路径
- 检测到 Google Chrome 时启动或复用 Windows 发布 Worker
- 等待
/health通过后再报告启动成功
浏览器地址:
http://127.0.0.1:8001
停止服务:
.\scripts\stop_native.ps1它只会停止经过 PID、项目目录、端口、启动时间和命令行共同校验的本项目进程。若工作台已交给 Alter 托管,请在 Alter 中停止 Niuma-Studio;stop_native.ps1 仍可单独停止本项目发布 Worker。
Docker 配置仍完整保留。需要 Compose 验收、镜像测试或原生模式回滚时运行:
.\scripts\doctor.ps1
.\scripts\start.ps1停止 Docker 完整模式仍使用 scripts\stop.ps1。不要添加 --volumes,宿主 SQLite 与 E 盘任务目录也不要删除。
创建经过 SQLite 完整性和 SHA-256 校验的备份:
.\scripts\backup.ps1升级代码前先创建回滚点:
.\scripts\pre_upgrade.ps1
git pull --ff-only
.\scripts\acceptance.ps1安全恢复备份:
.\scripts\restore.ps1 `
-BackupPath .\backups\niuma-studio-manual-YYYYMMDD-HHMMSS.zip `
-ConfirmRestore `
-StopServices备份默认包含数据库和 .env,不包含原视频;包含 .env 的 ZIP 可能含 API Key 与 Token,不能上传到公开位置。完整说明见 备份恢复指南。
.\scripts\start.ps1 -Development正式 docker-compose.yml 不再启用热重载;开发模式通过 docker-compose.dev.yml 单独挂载代码目录。
开发模式会自动跳过 Windows 发布 Worker;如果只需要工作台,也可以在正式模式使用 -SkipWorker。
.\scripts\start_native.ps1原生模式默认启动或复用 Windows 发布 Worker;只查看工作台时可加 -SkipWorker。Docker 完整模式仍可使用 scripts\start.ps1,其中 -WithPublisher 仅为兼容旧命令。真实发布需要 Windows、Google Chrome、平台账号人工登录,以及二维码、短信、验证码和风控处理。第一次真实发布必须使用一条低风险测试视频。
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements.txt
.\scripts\setup.ps1
uvicorn app.main:app --reload --port 8001完整启动模式、自定义存储路径和 Demo 说明见 通用启动指南。
完成安装后,建议先验证生产链路,不要直接测试真实投稿:
- 首页和
/health可以正常打开。 - 上传一条 1~3 分钟测试视频并创建任务。
- 转写与 AI 分析完成后出现至少一条候选片段。
- 在审核页选择片段并生成一个本地短视频。
- 生成的内容可以进入发送中心。
排期和真实投稿属于第二阶段验证,不应成为第一次安装的阻塞条件。
- 目前面向 Windows 本地单用户,使用 FastAPI、SQLite 和本地文件系统。
- 正式模式默认发布方式为
local_browser;manual_export只生成本地发布包。 - Demo 模式固定关闭调度器并使用
manual_export,不连接真实账号。 - 登录失效、验证码、风控或结果不确定时,任务进入
NEED_REVIEW,不会自动重复上传。 - 平台页面可能变化,抖音和B站真实投稿能力需要逐账号、逐版本验证。
- 项目不会保存平台账号密码,也不会尝试绕过平台安全机制。
详细状态、Scheduler、Worker、API 和发布终态说明见 技术参考。
| 文档 | 内容 |
|---|---|
| 通用启动指南 | setup、doctor、正式模式、Demo、开发模式和真实发布 |
| 新手启动指南 | 环境准备、配置、首次测试和常见问题 |
| 备份恢复指南 | 数据库、.env、媒体文件、恢复回滚和升级保护 |
| 技术参考 | 架构、存储、排期、发布状态和测试命令 |
| 依赖维护策略 | 固定版本、升级流程与 CI 验证 |
| Release 检查清单 | 自动化、Windows 实机、隐私与正式发布检查 |
| 路线图 | 后续版本计划和暂不支持范围 |
| 贡献指南 | Issue、开发环境、测试和 Pull Request 规则 |
| 安全策略 | API Key、Cookie、本地数据与漏洞报告方式 |
| 更新日志 | 公开版本变化 |
.\.venv\Scripts\Activate.ps1
pytest -vCI 目前检查:
- Python 编译与 Ruff
- pytest
- JavaScript 语法
- PowerShell 语法
- 正式、开发和 Demo Compose 配置
- 敏感运行时文件与备份 ZIP
- 隔离 Demo 建库与数据数量
- 备份、恢复和回滚往返测试
- 最终 Docker 镜像构建、健康检查与主要页面
自动化测试使用独立数据,不应连接真实平台账号或触发真实投稿。完整开发约定见 CONTRIBUTING.md。
欢迎提交 Bug、功能建议、文档改进和平台适配修复。开始之前请阅读 贡献指南。
涉及平台发布自动化的变更必须保留人工验证与风控边界,不接受绕过验证码、登录验证或平台限制的实现。
本项目使用 MIT License。第三方依赖和外部服务仍分别受其自身许可证、服务条款及平台规则约束。
如果这个项目对你有帮助,欢迎 Star、提交 Issue,或分享你的使用反馈。



