把抖音接进 AI Agent:dsh-douyin-scroll 完整教程
本文只讲怎么接,判断逻辑和设计取舍见仓库 README。 仓库:NEWJO123/dsh-douyin-scroll
0. 先想清楚(风险自担)
- 这个插件会把**你自己的抖音登录凭证(Cookie)**交给本机脚本,替你调用抖音接口。不是抖音官方功能,属于个人学习性质的自动化,可能违反抖音用户协议,账号风险自担。
- Cookie 等同于登录态。它只存在本机(
$DSH_HOME/douyin-duty/),代码全本地、可自行审阅,不上传任何服务器 —— 但别把 Cookie 贴给任何人。 - 自动发送(评论 / 私信 / 卡片)默认全关,每道都有
confirm闸。在别人视频下评论是公开行为。 - 推荐流的筛选是启发式(互动比值 + 评论文本),不是内容理解,会误判。
- 建议用小号跑,别拿主号练手。
1. 它到底是什么
一个跑在 DeepSeek Harness 上的插件,替你「刷一轮抖音」:取候选 → 硬筛 → 打分 → 挑几条 → 写 Markdown 日报 → 弹通知。
它不看画面。没有截图、OCR、视觉模型、ASR。判断全靠 JSON 字段:文案、标签、作者、时长、互动数、高赞评论。
为什么?因为抖音没有字幕轨可白拿(B站 有),所以不能「读原文」,只能读观众反应。
2. 前置条件
| 项 | 要求 | 说明 |
|---|---|---|
| 系统 | Windows(通知走 Windows toast) | 其他平台能跑但通知方式要换 |
| DSH | 已装并能启动 | 插件宿主 |
| Chrome | 建议装 | 扫码登录 / 私信 / 卡片 / 评论只找 chrome.exe;不装只影响这几个动作,「取候选 + 写日报」不受影响 |
| Python / uv | 不用手动装 | 插件会自动下 uv,在插件家目录建独立 venv |
| Node | 由 DSH 提供 | MCP server 零依赖 |
你不需要:API key、抖音开发者资质、Playwright、bb-browser。
3. 安装
bashgit clone https://github.com/NEWJO123/dsh-douyin-scroll.git cd dsh-douyin-scroll # 预检(110 项,不联网、不起浏览器),全过再装 node selfcheck.mjs # 装进 DSH(本地目录链接) dsh plugin --profile web add link:<本目录绝对路径>
⚠️ 装完必须重启一次 DSH(bundle 层要重启才组装)。然后进 设置 → 刷抖音。
如果你用的是桌面版 DSH(
DeepSeek Harness.exe,asar 打包),可能没有dsh命令行,且 profile 是desktop不是web。这时要在%DSH_HOME%\profiles\<profile>\package.json里手动加依赖,或直接改node_modules。先确认自己属于哪种。
升级
bashcd dsh-douyin-scroll git pull node selfcheck.mjs dsh plugin --profile web add link:<本目录绝对路径> # 幂等,重新指一次
再重启 DSH,设置页「关于」那行的版本号变了就是升上了。配置和聊天记忆在插件家目录,不随仓库走,升级不动它们。
4. 首次使用(三步,约 2 分钟)
第 1 步:装主依赖
设置页点「装主依赖」。它在插件家目录建独立 venv,装 curl_cffi + httpx(走国内镜像,通常 30 秒)。
进度看 install.log,不卡页面。
第 2 步:登录(二选一)
A. 扫码
bashnode tools/qr-login.mjs start
这是唯一会开可见浏览器的场景。
B. 粘 Cookie
设置页 →「抖音 Cookie / 登录」→ 把浏览器里已登录抖音的整行 Cookie 请求头粘进去。
Cookie 落在 <家目录>/douyin_cookie.txt,不进日志、不进报告、不上传。日志里只出现脱敏后的 key 名。
第 3 步:填「刷什么」
- 关注关键词:一行一个,如
搞笑、美食、猫 - 推荐流分类:如
游戏 - 指定作者:主页链接或
sec_uid(可选) - 每天最多挑几条(默认 5)、每次最多筛选几个(默认 12)
⚠️ 关键词/分类在采集侧不起作用 —— 抖音 web 没有可用的关键词搜索接口,这些词只写进报告当标注。真正取候选的是推荐流 + 热榜。
然后点「现在跑一轮」。
5. 三条路(这是整个插件的骨架)
| 干什么 | 怎么走 | 要登录? |
|---|---|---|
| 取候选 / 出清单 | 不签名的只读接口 tab/feed + hot/search | 要(Cookie) |
| 读评论 / 读通知(含「评论区 @ 我」) | 签名只读(tools/dy-signer.mjs 算 a_bogus) | 要 |
| 发私信 / 发卡片 / 发评论 | 无头 Chrome 里跑抖音自己的前端 | 要 |
不要自己加第四条路。已知不可用的:
general/search(搜索)→status_code 2483 请先登录,且 web 端没有可用搜索aweme/detail、话题视频列表、用户作品 → 需要签名或登录douyin_reply走接口提交 → 要验签票据,不可用
为什么发送动作绕不开浏览器?因为连接、签名、protobuf 编码都由抖音前端完成。自己拼签名会把登录态搞掉,无头浏览器反而是最稳的。
6. 它的判断逻辑(看懂这个才知道怎么调)
第 0 层 硬过滤(纯代码,0 token) 没文案 ⇒ 跳过|时长 <12 秒 ⇒ 跳过|文案太短 且 评论少 ⇒ 跳过 第 1 层 互动结构打分(纯数值,0 token) 收藏/点赞 高 ⇒ 有保存价值(教程/攻略/美食) 转发/点赞 高 ⇒ 想转给别人(好笑/共鸣) 评论/点赞 高 ⇒ 引发讨论 ⚠️ 播放量经常是 0 ⇒ 完全不参与计算 第 2 层 语义判断(模型) 输入是压缩过的证据包:文案/作者/时长/发布时间/互动四件套/三个比值/高赞评论 top5 必须引用具体证据(哪条评论、哪个比值),禁止「感觉有趣」 第 3 层 不确定就不推 证据不够 ⇒ 进「判断不了」区,不出现在推荐里
策略是宽松召回 + 严格推荐:点错成本很低(划过去就行),漏掉才是真损失。
7. 报告长什么样
写到 <DSH_HOME>/douyin-duty/out/<日期>.md:
markdown# 刷抖音 · 2026-10-21 > 本轮:证据包 10 条 → 逐条看过 10 条 → 推荐 4 条 · 顺带一提 4 条 · 判断不了 2 条 ## 值得看 ### 7401234567890123401 **加班到凌晨三点回家,猫以为我死了** · @两只猫的铲屎官 · 12 秒 · 8 小时前 🔗 https://www.douyin.com/video/7401234567890123401 📊 赞 12.8万 · 评 8600 · 藏 9000 · 转 2.1万 **为什么值得**:高赞评论 3 条都在说"笑死",转发/点赞 0.16 偏高 ⇒ 会想转给朋友看的段子。
⚠️ ### <纯数字视频ID> 这一行是配额用的 —— 行数 = 今天挑了几条。「顺带一提」「判断不了」里不要加这种标题,加了会吃掉当天额度。
8. 结果怎么到你手上
默认走 Windows 通知,零配置:
| 方式 | 行为 | 要准备 |
|---|---|---|
toast(默认) | 右下角弹一条:挑到几条 + 前两条值不值得看 | 什么都不用 |
file | 不额外提醒,报告落在 out/<日期>.md | — |
webhook | 推到企微 / 飞书 / 钉钉 / 任意 URL | 一个 webhook 地址 |
both | 弹通知 + 推 webhook | 同上 |
设置页「通知 → 发一条测试消息」,通了会当场弹屏。
为什么不做「抖音私信发日报」:发私信要签名和登录态、风险高。插件里虽有
douyin_dm/douyin_share_card,但只在会话里由模型调用且必须你点头。
9. 发评论 / 私信 / 卡片(默认全关)
评论:三重保障,任何一重关着都不会发
- 设置里「自动评论」关着(默认)→ 工具层直接拒绝
- 评论执行器 =
off(默认)→ 即使开关开着也不发 - 「要 @ 谁」留空 → 不发
| 执行器 | 行为 |
|---|---|
off | 不发(默认) |
builtin | 走接口提交 —— ❌ 不可用(要验签票据) |
browser | 在真实页面填评论但不点发送(刻意保守) |
http | 转发给你自己部署的服务 |
🔴 评论以你本人账号名义发出;频繁评论会触发风控;「@ 自己」是否成立未经验证。
私信 / 卡片
douyin_dm/douyin_share_card都必须传confirm: true,否则只回草稿。- 🔴 先卡片,后文字。两个都要发时,永远先卡片、隔几秒再文字;
douyin_share_card给了reason会自动按这个顺序办,不要再补一次douyin_dm。 - ⚠️ 纯文本网址在抖音里点不开,只有分享卡片能点。
- ⚠️ 回读能证明「发出去了」,证明不了「对方已读」。
10. 已知局限(不掩饰)
- 判断准确率低于 B站 版 —— 没字幕,只能读观众反应。
- 「文案极简 + 评论少」的视频一定漏 —— 刻意为之,没依据就不硬猜。
- 播放量不可用 —— 对非作者的视频经常返回 0。
- 关键词搜索不可用 —— 只有推荐流。
- 推荐流每轮不一样,同一时间跑两次候选可能不同。
- 评论可能拉不到(签名失效/风控/接口变更),报告会如实写。
11. 排障
| 现象 | 看哪里 |
|---|---|
| 设置页不出现「刷抖音」 | 重启 DSH;看日志有没有 1 entry did not activate |
| 拿不到候选 | health.json / duty.log / forward-pick.json 的 meta(每个源的 new 与 status) |
| 报告是空的 | 宿主会补占位报告并贴日志尾部;完整日志在 duty.log |
| 判断太保守/太激进 | 调「文案太短阈值 / 评论少阈值」和「每次最多筛选几个」 |
| 一轮跑太久 | 降证据包条数(前 5 条才拉评论,拉评论最慢) |
| 昨天挑的今天还算配额 | 不会:配额按 out/<今天>.md 里的 ### ID 数,跨天归零 |
| 扫码/私信/卡片失败 | 没装 Chrome(只找 chrome.exe,不找 Edge) |
| Cookie 过期 | 重新扫码或重贴 Cookie;看 health.json |
数据全在 <DSH_HOME>/douyin-duty/:config.json、collector.json、forward-pick.json、round-evidence.json、duty.md、out/、inbox/、duty.log、health.json。
12. 一页流程回顾
git clone → node selfcheck.mjs → 装进 DSH → 重启 DSH ↓ 设置 → 刷抖音 → 「装主依赖」(建 venv,30 秒) ↓ 登录:扫码(会开一次浏览器)或粘 Cookie ↓ 填关键词 / 每天几条 → 「现在跑一轮」 ↓ 报告落 out/<日期>.md,Windows 通知弹出来 ↓ (可选)开峰谷时段自动刷 → 午间 12-14 / 夜间 18-09
13. 安全底线
- Cookie = 你的账号。不贴人、不截图、不上传。
- 发送类动作(评论/私信/卡片)默认全关,想清楚再开。
- 用小号跑自动化,主号留着正常刷。
- 插件家目录在你自己 profile 下,Windows ACL 收不紧 —— 别在公共电脑上用。
- 仅供个人学习研究,别做商业用途或大规模账号操作。
出处与署名
这份文档由 NOYOT 整理编写,不是它描述的工具的作者。
它讲的工具来自:NEWJO123/dsh-douyin-scroll —— 抖音刷视频插件。
请去原作者仓库下载、按原作者文档操作;觉得好用就给原作者点个星。 如果本文件里有说错的地方,是整理者的问题,不是原作者的问题。


