内容
<div align="center">
<img src="desktop/assets/app-icon.png" width="96" alt="ZMT AI Media Agent Logo">
# ZMT AI Media Agent
### 把一个人的内容团队,装进一台 Windows 电脑
从 IP 定位、爆款选题、文案脚本、画面分镜,到 AI 视频、素材沉淀、矩阵发布、POI 挂载和复盘回流,一条流水线完成。
[](LICENSE)
[](https://github.com/rfdiosuao/zmt-ai-media-agent)
[](https://www.electronjs.org/)
[](https://go.dev/)
[](docs/ZMT_CLI_MCP_USAGE.md)
**本地优先 · 模型可替换 · 任务可恢复 · 发布有证据 · Agent 可调用**
</div>
## 它到底解决什么问题
很多 AI 内容工具只完成一个按钮:写文案、画图或生成视频。真正费时间的部分,是把十几个步骤接起来,并且在任何一步失败后还能继续。
ZMT AI Media Agent 把内容团队的工作拆成一条可执行、可保存、可恢复的生产线:
```text
产品档案 -> IP 人设 -> 账号策划 -> 爆款选题 -> 爆款文案
-> 开篇钩子 -> 拍摄脚本 -> 分镜画面 -> AI 视频
-> 素材资产 -> 发布预检 -> POI -> 发布队列 -> 数据回流
```
它不是聊天框套壳,也不承诺“点击一次必出爆款”。它真正提供的是一套能看见进度、能沉淀资产、能人工接管、能持续复盘的内容生产基础设施。
## 核心能力
| 模块 | 能力 |
| --- | --- |
| IP 编导流水线 | 10 步引导式工作流、自动保存、断点恢复、失败重试、实时产物预览 |
| IP 与客户资产 | 产品档案、人设定位、目标人群、表达边界、文风画像、账号策略 |
| 爆款内容生产 | 选题变体、开篇钩子、长短文案、结构仿写、拍摄脚本、合规检查 |
| 多模型适配 | OpenAI 兼容文本接口、图像接口、小云雀视频、Seedance 等适配层 |
| 图像与视频 | 画面提示词、参考素材、图生视频、文生视频、多段结果归档与去重 |
| 素材与脚本库 | 按客户、IP、类型和状态沉淀选题、文案、分镜、图片、视频和发布草稿 |
| 矩阵发布 | 多平台账号、发布预检、任务队列、失败分类、人工接管、发布证据 |
| POI 工作流 | 地点搜索、挂载状态、发布前校验、未明确选中时禁止误报成功 |
| Agent 接入 | ZMT CLI、MCP Server、OpenClaw Skill,让 Codex、Claude 等 Agent 调用能力 |
| 本地数据 | Go Core + SQLite,本机保存业务数据,浏览器 Profile 隔离账号登录态 |
## 为什么它不只是 Demo
- **状态机而不是 loading 圈**:每一步都有明确状态、耗时、进度与下一步动作。
- **幂等与恢复**:重复点击、网络超时和应用重启不会轻易造成重复扣费或重复产物。
- **证据优先**:发布成功必须由任务状态、结果链接或证据记录确认,不能把“点击了按钮”当成成功。
- **模型解耦**:文本、图片、视频提供商通过适配层接入,不把业务流程绑死在单一供应商。
- **人机协作**:验证码、平台风控和最终发布等高风险动作保留人工确认入口。
- **Agent 原生**:桌面 UI、CLI 和 MCP 共用同一套业务能力,不需要为每个 Agent 重写集成。
## 系统架构
```mermaid
flowchart LR
U["运营人员 / Agent"] --> UI["Electron + React 工作台"]
U --> CLI["ZMT CLI / MCP Server"]
UI --> IPC["受控 IPC"]
CLI --> CORE["Go Core"]
IPC --> CORE
CORE --> DB["SQLite 业务数据"]
CORE --> JOB["任务、租约、幂等、恢复"]
CORE --> BROWSER["隔离浏览器 Profile"]
JOB --> MODEL["文本 / 图片 / 视频适配层"]
BROWSER --> PLATFORM["抖音 / 小红书 / 快手等平台"]
MODEL --> ASSET["素材与脚本库"]
ASSET --> PUBLISH["预检 / POI / 发布队列"]
PUBLISH --> FEEDBACK["证据 / 日志 / 数据回流"]
FEEDBACK --> JOB
```
## 快速开始
### 环境要求
- Windows 10/11 x64
- Node.js 22 或更高版本
- Go 1.24
- npm
### 安装与启动
```powershell
git clone https://github.com/rfdiosuao/zmt-ai-media-agent.git
cd zmt-ai-media-agent
npm install
npm run pw:install
npm run dev
```
首次启动后按界面完成:
1. 配置文本、图片和视频模型。
2. 创建客户、产品档案和 IP 人设。
3. 进入 IP 编导流水线生成完整内容资产。
4. 在素材库确认图片、视频与发布文案。
5. 添加平台账号并手动完成登录。
6. 在发布页执行预检,确认 POI 与目标账号。
7. 人工确认后创建发布任务,并在任务日志查看结果。
所有 API Key 都应通过本地设置页或环境变量配置。仓库不包含任何可用密钥。
## Agent、CLI 与 MCP
```powershell
npm run zmt -- --help
npm run zmt:mcp
npm run zmt:mcp:config
npm run zmt:mcp:smoke
```
详细接入方式:
- [ZMT CLI 与 MCP 使用指南](docs/ZMT_CLI_MCP_USAGE.md)
- [Agent 接入提示词](docs/ZMT_AGENT_INTEGRATION_PROMPT.md)
- [OpenClaw Agent 指南](docs/OPENCLAW_AGENT_GUIDE.md)
## 构建 Windows 安装包
```powershell
npm run build
npm run dist
```
安装器默认输出到 `artifacts/nsis/`。正式分发前应配置 Windows 代码签名证书,并审查 FFmpeg、模型服务和第三方平台的许可证与服务条款。
## 测试与质量门禁
```powershell
go test ./...
npm run test:helper
npm run test:zmt
npm run test:openclaw
npm run build:renderer
npm run test:commercial-smoke
npm run check:commercial-quality
npm run check:commercial-readiness
```
项目包含单元测试、静态 UI 测试、编导流水线视觉冒烟、商业质量样例、乱码扫描、打包资源核验和敏感信息扫描。
## 数据与安全边界
- 平台密码不会写入 SQLite。
- Cookie、Storage 和登录态由本地隔离 Browser Profile 保存。
- 验证码和平台风控需要人工处理,不提供绕过机制。
- 自动发布必须由用户明确确认;任务创建不等于平台发布成功。
- 请勿提交 `.env`、数据库、浏览器 Profile、客户素材、API Key 或授权私钥。
- 平台页面更新可能导致自动化适配器失效,遇到失败应停止并检查证据,不应无限重试。
## 项目结构
```text
desktop/ Electron 主进程与 React 界面
cmd/popagent-core/ Go Core 入口
internal/core/ 数据、任务、编导、发布与授权服务
tools/agent-helper/ 文本、图像、视频与编导 Skill
tools/playwright-helper/ 平台浏览器适配器
scripts/ 构建、测试、CLI、MCP 与交付脚本
docs/ 架构、开发和 Agent 接入文档
fixtures/ 离线质量验证样例
```
## 路线图
- [x] 10 步 IP 编导流水线与自动保存
- [x] 素材/脚本资产闭环
- [x] 小云雀与 Seedance 视频适配层
- [x] 发布预检、POI、任务队列和失败证据
- [x] ZMT CLI、MCP 与 Agent 接入
- [ ] 更多模型供应商插件
- [ ] 可视化工作流编排器
- [ ] 团队协作与权限系统
- [ ] 数据回流与内容效果评分
- [ ] 数字人和自动剪辑插件
## 参与贡献
欢迎提交 Issue 和 Pull Request。开始前请阅读 [CONTRIBUTING.md](CONTRIBUTING.md) 与 [SECURITY.md](SECURITY.md)。
优先欢迎这些贡献:模型适配器、合法合规的平台适配、内容质量评测、Windows 稳定性,以及更清楚、更少焦虑的产品体验。
## 开源协议
本项目采用 [GNU Affero General Public License v3.0](LICENSE)。修改后通过网络向用户提供服务时,也需要向对应用户提供修改后的源代码。
抖音、小红书、快手、微信、OpenAI、Seedance、小云雀等名称和商标归各自权利人所有。本项目与这些平台不存在官方隶属或背书关系。
---
<div align="center">
**让 AI 不只会生成内容,而是真正参与一条可交付的内容生产线。**
</div>