douyin-cli
agent
Basarisiz
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Basarisiz
- fs module — File system access in cli.js
- process.env — Environment variable access in lib/audit.js
- fs module — File system access in lib/audit.js
- network request — Outbound network request in lib/client/bridge-client.js
- process.env — Environment variable access in lib/commands/analyze.js
- fs module — File system access in lib/commands/analyze.js
- process.env — Environment variable access in lib/commands/browse.js
- child_process — Shell command execution capability in lib/commands/dashboard.js
- exec() — Shell command execution in lib/commands/dashboard.js
- fs module — File system access in lib/commands/dashboard.js
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
基于 Bridge Framework 的抖音全自动评论管理工具。搜索视频、爬取全量评论(含嵌套回复)、AI 智能回复、运营仪表盘。
README.md
🎵 Douyin Comment CLI
抖音评论运营 CLI 工具。基于 Bridge Framework(Bridge Server + 油猴脚本),支持视频搜索、评论获取、AI 人格化回复、行为模拟、运营仪表盘。
核心亮点:内置反检测引擎 — 人格化回复 + 随机延迟 + 请求参数随机化 + 浏览行为模拟,让自动化操作更像真人。
✨ 核心功能
| 功能 | 说明 |
|---|---|
| 🔍 视频搜索 | 关键词搜索视频 |
| 💬 评论获取 | 获取评论及嵌套回复,--new 增量拉取 |
| 🤖 AI 人格化回复 | 7 种人格自动轮换,避免"AI 味" |
| 🎭 行为模拟 | 模拟真实浏览(搜索→看视频→点赞),穿插在发布流程中 |
| ⏱️ 随机延迟 | 发布间隔 45-180s 随机 + 疲劳累加,模拟真人节奏 |
| 🎲 请求参数随机化 | browser_version 动态获取、paste_edit_method / enter_from 随机切换 |
| 🛡️ 风控断路器 | 10 分钟内 post 失败 ≥3 次自动暂停 |
| 📥 视频下载 | 下载视频+音频(BGM) |
| 📊 运营仪表盘 | 本地 HTML 可视化 |
| 💾 持久化记忆 | SQLite 存储评论、语料、失败模式 |
🚀 快速开始
npm install
# 1. 复制配置
cp config.example.json config.json
# 编辑 config.json:填入 bridge.token 和 llm.api_key
# 2. 启动 Bridge Server
node server.js
# 3. Chrome 安装油猴脚本 scripts/douyin.user.js
# 打开 douyin.com 并登录
# 4. 验证连接
node cli.js my
# 5. 开始使用
node cli.js my
node cli.js search "关键词"
node cli.js get <aweme_id> --pages 1 --count 5
node cli.js suggest <aweme_id> --auto
🤖 AI 人格化回复
7 种内置人格自动轮换,每条评论风格不同:
| 人格 | 特征 | 示例 |
|---|---|---|
| casual 朋友 | 口语短句,1-2 个 emoji | "哈哈哈这也太真实了😂" |
| 好奇提问型 | 以问句为主,真诚追问 | "这个是在哪里买的呀?" |
| 经验分享型 | "我之前也..." | "我之前试过,确实不错" |
| 热情追捧型 | 感叹号+emoji,情绪化 | "啊啊啊这个绝了!!" |
| 温和探讨型 | "我觉得..."委婉补充 | "说得挺有道理的,不过..." |
| 轻松幽默型 | 玩梗、自嘲、夸张 | "我的手:我会了 我的脑:不你不会" |
| 简短反应型 | 极简,3-15 字 | "真实👍" "马住了" |
使用:
# 生成建议(不发布,看风格)
node cli.js suggest <aweme_id>
# 自动发布(人格轮换 + 随机延迟 + 浏览穿插)
node cli.js suggest <aweme_id> --auto
# 调试模式(跳过所有延迟)
node cli.js suggest <aweme_id> --fast
🎭 行为模拟(browse)
模拟真实用户浏览行为,解决"只发不看"的账户不对称检测:
# 随机搜索热门词 → 看 1-2 个视频 → 偶尔点赞评论
node cli.js browse --max-notes 2 --like-chance 0.2
# 指定关键词浏览
node cli.js browse 穿搭 美食 --max-notes 3
suggest --auto 已内置 browse 穿插:每发约 5 条评论自动穿插一次浏览+点赞。
🎲 请求参数随机化
抖音油猴脚本内置多项反检测参数随机化:
| 参数 | 随机化策略 |
|---|---|
browser_version |
动态读取 navigator.userAgent(非硬编码) |
paste_edit_method |
90% non_paste / 10% paste |
enter_from |
85% others_homepage / 15% search_result |
previous_page |
85% others_homepage / 15% homepage |
📋 命令清单
核心操作
| 命令 | 用途 | 示例 |
|---|---|---|
my |
我的作品列表 | node cli.js my |
search |
搜索视频 | node cli.js search "关键词" --count 5 |
get |
获取评论 | node cli.js get <id> --pages 1 --count 5 |
post |
发表评论/回复 | node cli.js post <id> "内容" --reply-to <cid> |
like |
点赞视频 | node cli.js like <id> |
delete-comment |
删除评论 | node cli.js delete-comment <cid> |
download |
下载视频+音频 | node cli.js download <id> |
AI 与运营
| 命令 | 用途 | 示例 |
|---|---|---|
analyze |
AI 分析评论情感/优先级 | node cli.js analyze <id> |
suggest |
AI 生成回复建议 | node cli.js suggest <id> --auto |
browse |
模拟浏览行为 | node cli.js browse --max-notes 2 |
dashboard |
运营仪表盘 HTML | node cli.js dashboard |
反馈闭环(SQLite 记忆层)
| 命令 | 用途 |
|---|---|
replied |
已回复 cid 列表 |
corpus search/recent/stats |
回复语料库 |
failures |
失败模式 top 10 |
dedup |
查重护栏 |
⚙️ 配置
config.json(从 config.example.json 复制):
{
"bridge": {
"host": "127.0.0.1",
"port": 19422,
"token": "your-bridge-token"
},
"llm": {
"api_key": "sk-...",
"base_url": "https://api.openai.com/v1",
"model": "gpt-4o-mini",
"max_tokens": 4096,
"timeout_ms": 60000,
"max_retries": 3
}
}
环境变量(优先级更高):
export OPENAI_API_KEY="sk-..."
export OPENAI_BASE_URL="https://..."
export OPENAI_MODEL="gpt-4o-mini"
🏗️ 架构
CLI (cli.js) → HTTP/WS → Bridge Server (:19422) → 油猴脚本 → 页面 fetch → 抖音 API
签名安全:油猴脚本在页面上下文执行,使用页面原生 fetch,自动携带真实 Cookie 和签名。
新增反检测模块:
lib/jitter.js— 人类行为延迟工具库lib/personas.js— 7 种人格模板池lib/commands/browse.js— 模拟浏览行为
🛡️ 反检测设计
| 检测维度 | 对策 |
|---|---|
| 固定时间间隔 | 发布间隔 45-180s 随机 + 疲劳累加 |
| AI 内容特征 | 7 种人格自动轮换 + AI 特征词黑名单 |
| 只发不看 | 每发 ~5 条穿插 browse 浏览+点赞 |
| 静态请求指纹 | browser_version 动态获取、paste_edit_method / enter_from 随机化 |
| 重复内容 | reply_corpus UNIQUE 去重 + LLM 重写 |
| 高频失败 | 10 分钟窗口断路器(非累计值) |
📁 项目结构
douyin-cli/
├── cli.js # CLI 入口
├── server.js # Bridge Server
├── config.json # 配置
├── lib/
│ ├── commands/ # 命令模块
│ │ ├── get.js # 获取评论
│ │ ├── post.js # 发表评论
│ │ ├── suggest.js # AI 回复建议(含人格化+随机延迟)
│ │ ├── browse.js # 模拟浏览行为
│ │ ├── search.js # 搜索视频
│ │ ├── download.js # 下载视频+音频
│ │ └── ...
│ ├── memory/ # SQLite 持久化记忆层
│ ├── personas.js # 7 种人格模板池
│ ├── jitter.js # 人类行为延迟工具库
│ ├── llm.js # LLM 封装(支持人格化)
│ └── ...
├── scripts/
│ └── douyin.user.js # 油猴脚本(含参数随机化)
├── storage/
│ └── douyin.db # SQLite 数据库
├── reply-strategy.md # 回复策略模板
├── SKILL.md # Agent 技能文档
└── README.md # 本文档
📦 依赖
- Node.js 18+
ws— WebSocketbetter-sqlite3— SQLite- Chrome + Tampermonkey + 油猴脚本
- (可选)OpenAI-compatible API key
📝 License
MIT
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi