douyin-comments SKILL.md skillA

douyin-comments from pluviobyte/douyin-comments is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add pluviobyte/douyin-comments/douyin-comments@git:20261031.1ec038a

Pins git:20261031.1ec038a in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
pluviobyte/douyin-comments
Path
SKILL.md
Versions recorded
2
Latest version
git:20261031.1ec038a, committed Oct 31, 2026
First version recorded
Oct 30, 2026
Size
7,653 bytes
Repository stars
414
License
none declared

抓取抖音单条视频的完整评论区(一级评论 + 全部楼中楼回复)和视频详情,可选下载视频,输出按点赞排序的「评论全文.md」和原始 JSON。在用户本人已登录的 Chrome 里运行(Claude in Chrome 扩展),借页面自带 SDK 签名,不需要 TikHub、Playwright 或 a_bogus 逆向。用户给出抖音视频链接(douyin.com/video/…、带 modal_id 的主页链接、v.douyin.com 短链),并说"看评论区""抓评论""拉评论""评论区有什么质疑/疑问""参考评论区"时使用。只适用于抖音单条视频;小红书、B 站、批量采集博主全部作品不适用。.

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# 抖音评论区抓取

## 原理(为什么这样做)

- 抖音 Web 接口要带 a_bogus 签名、msToken、uifid、x-tt-argus 等风控参数。页面里的 SDK 会给页面内发出的 XHR 自动补签名,所以请求都在用户的真实 Chrome 页面里发,指纹和登录态都是真的。
- 只带 `device_platform/aid` 直接调楼中楼接口,会**立刻弹文字点选验证码**,请求挂起(2026-10-30 实测)。原因是缺了页面正常请求才有的公共参数(channel、version_code、浏览器信息、msToken 等)。所以:
  - **主路线** `page_fetch.js`:先拦截页面自己发出的一次真实评论请求当模板,之后只替换 `aweme_id / cursor / comment_id`,其余参数照抄。
  - **兜底路线** `page_ui_expand.js`:在评论区逐个点「展开N条回复」,由页面自己发请求,我们只截获响应。慢,但实测不触发风控。
- 思路借鉴 MediaCrawler(公共参数集、x-tt-argus/uifid、先一级后逐楼、请求间 sleep)。它的许可证是非商业学习许可,**不要复制它的代码或 douyin.js**。

## 硬规则

- **验证码绝不代点**。出现验证码就停下,请用户在 Chrome 里手动完成,然后继续。
- **节奏**:请求间隔 2~4 秒随机,每 15 次请求额外停 8~15 秒。不要为了快去改小间隔;同一视频不要重复整轮重抓(触发验证码的主因之一)。
- **隐私墙**:输出默认写到当前项目的 `.internal/抖音评论/<aweme_id>/`。源链接、作者、原文评论只留在 `.internal/`;给成稿用的归纳文件不写源信息。
- javascript_tool 约 45 秒超时、输出约 1000 字截断:长任务一律是不 await 的后台 IIFE,进度挂在 `window.__dyc` 上轮询,数据经本地接收服务落盘。
- 用完关闭自己开的标签页,并停掉接收服务。

## 步骤

下文 `$SK` = 本 skill 目录,`$OUT` = 输出目录。

### 1. 解析视频 ID,启动接收服务

- `douyin.com/video/<id>` → id;主页链接带 `modal_id=<id>` → id;`v.douyin.com/…` 短链先在 Chrome 打开,看跳转后的 URL。
- 后台启动接收服务(`run_in_background`,端口被占就换一个,并在页面设 `window.__DYC_RECV`):
  ```bash
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add pluviobyte/douyin-comments/douyin-comments@sha256:c87a338fd4c9f3cf

The line at the top of this page pins the label git:20261031.1ec038a, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_mowyvq42uosjb22d.svg)](https://markdownregistry.com/a/art_mowyvq42uosjb22d)

1 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 2 versions of this file, between Oct 30, 2026 and Oct 31, 2026, more than one a day.

versioncommittedcommitsizeaudit
git:20261031.1ec038a latest2026-10-31 1ec038a 7,653 BA view · diff
git:20261030.151a8f12026-10-30 151a8f1 6,861 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (7653 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

pluviobyte/douyin-comments · 414 stars · license none declared · pushed 2026-10-31 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_mowyvq42uosjb22d
GET https://markdownregistry.com/api/v1/resolve?ref=pluviobyte/douyin-comments/douyin-comments
GET https://markdownregistry.com/api/v1/blob/c87a338fd4c9f3cf38199bc4eefb8fa6bfbbc646e33f4125e2cc45e97b936420

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

Browse by kind, by grade A, or by owner.