douyin posting Skill 使用指南
name: douyin-posting
by 15027302155 · published 2026-04-01
$ claw add gh:15027302155/15027302155-douyin-push-video---
name: douyin-posting
description: >
协助用户将本地或用户提供的视频发布到抖音账号。包含上传流程说明、开放平台 API 使用指引及发布前检查。Use when: 用户要发抖音、上传视频到抖音、把视频发到抖音、post to Douyin、抖音发布。NOT for: 抖音视频下载、抖音数据分析、非发布类抖音操作。
---
# douyin posting Skill 使用指南
# 抖音视频发布
何时使用
配置并记录 openId、accessToken
**当用户提供 openId 和 accessToken 并要求「配置上去」或「记录下来」时:**
1. 将用户提供的 **openId** 和 **accessToken** 写入项目根目录的 **`.env`** 文件。
2. 格式为(不要有多余引号或空格):
```
DOUYIN_OPEN_ID=用户提供的openId
DOUYIN_ACCESS_TOKEN=用户提供的accessToken
```
3. 若 `.env` 已存在,则只更新上述两个变量,保留其它变量不变。
4. 告知用户:「已把 openId 和 accessToken 写入项目下的 .env,会一直保留,之后发抖音会优先用这份配置。」
项目中的 `index.js` 会自动读取 `.env`,无需用户再手动设置环境变量。
使用前必须检查
**在协助发布(尤其是调用 API/脚本)之前,必须先确认用户是否具备:**
若用户尚未提供或未获取这两项,应**先引导用户**按下面「如何获取 openId 与 accessToken」完成授权;若用户表示要「配置上去」「记录下来」,则按上节「配置并记录 openId、accessToken」写入 `.env`,不要直接执行上传/发布代码。
如何获取 openId 与 accessToken(直接引导)
**当用户没有 openId/accessToken 且需要发抖音时,按以下步骤引导用户完成授权并拿到凭证。可逐条回复或给出链接与命令。**
第一步:创建应用并配置(若尚未有)
1. 打开 [抖音开放平台](https://partner.open-douyin.com/) 并登录。
2. 进入「管理中心」→「应用管理」→「创建应用」,选择「移动应用」或「网站应用」等(根据实际类型)。
3. 在应用详情里找到 **client_key**(应用唯一标识)和 **client_secret**(密钥),后续要用。
4. 在应用里配置 **重定向地址 redirect_uri**:必须是 **HTTPS** 的完整 URL(不支持 http、localhost)。若本地开发,可用 [ngrok](https://ngrok.com/)、[cpolar](https://www.cpolar.com/) 等把本机端口映射为 https 地址,并把该地址填到开放平台「重定向地址」中。
5. 申请发布视频能力:在「能力管理」→「能力实验室」中申请「**代替用户发布内容到抖音**」,审核通过后才有发布权限。授权时需勾选对应 scope(见下)。
第二步:让用户打开授权页拿到 code
6. 拼出授权 URL(把下面参数换成用户自己的值):
```
https://open.douyin.com/platform/oauth/connect/?client_key=你的client_key&response_type=code&scope=user_info,video.create&redirect_uri=你的redirect_uri的URL编码&state=任意字符串
```
- `scope` 至少包含 `user_info,video.create`(发布视频需要)。
- `redirect_uri` 必须与开放平台里配置的完全一致,若含特殊字符需做 URL 编码。
7. 让用户用浏览器打开该 URL,扫码或登录抖音并同意授权。
8. 授权成功后页面会跳转到 `redirect_uri?code=xxx&state=xxx`,从地址栏或回调页拿到 **code**(code 约 10 分钟有效,且只能用一次)。
第三步:用 code 换 openId 和 accessToken
9. 调用接口用 code 换 token:
- 接口:`POST https://open.douyin.com/oauth/access_token/`
- Content-Type:`application/x-www-form-urlencoded`
- Body 参数:`client_key`、`client_secret`、`code`、`grant_type=authorization_code`
10. 响应里会包含 **open_id**、**access_token**、**refresh_token**、**expires_in**(access_token 约 15 天有效)。把 **open_id** 和 **access_token** 给用户,或按用户要求写入项目 `.env`(见上节「配置并记录 openId、accessToken」)。
**项目内已提供脚本**:用户若已配置好 `.env` 中的 `DOUYIN_CLIENT_KEY`、`DOUYIN_CLIENT_SECRET`、`REDIRECT_URI`,拿到 code 后可在项目根目录执行:
node scripts/get-douyin-token.js <用户拿到的code>
脚本会输出 open_id 和 access_token,并询问是否写入 `.env`,从而完成「直接引导」获取并记录凭证。
官方文档链接(可发给用户)
核心流程
1. **确认 openId 与 accessToken**(见上「使用前必须检查」)
2. **确认素材**
- 视频文件路径或用户已提供的视频
- 标题、话题、封面(可选)、可见范围等发布参数
3. **发布方式二选一**
- **手动发布**:引导用户使用抖音/抖音创作者中心网页或 App,按步骤上传并填写标题、话题等。
- **开放平台发布**:若用户需要自动化,指引使用抖音开放平台(创作服务平台)的「发布视频」相关 API;需先完成企业/个人开发者认证与授权。
4. **发布前检查**
- 视频格式与时长符合抖音规范(常见:MP4,建议时长与尺寸参考当前平台规则)
- 标题、话题无违规词
- 若用 API,确认已获取有效 access_token 及发布权限
开放平台 API 要点
回复原则
示例话术
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...