[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-2775":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":15,"stars30d":16,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":14,"starSnapshotCount":14,"syncStatus":16,"lastSyncTime":25,"discoverSource":26},2775,"Douyin_Curation_Assistant","paopaojun\u002FDouyin_Curation_Assistant","paopaojun","抖音自动评论、点赞、收藏、关注，自动刷视频、自动获取作者、作品、评论区信息、自动关键字搜索视频获取信息。创作者画像和直接互动执行等能力，适合本地化的数据采集、内容筛选和运营动作工作流。",null,"JavaScript",49,3,121,0,1,2,39.51,false,"main",true,[],"2026-06-12 04:00:15","# Douyin Curation Assistant\n\n本项目是一个面向本地工作站的抖音内容采集、筛选、分析与直达互动工作台，适合做本地化的数据采集、内容筛选、创作者画像和运营动作执行。\n\n当前仓库的主链路已经覆盖：\n\n- 关键词搜索采集作品\n- 推荐流自动连播\u002F刷视频与曝光采集\n- 自动获取作品、作者、评论区信息\n- 评论分析、词云、高赞评论提取\n- 候选作者聚合与创作者画像沉淀\n- 在作品详情里直接执行点赞、收藏、关注、评论\n- 本地下载任务管理\n\n项目整体定位不是云端群控，而是一个以本地 SQLite + 本地浏览器 + 本地数据目录为核心的受控工作流工具。\n\n## 页面截图\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002F1.png\" alt=\"页面截图 1\" width=\"48%\" \u002F>\n  \u003Cimg src=\"assets\u002F2.png\" alt=\"页面截图 2\" width=\"48%\" \u002F>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002F3.png\" alt=\"页面截图 3\" width=\"48%\" \u002F>\n  \u003Cimg src=\"assets\u002F4.png\" alt=\"页面截图 4\" width=\"48%\" \u002F>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002F5.png\" alt=\"页面截图 5\" width=\"48%\" \u002F>\n  \u003Cimg src=\"assets\u002F6.png\" alt=\"页面截图 6\" width=\"48%\" \u002F>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002F7.png\" alt=\"页面截图 7\" width=\"48%\" \u002F>\n  \u003Cimg src=\"assets\u002F8.png\" alt=\"页面截图 8\" width=\"48%\" \u002F>\n\u003C\u002Fp>\n\n## 当前实际能力\n\n### 1. 关键词中心\n\n- 维护采集关键词\n- 手动按关键词发现作品\n- 启动连续采集引擎，围绕已启用关键词循环抓取\n- 配置排序方式、发布时间、内容形式、搜索策略\n- 查看浏览器会话状态、Cookie 可用性和实时日志\n\n### 2. 推荐流采集\n\n- 打开抖音推荐页进行推荐流监听\n- 支持自动\u002F半自动刷推荐页\n- 记录推荐流批次、曝光数据、跳过直播统计\n- 将推荐作品、推荐作者、曝光历史沉淀到本地库\n\n### 3. 候选作品库\n\n- 汇总关键词采集或推荐链路沉淀下来的候选作品\n- 按互动数据、状态、来源等条件筛选\n- 抓取评论并执行评论分析\n- 展示评论词云、高赞评论、作品详情\n- 直接执行点赞、收藏、关注、评论\n- 支持把当前作品加入下载任务\n\n### 4. 推荐作品库\n\n- 管理推荐流沉淀下来的作品\n- 按作者、粉丝、点赞、评论、收藏、最近监听时间等条件筛选\n- 查看作者信息、评论词云、高赞评论、曝光历史\n- 直接执行点赞、收藏、关注、评论\n- 支持下载推荐作品\n\n### 5. 创作者画像\n\n- 候选作者库：基于评论分析结果重建候选作者画像，并支持人工审核\n- 推荐作者库：基于推荐流沉淀作者画像、作品样本和历史快照\n- 推荐分析台：聚合高赞作品、高频话题、全评论词云、高赞评论样本、话题详情\n\n### 6. 下载中心\n\n- 解析抖音视频、图集、合集、音乐链接\n- 创建下载任务并查看执行结果\n- 支持视频、图集、封面、原声、元数据下载\n- 主业务聚焦抖音，但下载模块还兼容部分第三方平台链接解析\n  - 当前代码里已覆盖 `Bilibili \u002F Xiaohongshu \u002F Instagram \u002F TikTok \u002F X`\n\n### 7. 浏览器实验室\n\n- 提供独立的浏览器 Lab 目录与抓包\u002F动作回放辅助脚本\n- 用于分析点赞、收藏、关注、评论相关请求\n- 适合调试抖音前端交互变化，不直接影响主流程\n\n## 当前范围与边界\n\n以下为当前版本的实际范围。\n\n### 当前重点\n\n- 本地采集\n- 本地评论分析\n- 作者筛选与画像沉淀\n- 作品级直接互动\n- 下载任务管理\n\n### 当前未作为主流程启用\n\n- 动作规则管理页\n- 评论模板管理页\n- 审核队列工作流\n- 分析词典页面\n\n这几个接口在当前后端路由里仍保留占位，但已经被禁用，不是现在这版的主工作流。\n\n### 旧项目关系\n\n仓库仍保留了对旧 Python 项目的参考桥接，但当前 Node 后端已经把它视为“参考代码\u002F稳定性兜底”，运行时主链路正在迁移到本仓库内部。\n\n### 运行环境边界\n\n- 当前更偏向 Windows 本地工作站使用场景\n- 启动脚本、浏览器发现、端口清理等辅助能力优先按 PowerShell\u002FWindows 写的\n- 浏览器自动化依赖本机可用的 Edge 或 Chrome\n\n## 技术栈\n\n- 前端：`Vue 3` + `Vite` + `Element Plus`\n- 后端：`Express`\n- 数据存储：`better-sqlite3`\n- 浏览器自动化：`playwright-core`\n- 下载链路：`Python + yt-dlp + ffmpeg-static`\n\n## 目录结构\n\n```text\nDouyin_Curation_Assistant\u002F\n├─ client\u002F                     # Vue 前端\n├─ server\u002F                     # Express 后端与采集\u002F分析\u002F自动化服务\n├─ scripts\u002F                    # 开发辅助脚本\n├─ .runtime\u002F                   # 浏览器 profile、lab 数据、运行时缓存\n├─ jsonData\u002F                   # SQLite、下载文件、本地业务数据\n├─ .env.example\n├─ start_dev.ps1\n└─ stop_dev.ps1\n```\n\n## 已验证环境\n\n已验证环境如下：\n\n- Windows + PowerShell\n- Node.js `v22.10.0`\n- npm `10.9.0`\n- Python `3.12.4`\n- 本机已安装 Edge 或 Chrome\n\n## 快速开始\n\n### 1. 安装依赖\n\n```powershell\nnpm install\n```\n\n下载中心依赖 `yt-dlp`，需要额外准备 Python 包：\n\n```powershell\npython -m pip install -U yt-dlp\n```\n\n### 2. 初始化环境变量\n\n```powershell\nCopy-Item .env.example .env\n```\n\n如果你使用的是：\n\n```powershell\n.\\start_dev.ps1\n```\n\n那么当 `.env` 不存在时，脚本会自动从 `.env.example` 复制一份。\n\n至少建议先确认下面这些配置：\n\n- `PORT`\n- `DATA_ROOT`\n- `SQLITE_PATH`\n- `CLIENT_ORIGIN` \u002F `CLIENT_ORIGINS`\n- `VITE_DEV_PROXY_TARGET`\n- `DY_COOKIES`\n- `ACTION_BROWSER_HEADLESS`\n- `ACTION_BROWSER_TIMEOUT_MS`\n\n如果你的浏览器没有被自动识别，也可以额外设置：\n\n- `ACTION_BROWSER_EXECUTABLE`\n- 或 `BROWSER_EXECUTABLE_PATH`\n\n### 3. 准备浏览器登录态\n\n首次使用推荐流采集、关键词搜索兜底、直接互动前，建议先执行：\n\n```powershell\nnpm run prepare:browser\n```\n\n这个命令会：\n\n- 打开一个本地浏览器 Profile\n- 尝试注入 `.env` 中的 `DY_COOKIES`\n- 让你在可视化浏览器里完成登录\u002F验证码\n- 把运行时 Cookie 和存储状态写入 `.runtime`\n\n### 4. 启动开发环境\n\n推荐直接用 PowerShell 脚本：\n\n```powershell\n.\\start_dev.ps1\n```\n\n或直接运行：\n\n```powershell\nnpm run dev\n```\n\n默认地址：\n\n- 前端：`http:\u002F\u002Flocalhost:5173`\n- 后端：`http:\u002F\u002Flocalhost:3001`\n- API 前缀：`\u002Fapi\u002Fv1`\n\n后端首次启动时会自动创建本地 SQLite 文件和对应数据目录。\n\n如果端口被占用，可以执行：\n\n```powershell\n.\\stop_dev.ps1\n```\n\n## 环境变量说明\n\n| 变量名 | 说明 |\n| --- | --- |\n| `PORT` | 后端端口，默认 `3001` |\n| `DATA_ROOT` | 本地数据根目录，默认 `.\u002FjsonData` |\n| `SQLITE_PATH` | SQLite 文件路径，默认 `.\u002FjsonData\u002Fdouyin_curation_assistant.db` |\n| `CLIENT_ORIGIN` \u002F `CLIENT_ORIGINS` | 允许访问后端的前端来源 |\n| `VITE_DEV_PROXY_TARGET` | Vite 开发代理目标，默认 `http:\u002F\u002Flocalhost:3001` |\n| `LEGACY_PROJECT_PATH` | 旧 Python 项目路径，可选 |\n| `DY_COOKIES` | 从已登录抖音浏览器复制出来的 Cookie 字符串 |\n| `ACTION_BROWSER_HEADLESS` | 互动执行是否无头运行 |\n| `ACTION_BROWSER_KEEP_OPEN_ON_FAILURE` | 失败时是否保留浏览器窗口用于排查 |\n| `ACTION_BROWSER_FAILURE_HOLD_MS` | 失败页面保留时长 |\n| `ACTION_BROWSER_TIMEOUT_MS` | 浏览器动作超时时间 |\n| `ACTION_CAPTURE_TARGET_URL` | 动作抓包默认目标作品页 |\n\n## 常用命令\n\n### 根目录\n\n```powershell\nnpm run dev\nnpm run dev:client\nnpm run dev:server\nnpm run build\nnpm run start:server\nnpm run prepare:browser\nnpm run capture:actions\nnpm run lab:watch-browser\nnpm run lab:watch-browser:all\nnpm run lab:extract-actions\nnpm run lab:run-action\n```\n\n### 命令说明\n\n- `npm run dev`：同时启动前后端\n- `npm run build`：构建前端\n- `npm run prepare:browser`：打开可视浏览器准备运行时登录态\n- `npm run capture:actions`：打开浏览器并记录手动动作请求\n- `npm run lab:watch-browser`：启动独立浏览器实验室监听器\n- `npm run lab:extract-actions`：提取最近一次实验室动作摘要\n- `npm run lab:run-action`：在实验室里执行单个动作回放\n\n## 使用流程\n\n```text\n准备 Cookie \u002F 浏览器登录态\n-> 关键词中心配置关键词并启动采集\n-> 候选作品库补齐评论分析\n-> 候选作者库重建作者画像并人工筛选\n-> 推荐流采集补充推荐作品与作者信号\n-> 在候选作品库 \u002F 推荐作品库中直接执行互动\n-> 需要时创建下载任务做素材沉淀\n```\n\n## 本地数据落地位置\n\n默认情况下，项目运行时数据会写到这些位置：\n\n- SQLite：`jsonData\u002Fdouyin_curation_assistant.db`\n- 下载文件：`jsonData\u002Fdownloads\u002F`\n- 运行时浏览器目录：`.runtime\u002Fbrowser-profile\u002F`\n- 推荐流浏览器目录：`.runtime\u002Frecommend-browser-profile\u002F`\n- 实验室浏览器目录：`.runtime\u002Flab-browser-profile\u002F`\n\n仓库里的 `.gitignore` 已经忽略了这些本地运行数据，以及 `.env`、`.runtime`、`jsonData` 等内容。\n\n## 合规与风险提示\n\n- 请遵守抖音及相关平台的服务条款、接口规则和当地法律法规\n- 请勿将本项目用于垃圾评论、批量骚扰、绕过风控或其他滥用场景\n- 涉及 Cookie、账号登录态、下载内容和作者数据时，请自行做好本地安全与权限隔离\n- 平台前端结构或接口变化后，浏览器动作和采集逻辑可能需要维护\n","Douyin Curation Assistant 是一个面向本地工作站的抖音内容采集、筛选、分析与直达互动工作台。该项目使用 JavaScript 编写，核心功能包括关键词搜索采集作品、推荐流自动连播与曝光采集、自动获取作品、作者、评论区信息、评论分析、创作者画像沉淀以及直接执行点赞、收藏、关注、评论等操作。此外，它还支持本地下载任务管理和多平台链接解析。项目采用 Vue 3 + Vite + Element Plus 构建前端，Express 作为后端服务，better-sqlite3 用于数据存储，并通过 playwright-core 实现浏览器自动化。Douyin Curation Assistant 适合需要进行本地化数据采集、内容筛选和运营动作的工作场景，特别适用于 Windows 本地工作站环境。","2026-06-11 02:51:10","CREATED_QUERY"]