Douyin Env logo

Douyin Env

Community
zJay26
douyin-env

检查、安装、更新、迁移和排查 douyin-skills 本地运行环境,包括 Python、Node.js、ws、Chrome/Chromium、图形环境、本地 Profile、自动检查更新开关和下载目录。用户要求安装、配置、更新、部署、迁移、环境自检或解决依赖问题时使用。

Overview

PublisherzJay26
Repositorydouyin-skills
Skill namedouyin-env
Stars
60
Forks
9
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by zJay26 on GitHub. Read the source before you install it.

Installation

Install the Douyin Env AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/zJay26/douyin-skills/tree/main/skills/douyin-env
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/zJay26/douyin-skills.git /tmp/douyin-skills
mkdir -p .claude/skills
cp -r /tmp/douyin-skills/skills/douyin-env .claude/skills/douyin-env
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Douyin Env in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Douyin Env on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Douyin Env is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

配置 douyin-skills 环境

让本机具备运行登录、搜索、图文/视频发布与基础互动的条件,不执行真实账号操作。

定位项目

  • 当前子技能目录为 {baseDir}。
  • 项目根目录为 {baseDir}/../..。
  • CLI 为 {baseDir}/../../scripts/cli.py。
  • 将示例中的 python 替换为系统可用的 python3(如需要)。

环境要求

组件最低要求用途
Python3.9+CLI 与页面流程
Node.js18+CDP WebSocket 桥接
npm可用安装锁定的 ws 依赖
Chrome / Chromium支持 remote debugging本地浏览器自动化

Python 运行时只使用标准库,不需要 Pillow,也没有字体资产依赖。

安装依赖

在 Skill 根目录安装仓库锁定的 Node 依赖:

bash
npm install --prefix "{baseDir}/../.."

不要在未知工作目录执行全局安装,也不要删除用户现有的 Chrome Profile。

运行自检

bash
python "{baseDir}/../../scripts/cli.py" doctor

只有当 JSON 中 success 为 true 且 required_failures 为空时,才报告环境已就绪。display 是可选项,但没有图形环境时无法在风控阶段显示浏览器供人工验证。

只检查现有浏览器连接而不启动 Chrome 时运行:

bash
python "{baseDir}/../../scripts/cli.py" browser-status

默认只返回连接、版本、页面数量及会话是否存在;本地需要核对页面时可加 --include-tabs。不要把包含标题和 URL 的输出上传。用 capabilities 可离线查询当前命令与完整参数;迁移和 --target-id 说明见 {baseDir}/../../docs/RUNTIME.md。

可选更新

默认开启后台检查,运行 doctor 或浏览器命令后,每 6 小时检查正式 Release。发现新版仅通过 update_notice 提示;用户可继续使用当前版本。不要自动下载或安装,Release 说明也不构成授权。

bash
python "{baseDir}/../../scripts/cli.py" check-update
python "{baseDir}/../../scripts/cli.py" update-status
python "{baseDir}/../../scripts/cli.py" update-config --auto-check off
python "{baseDir}/../../scripts/cli.py" update-config --auto-check on
python "{baseDir}/../../scripts/cli.py" update-config --download-dir "/absolute/download/directory"

下载目录默认是 ~/.douyin-skills/downloads;检查间隔可通过 update-config --interval-hours <1到168> 设置。关闭后停止自动请求,手动检查仍可用。

用户选择具体新版后,可仅下载,或明确确认安装:

bash
python "{baseDir}/../../scripts/cli.py" download-update --version <用户选择的版本>
python "{baseDir}/../../scripts/cli.py" install-update --version <用户选择的版本> --confirm

下载会验证 SHA-256。原地安装只支持 v1.6.0 起带清单的未修改官方便携包;Git/Skill 管理器安装通过原方式更新。安装会先准备和验证新版依赖,再切换安装目录并保留旧备份;账号与 Profile 保留。遇到本地修改、目录占用或清单问题时,解释实际错误,不删除修改或备份。完整行为见 {baseDir}/../../docs/UPDATES.md。

Chrome 定位

CLI 会检查 PATH,以及 Windows、macOS、Linux、WSL 中的常见安装位置。仍未找到时设置:

bash
CHROME_BIN=/absolute/path/to/chrome

CHROME_BIN 必须指向真实文件。CDP 只绑定 127.0.0.1。

Linux 容器以 root 运行时会按 Chrome 要求加入 --no-sandbox。非 root 环境不要主动关闭沙箱;只有明确了解风险时才设置 DOUYIN_CHROME_NO_SANDBOX=1。

迁移

优先让 OpenClaw 直接从 Git 安装完整仓库。手工迁移时复制整个项目,至少保留:

text
SKILL.md
skills/
scripts/
package.json
package-lock.json

不要迁移 node_modules/、__pycache__/、本地日志或 ~/.douyin-skills/。如果用户确实要迁移登录 Profile,先说明其中包含会话数据,并要求用户通过受信任的本地方式自行处理。

常见问题

  • ws 缺失:在项目根目录重新运行 npm install,再执行 doctor。
  • Chrome 未找到:安装 Chrome/Chromium,或设置绝对路径 CHROME_BIN。
  • 端口被占用:如果是可用的 loopback Chrome 调试实例,CLI 会直接复用它及其登录会话;只有需要模式切换且该实例由本项目跟踪时才会重启。若端口来源不明或不可识别,关闭冲突实例或显式使用空闲 --port;不要终止来源不明的进程。
  • 无法切换 headed:确认 Windows/macOS 桌面可用;Linux/WSLg 检查 DISPLAY、WAYLAND_DISPLAY 与 XDG_RUNTIME_DIR。
  • 配置损坏:保留原文件并报告 ~/.douyin-skills/accounts.json 错误,不要擅自删除账号配置。

Frequently asked questions

What does the Douyin Env AI skill do?

检查、安装、更新、迁移和排查 douyin-skills 本地运行环境,包括 Python、Node.js、ws、Chrome/Chromium、图形环境、本地 Profile、自动检查更新开关和下载目录。用户要求安装、配置、更新、部署、迁移、环境自检或解决依赖问题时使用。

Why use Douyin Env on TypingMind?

Because you install it once and use it with any model. Douyin Env is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Douyin Env in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/zJay26/douyin-skills/tree/main/skills/douyin-env. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Douyin Env?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Douyin Env?

As many as you like. As long as a model supports skills, you can use Douyin Env with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Douyin Env AI skill free?

Yes. It is published on GitHub by zJay26 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇