About this project

This project provides a Node.js script that uses Playwright to intercept the item_list API on TikTok account profile pages to obtain video IDs, descriptions, and publish times. It combines title similarity with a date-weighted algorithm to automatically write matched links back to a Feishu Bitable. Three trigger modes are supported: an in-table "Sync Now" button (≤60-second response), a local daemon polling every 60 seconds, and a GitHub Actions scheduled task (every 30 minutes). Concurrency is handled through file locks and a heartbeat self-healing mechanism to avoid duplicate scraping. A --refresh-stats mode is also provided to refresh play counts and like counts every 30 minutes. Configuration is separated between config.json and environment variables, and cloud deployment requires only a single npm run deploy:github command.