| name | pd-helper-cli |
| description | Use to collect TikTok / Instagram / NoxInfluencer / Exolyt / Douyin data, run collection workflows, or manage their tasks (status / logs / cancel) through the pd-helper Chrome extension's bundled CLI. Exolyt is for collecting Brazilian short videos by keyword / topic / category and similar filters; Douyin is for exporting collection JSON and temporarily downloading watermark-free videos. |
pd-helper-cli
Run the CLI from the Skill root: node ./scripts/main.mjs (any node-compatible runtime may replace node).
Prerequisites
- The target browser has the pd-helper extension installed and enabled.
- CDP endpoint: prefer env
PD_HELPER_CDP; the team default is to start env PD_HELPER_MULTILOGIN_FOLDER_ID and PD_HELPER_MULTILOGIN_PROFILE_ID via drive-multilogin with automation_type=playwright, then use the returned port as http://127.0.0.1:<port>.
- Video library root is
~/Downloads/<PD_HELPER_MULTILOGIN_PROFILE_NAME>; if the env is missing, ask the user for the Multilogin profile name and store it.
- Business methods usually require the matching site tab to be open (login and other preconditions: see
references/methods.md).
Commands
node ./scripts/main.mjs call <method> [--param k=v ...]
node ./scripts/main.mjs list [--all]
node ./scripts/main.mjs status <taskId>
node ./scripts/main.mjs cancel <taskId>
node ./scripts/main.mjs methods
node ./scripts/main.mjs doctor [--platform <name>] [--sheet]
node ./scripts/main.mjs sheet <action> [--param k=v ...]
node ./scripts/main.mjs exolyt search [--url <u>] [--param k=v] [--detail]
node ./scripts/main.mjs exolyt detail [--root]
node ./scripts/main.mjs exolyt categories [<category>]
node ./scripts/main.mjs exolyt index [--root] [--select]
node ./scripts/main.mjs call dyExportCollection --param json=true --param video=true --param maxCount=50
node ./scripts/main.mjs call dyDownloadVideo --param awemeId=<id> [--param playUrl=<url>]
Common options: --cdp <url>, --ext-id <id> (auto-detected by default), --timeout <seconds> (default 3600; batch jobs may need a larger value). doctor supports --platform <tiktok|instagram|nox|exolyt|douyin> to check an open site tab, or --sheet to check Sheets env. --param only coerces true / false / null; numbers and everything else stay strings (the SW side converts numeric fields itself).
Rules
call writes strict NDJSON to stdout (one JSON object per line); stderr is human-only, do not parse it.
- Determine the outcome from the final
result / error / cancelled frame; on failure read both the process exit code and data.code.
LOGIN_REQUIRED (exit 2): site login missing; have the user log in, then retry — do not retry or skip on your own.
CAPTCHA (exit 15): stop retrying; wait and try later, or switch IP / browser environment.
--param __probe=true: zero-side-effect check that a business method is registered.
- Douyin JSON / mp4 files are temporary inputs for the transcription flow. The CLI relocates them to
os.tmpdir()/pd-helper-douyin/<timestamp>-<pid>/; they do not enter the video library.
doctor outputs plain JSON: {ok:boolean,checks:[...]}. It does not start business collection, open business tabs, or call Apps Script.
- Troubleshooting: set
PD_HELPER_DEBUG=1 to emit diagnostics to stderr even when it is not a TTY (piped).
sheet: exit 0 on success, exit 1 + stderr on failure; outputs plain JSON, not NDJSON / frames (see the command's usage).
Before calling any business method, read references/methods.md: params, tab / login preconditions, execution host, side effects, common failures.