douyin-mcp-server
by lancelin111
README.md
# 抖音视频上传 Skills
让你的 AI 助手能够自动上传视频到抖音创作者平台。支持 [OpenClaw](https://openclaw.ai)、[Claude Code](https://claude.ai/code) 等 AI 工具。
---
## 目录
- [快速开始](#-快速开始)
- [详细使用流程](#-详细使用流程)
- [Skills 说明](#-skills-说明)
- [命令行使用](#-命令行使用)
- [常见问题](#-常见问题)
---
## 🚀 快速开始
### 前置要求
- **Node.js 18+**:[下载地址](https://nodejs.org/)
- **Chrome 浏览器**:用于自动化操作
- **抖音创作者账号**:[注册地址](https://creator.douyin.com/)
### 安装步骤
```bash
# 1. 克隆项目
git clone https://github.com/lancelin111/douyin-mcp-server.git
cd douyin-mcp-server
# 2. 安装依赖并构建
npm install && cd mcp-server && npm install && npm run build && cd ..
# 3. 复制 Skill 到 OpenClaw(或 Claude Code)
# OpenClaw:
mkdir -p ~/.openclaw/workspace/skills/douyin && cp skills/SKILL.md ~/.openclaw/workspace/skills/douyin/
# Claude Code:
mkdir -p ~/.claude/skills/douyin && cp skills/SKILL.md ~/.claude/skills/douyin/
```
### 验证安装
```bash
# 测试脚本是否可用
npx tsx scripts/manage.ts info
```
输出 `No saved cookies found.` 表示安装成功。
---
## 📖 详细使用流程
### 第一步:登录抖音账号
首次使用必须先登录,获取并保存登录凭证。
**在 OpenClaw/Claude Code 中:**
```
帮我登录抖音
```
或
```
/douyin
```
**命令行方式:**
```bash
cd douyin-mcp-server
npx tsx scripts/login.ts
```
**流程说明:**
1. 程序会自动打开 Chrome 浏览器
2. 浏览器显示抖音创作者平台登录页面
3. **你需要手动完成登录**(扫码或账号密码)
4. 登录成功后,程序自动保存 Cookie 并关闭浏览器
5. 终端显示 `✅ Login successful!`
**登录成功输出:**
```
🚀 Starting Douyin login...
Headless: false
Timeout: 180000ms
✅ Login successful!
User: 你的抖音昵称
Cookies saved: 25
```
> ⚠️ **注意**:Cookie 有效期约 30 天,过期后需重新登录。
> 📱 **重要提示**:登录成功后,**第一次上传视频需要短信验证**。按提示输入验证码即可。完成一次验证后,之后的上传将完全自动化,无需再次验证。
---
### 第二步:上传视频
登录成功后,就可以上传视频了。
**在 OpenClaw/Claude Code 中:**
```
上传视频 /Users/xxx/video.mp4 到抖音,标题是"我的第一个视频",标签是"日常,生活"
```
**命令行方式:**
```bash
npx tsx scripts/upload.ts \
--video "/Users/xxx/video.mp4" \
--title "我的第一个视频" \
--description "这是视频描述" \
--tags "日常,生活,记录"
```
**参数说明:**
| 参数 | 必需 | 说明 |
|-----|-----|------|
| `--video` | ✅ | 视频文件的**绝对路径** |
| `--title` | ✅ | 视频标题(建议 10-30 字) |
| `--description` | ❌ | 视频描述 |
| `--tags` | ❌ | 标签,逗号分隔 |
| `--no-publish` | ❌ | 仅保存草稿,不发布 |
**上传成功输出:**
```
🚀 Starting Douyin upload...
Video: /Users/xxx/video.mp4
Title: 我的第一个视频
Tags: 日常, 生活, 记录
Auto-publish: true
✅ Video upload and publish successful!
Title: 我的第一个视频
Status: Published
```
**遇到短信验证:**
```
📱 检测到短信验证页面
✅ 已发送验证码到您的手机
请输入收到的验证码:
验证码: 123456
✅ 验证码已提交
```
---
### 第三步:管理登录状态
定期检查登录状态,避免上传时才发现 Cookie 过期。
**检查登录是否有效:**
```bash
npx tsx scripts/manage.ts check
```
输出:
```
🔍 Checking login status...
✅ Cookies are valid. Can auto-login as: 你的昵称
```
**查看 Cookie 信息:**
```bash
npx tsx scripts/manage.ts info
```
输出:
```
📋 Cookie information:
Count: 25
Created: 2024/3/16 22:30:00
```
**清除登录数据(切换账号时使用):**
```bash
npx tsx scripts/manage.ts clear
```
输出:
```
🗑️ Clearing login data...
✅ Cookies and browser data cleared successfully.
```
---
## 📦 Skills 说明
本项目提供一个统一的 Skill,符合 [Agent Skills](https://agentskills.io) 开放标准。
**Skill 名称**:`douyin`
**触发方式**:`/douyin` 或自然语言如 "登录抖音"、"上传视频到抖音"、"检查抖音登录状态"
**功能**:
- 登录抖音账号并保存凭证
- 上传视频到抖音(支持标题、描述、标签)
- 管理登录状态(检查、查看、清除)
### Skills 目录结构
```
skills/
└── SKILL.md # 统一的技能定义文件
```
### 安装到不同平台
**OpenClaw:**
```bash
cp skills/SKILL.md ~/.openclaw/workspace/skills/douyin/SKILL.md
# 然后在 OpenClaw 中输入: refresh skills
```
**Claude Code:**
```bash
mkdir -p ~/.claude/skills/douyin && cp skills/SKILL.md ~/.claude/skills/douyin/
```
**其他支持 Agent Skills 的工具:**
按照各工具的 Skills 安装方式,将 `skills/SKILL.md` 复制到相应位置。
---
## 🖥️ 命令行使用
不依赖 AI 工具,直接通过命令行使用。
### 登录
```bash
npx tsx scripts/login.ts [选项]
```
| 选项 | 说明 |
|-----|------|
| `--headless` | 无头模式(登录时不要用) |
| `--timeout <ms>` | 超时时间,默认 180000 |
### 上传
```bash
npx tsx scripts/upload.ts --video <路径> --title <标题> [选项]
```
| 选项 | 说明 |
|-----|------|
| `--video` | 视频文件路径(必需) |
| `--title` | 视频标题(必需) |
| `--description` | 视频描述 |
| `--tags` | 标签,逗号分隔 |
| `--headless` | 无头模式 |
| `--no-publish` | 仅保存草稿 |
### 管理
```bash
npx tsx scripts/manage.ts <命令>
```
| 命令 | 说明 |
|-----|------|
| `check` | 检查登录状态 |
| `info` | 查看 Cookie 信息 |
| `clear` | 清除登录数据 |
---
## ❓ 常见问题
### Q: 浏览器启动失败?
```bash
# 重新安装 Chrome
npx puppeteer browsers install chrome
```
### Q: 提示 "Login expired"?
Cookie 已过期,需要重新登录:
```bash
npx tsx scripts/manage.ts clear
npx tsx scripts/login.ts
```
### Q: 上传卡住不动?
1. 检查网络连接
2. 大文件需要较长时间,请耐心等待
3. 不使用 `--headless`,观察浏览器状态
### Q: 视频上传成功但显示"审核中"?
这是正常情况,抖音会对视频进行审核,通常几分钟到几小时不等。
### Q: 如何切换抖音账号?
```bash
# 1. 清除当前登录
npx tsx scripts/manage.ts clear
# 2. 重新登录新账号
npx tsx scripts/login.ts
```
### Q: 支持哪些视频格式?
- **推荐**:MP4
- **支持**:MOV、AVI
- **分辨率**:1080x1920(竖屏)或 1920x1080(横屏)
- **时长**:15 秒 - 5 分钟
- **大小**:建议不超过 500MB
---
## 📁 项目结构
```
douyin-mcp-server/
├── skills/ # Agent Skills 定义
│ └── SKILL.md # 统一的技能定义文件
├── scripts/ # CLI 脚本
│ ├── login.ts
│ ├── upload.ts
│ └── manage.ts
├── mcp-server/ # 核心代码
│ ├── douyin-uploader.ts # 自动化逻辑
│ ├── index.ts # MCP 服务器入口
│ └── __tests__/ # 单元测试
├── install.sh # 一键安装脚本
└── README.md
```
---
## ⚠️ 注意事项
1. **账号安全**:请勿在公共环境使用,保护好 Cookie 文件
2. **使用规范**:遵守抖音平台规则,不要频繁发布或发布违规内容
3. **Cookie 有效期**:约 30 天,定期检查并重新登录
---
## 📄 许可证
MIT License
---
## 🔗 相关链接
- [OpenClaw](https://openclaw.ai) - AI 助手平台
- [Agent Skills 标准](https://agentskills.io) - 开放标准规范
- [抖音创作者平台](https://creator.douyin.com/) - 抖音官方
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues