douyin-auth

douyin-auth is a skill for Claude Code, Codex from zJay26/douyin-skills. It costs 41 tokens per session (935 once invoked), scanned A, original, MIT.

A command-line tool for signing in to Douyin, a Chinese short-video platform, and managing named accounts. It supports QR-code and phone-code login through a browser.

In plain words
What is it for?
Use it to list or select accounts, check whether an account is signed in, obtain a QR code, wait for a scan, or request a phone verification code.
Why use it?
It provides one defined way to reuse browser login sessions and handle account selection, login checks, and verification prompts. This avoids using unrelated Douyin login tools or repeatedly signing in.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to list or select accounts, check whether an account is signed in, obtain a QR code, wait for a scan, or request a phone verification code.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/zjay26/douyin-skills/douyin-auth
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add zJay26/douyin-skills --skill douyin-auth
Clone the repo
git clone --depth 1 https://github.com/zJay26/douyin-skills

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for douyin-auth

README.md
[![agentmods](https://agentmods.dev/badge/skills/zjay26/douyin-skills/douyin-auth/github.svg)](https://agentmods.dev/skills/zjay26/douyin-skills/douyin-auth)
Your own site
<a href="https://agentmods.dev/skills/zjay26/douyin-skills/douyin-auth"><img src="https://agentmods.dev/badge/skills/zjay26/douyin-skills/douyin-auth/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for douyin-auth

Your own site · 80×15
<a href="https://agentmods.dev/skills/zjay26/douyin-skills/douyin-auth"><img src="https://agentmods.dev/badge/skills/zjay26/douyin-skills/douyin-auth.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 41 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 935 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00041 $0.00935
Opus 5 $0.00020 $0.00467
Sonnet 5 $0.00008 $0.00187
Haiku 4.5 $0.00004 $0.00093

Measured 4d ago against content hash 4da9be8abf2a, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

douyin-auth scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/douyin-auth/SKILL.md · 90 lines

How it starts

The opening of the file, as written. The whole thing — 90 lines — stays where its author put it; the contents beside it link to each section on GitHub.

管理抖音登录与账号

只使用 python "{baseDir}/../../scripts/cli.py" <子命令>。如果系统只有 python3,替换命令名。不要使用其他抖音登录工具。

先确认账号

用户指定账号时,在子命令前加入 --account <名称>。用户未指定时,CLI 自动使用默认命名账号;需要展示或切换账号时运行:

python "{baseDir}/../../scripts/cli.py" list-accounts

多个账号且用户意图不明确时,展示名称和描述并询问一次。选定后,本次流程保持同一账号。

检查状态

python "{baseDir}/../../scripts/cli.py" check-login
  • CLI 会优先复用已有的本地 Chrome 调试实例和其中的登录会话;已有 headed Chrome 不会因为默认模式偏好被重启。
  • 导航后的短暂验证码/风控中间页会由 CLI 做有限稳定重检;切到 headed 后还会重新读取当前页面,不沿用切换前的旧风险结果。
  • logged_in: true:可以继续。
  • logged_in: false:进入登录流程;退出码 1 不是程序崩溃。
  • action: risk_recovered_after_headed_switchrisk_recovered: truelogged_in: true:临时风险状态已经消失,直接继续,不要请用户验证。
  • needs_user_verification: true:浏览器已切为 headed 或已停在验证页,请用户人工处理,不要绕过或连续重试。

二维码登录

  1. 获取二维码:
python "{baseDir}/../../scripts/cli.py" get-qrcode
  1. 将 JSON 的 qrcode_data_url 作为图片展示给用户,不输出到公开日志。
  2. 用户扫码后单次等待:
python "{baseDir}/../../scripts/cli.py" wait-login

wait-login 最多等待 120 秒。超时后重新获取二维码,不要高频轮询。

短信验证码登录

普通手机号页先取得用户明确提供的中国大陆手机号:

python "{baseDir}/../../scripts/cli.py" send-code --phone <手机号>

身份验证页已有绑定手机号入口时,不传手机号:

python "{baseDir}/../../scripts/cli.py" send-code

收到用户提供的 6 位验证码后提交:

python "{baseDir}/../../scripts/cli.py" verify-code --code <6位验证码>

不要在回复中重复完整手机号或验证码;不要保存这些一次性信息。

多账号

python "{baseDir}/../../scripts/cli.py" add-account --name work --description "工作号"
python "{baseDir}/../../scripts/cli.py" set-default-account --name work
python "{baseDir}/../../scripts/cli.py" update-account --name work --description "创作账号"
python "{baseDir}/../../scripts/cli.py" --account work check-login
python "{baseDir}/../../scripts/cli.py" remove-account --name work

每个命名账号使用独立端口和 Chrome Profile。账号名称必须是跨平台有效目录名;重复端口、大小写冲突名称和损坏配置会被拒绝。update-account 只修改描述,remove-account 只移除账号登记并保留 Profile 数据。

边界与失败处理

  • 当前没有公开的强制退出或清除 Cookie 命令;不要承诺代替用户登出。
  • Chrome 未找到时先使用 douyin-env 运行 doctor
  • 配置损坏时报告具体路径并停止,不要自动重建。
  • 只有 CLI 最终返回 needs_user_verification: true 时,才保留可见浏览器并等待用户处理;标题或风险关键词命中本身不等于需要人工验证。

Read the full file on GitHub · 90 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago Changed · +1 lines 4da9be8abf2a
  2. 12d ago First seen · 89 lines · 41 tokens per session scan A 3f0beb3cd77a

Subscribe to this mod's changes

douyin-auth is a skill published in the GitHub repository zJay26/douyin-skills (53 stars, last pushed 3d ago), licensed MIT. It adds 41 tokens to every session and 935 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

owb

Open Web Bridge (OWB) — drive the user's own real browser with the owb command. Read pages behind their existing logins, gather and cross-check information, fill forms, walk multi-step flows, debug their site, audit responsive/accessibility behavior, and capture or reverse-engineer network traffic. Use this whenever…

woniu9524/open-web-bridge · 143 tokens

chrome-agent

Local browser automation with structured, verified outcomes. Use for web navigation, scraping and extraction, form interaction, screenshots and downloads, network or console checks, responsive testing, or page-scoped device emulation.

sderosiaux/chrome-agent · 44 tokens

scrape-structured-data

Get the repeating records off a web page (product grids, search results, job listings, news feeds, tables) as JSON, without writing CSS selectors and without spending a model call to read the HTML. Works on sites with no API, including ones behind a login or bot protection. Runs locally, one binary, no API key. Use…

sderosiaux/chrome-agent · 111 tokens

browser-bridge

Token-efficient Chrome tab inspection, interaction, and patching via local bridge extension (CLI: bbx). Reads live DOM, styles, console, network, and storage from a real Chrome tab with lower token cost than screenshots.

koltyakov/browser-bridge · 49 tokens

rever

Reverse-engineer web APIs by driving a running Rever Browser instance — connect to its published MCP endpoint and use its browser-automation, network-capture, and JS-bundle-analysis tools. Use when the user types /rever, asks to reverse or analyze a website's API, capture or inspect its network traffic, deobfuscate…

greekr4/rever-browser · 82 tokens

unbrowser

Cheap first-pass web discovery without launching Chrome — fetch SSR pages, run bounded JS, find routes/forms/API endpoints, extract structured data, and detect bot-wall or browser-only escalation points.

protostatis/unbrowser · 40 tokens