@lucasygu/redbook 0.1.15 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SKILL.md +238 -12
- package/dist/cli.js +234 -0
- package/dist/cli.js.map +1 -1
- package/dist/lib/analyze.d.ts +1 -0
- package/dist/lib/analyze.d.ts.map +1 -1
- package/dist/lib/analyze.js +4 -2
- package/dist/lib/analyze.js.map +1 -1
- package/dist/lib/client.d.ts +1 -0
- package/dist/lib/client.d.ts.map +1 -1
- package/dist/lib/client.js +8 -0
- package/dist/lib/client.js.map +1 -1
- package/dist/lib/reply-strategy.d.ts +38 -0
- package/dist/lib/reply-strategy.d.ts.map +1 -0
- package/dist/lib/reply-strategy.js +109 -0
- package/dist/lib/reply-strategy.js.map +1 -0
- package/dist/lib/template.d.ts +50 -0
- package/dist/lib/template.d.ts.map +1 -0
- package/dist/lib/template.js +154 -0
- package/dist/lib/template.js.map +1 -0
- package/package.json +1 -1
package/SKILL.md
CHANGED
|
@@ -1,11 +1,32 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Search, read, and
|
|
2
|
+
description: Search, read, analyze, and automate Xiaohongshu (小红书) content via CLI
|
|
3
3
|
allowed-tools: Bash, Read, Write, Glob, Grep
|
|
4
|
+
# OpenClaw / ClawHub metadata (clawhub install redbook)
|
|
5
|
+
name: redbook
|
|
6
|
+
version: 0.2.0
|
|
7
|
+
metadata:
|
|
8
|
+
openclaw:
|
|
9
|
+
requires:
|
|
10
|
+
bins:
|
|
11
|
+
- redbook
|
|
12
|
+
install:
|
|
13
|
+
- kind: node
|
|
14
|
+
package: "@lucasygu/redbook"
|
|
15
|
+
bins: [redbook]
|
|
16
|
+
os: [macos]
|
|
17
|
+
homepage: https://github.com/lucasygu/redbook
|
|
18
|
+
tags:
|
|
19
|
+
- xiaohongshu
|
|
20
|
+
- social-media
|
|
21
|
+
- analytics
|
|
22
|
+
- content-ops
|
|
4
23
|
---
|
|
5
24
|
|
|
6
25
|
# Redbook — Xiaohongshu CLI
|
|
7
26
|
|
|
8
|
-
Use the `redbook` CLI to search notes, read content, analyze creators, and research topics on Xiaohongshu (小红书/RED).
|
|
27
|
+
Use the `redbook` CLI to search notes, read content, analyze creators, automate engagement, and research topics on Xiaohongshu (小红书/RED).
|
|
28
|
+
|
|
29
|
+
**OpenClaw users:** Install via `clawhub install redbook` or `npm install -g @lucasygu/redbook`.
|
|
9
30
|
|
|
10
31
|
## Usage
|
|
11
32
|
|
|
@@ -28,6 +49,10 @@ Use the `redbook` CLI to search notes, read content, analyze creators, and resea
|
|
|
28
49
|
| Browse feed | `redbook feed --json` |
|
|
29
50
|
| Search hashtags | `redbook topics "keyword" --json` |
|
|
30
51
|
| Analyze viral note | `redbook analyze-viral <url> --json` |
|
|
52
|
+
| Extract content template | `redbook viral-template <url1> <url2> --json` |
|
|
53
|
+
| Post a comment | `redbook comment <url> --content "text"` |
|
|
54
|
+
| Reply to comment | `redbook reply <url> --comment-id <id> --content "text"` |
|
|
55
|
+
| Batch reply (preview) | `redbook batch-reply <url> --strategy questions --dry-run` |
|
|
31
56
|
| Check connection | `redbook whoami` |
|
|
32
57
|
|
|
33
58
|
**Always add `--json`** when parsing output programmatically. Without it, output is human-formatted text.
|
|
@@ -303,6 +328,112 @@ redbook search "keyword" --type video --sort popular --json
|
|
|
303
328
|
|
|
304
329
|
---
|
|
305
330
|
|
|
331
|
+
### Module I: Comment Operations
|
|
332
|
+
|
|
333
|
+
**Answers:** Which comments deserve a reply? What is the comment quality distribution?
|
|
334
|
+
|
|
335
|
+
**Commands:**
|
|
336
|
+
```bash
|
|
337
|
+
# 1. Fetch all comments
|
|
338
|
+
redbook comments "<noteUrl>" --all --json
|
|
339
|
+
|
|
340
|
+
# 2. Preview reply candidates (dry run)
|
|
341
|
+
redbook batch-reply "<noteUrl>" --strategy questions --dry-run --json
|
|
342
|
+
|
|
343
|
+
# 3. Execute replies with template
|
|
344
|
+
redbook batch-reply "<noteUrl>" --strategy questions \
|
|
345
|
+
--template "感谢提问!关于{content},..." \
|
|
346
|
+
--max 10 --delay 3000
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
**Fields to extract from `--dry-run` JSON:**
|
|
350
|
+
- `candidates[].commentId` — target comments
|
|
351
|
+
- `candidates[].isQuestion` — boolean, detected question
|
|
352
|
+
- `candidates[].likes` — engagement signal
|
|
353
|
+
- `candidates[].hasSubReplies` — whether already answered
|
|
354
|
+
- `skipped` — how many comments were filtered out
|
|
355
|
+
- `totalComments` — total fetched
|
|
356
|
+
|
|
357
|
+
**Strategies:**
|
|
358
|
+
- `questions` — replies to comments ending with `?` or `?` (learning-oriented audience)
|
|
359
|
+
- `top-engaged` — replies to highest-liked comments (maximum visibility)
|
|
360
|
+
- `all-unanswered` — replies to comments with no existing sub-replies (fill gaps)
|
|
361
|
+
|
|
362
|
+
**How to interpret:**
|
|
363
|
+
- High question rate (>15%) = audience is learning-oriented → reply to build authority
|
|
364
|
+
- High top-engaged comments (>100 likes) = reply to visible comments for maximum reach
|
|
365
|
+
- Many unanswered comments = engagement gap, opportunity to increase reply rate
|
|
366
|
+
|
|
367
|
+
**Safety:** Hard cap 50 replies per batch, minimum 2s delay, `--dry-run` by default (no template = preview only), immediate stop on captcha.
|
|
368
|
+
|
|
369
|
+
**Output:** Reply plan table with candidate comments, strategy match reason, and status.
|
|
370
|
+
|
|
371
|
+
---
|
|
372
|
+
|
|
373
|
+
### Module J: Viral Replication
|
|
374
|
+
|
|
375
|
+
**Answers:** What structural template can I extract from successful notes to guide new content creation?
|
|
376
|
+
|
|
377
|
+
**Commands:**
|
|
378
|
+
```bash
|
|
379
|
+
# 1. Find top notes for a keyword
|
|
380
|
+
redbook search "keyword" --sort popular --json
|
|
381
|
+
|
|
382
|
+
# 2. Extract structural template from 2-3 top performers
|
|
383
|
+
redbook viral-template "<url1>" "<url2>" "<url3>" --json
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
**Fields to extract from `viral-template` JSON:**
|
|
387
|
+
- `dominantHookPatterns[]` — hook types appearing in majority of notes
|
|
388
|
+
- `titleStructure.commonPatterns[]` — specific title formula
|
|
389
|
+
- `titleStructure.avgLength` — target title length
|
|
390
|
+
- `bodyStructure.lengthRange` — target word count [min, max]
|
|
391
|
+
- `bodyStructure.paragraphRange` — target paragraph count
|
|
392
|
+
- `engagementProfile.type` — reference/insight/entertainment
|
|
393
|
+
- `audienceSignals.commonThemes[]` — what the audience talks about
|
|
394
|
+
|
|
395
|
+
**How to interpret:**
|
|
396
|
+
- Consistent hook patterns across notes = proven formula for this niche
|
|
397
|
+
- Narrow body length range = audience has clear content length preference
|
|
398
|
+
- High collect/like in profile = audience saves content → create reference material
|
|
399
|
+
- Common comment themes = topics to address in new content
|
|
400
|
+
|
|
401
|
+
**Composition with other modules:**
|
|
402
|
+
- Uses Module A results to identify top URLs for template extraction
|
|
403
|
+
- Feeds into Module H (Content Brainstorm) as structural constraint
|
|
404
|
+
- Uses Module C classification to validate engagement profile
|
|
405
|
+
|
|
406
|
+
**Output:** Content template spec — the structural skeleton for content creation. An LLM (via the composed workflow) uses this template to generate actual title, body, hashtags, and cover image prompt.
|
|
407
|
+
|
|
408
|
+
---
|
|
409
|
+
|
|
410
|
+
### Module K: Engagement Automation
|
|
411
|
+
|
|
412
|
+
**Answers:** How should I manage ongoing engagement with my audience?
|
|
413
|
+
|
|
414
|
+
This module is a workflow that composes Modules I and J with human oversight.
|
|
415
|
+
|
|
416
|
+
**Workflow:**
|
|
417
|
+
1. **Monitor** — `redbook comments "<myNoteUrl>" --all --json` to fetch recent comments
|
|
418
|
+
2. **Filter** — `redbook batch-reply --strategy questions --dry-run` to identify reply candidates
|
|
419
|
+
3. **Review** — Human reviews dry-run output (or LLM reviews with persona guidelines)
|
|
420
|
+
4. **Execute** — `redbook batch-reply --strategy questions --template "..." --max 10`
|
|
421
|
+
5. **Report** — Summary of replies sent, errors encountered, rate limit status
|
|
422
|
+
|
|
423
|
+
**Safety rules:**
|
|
424
|
+
- Always `--dry-run` first, human approval before execution
|
|
425
|
+
- Maximum 50 replies per session
|
|
426
|
+
- Minimum 2-second delay between replies
|
|
427
|
+
- Never reply to the same comment twice (check `hasSubReplies`)
|
|
428
|
+
- Stop immediately on captcha — do not retry
|
|
429
|
+
|
|
430
|
+
**Anti-spam guidelines:**
|
|
431
|
+
- Vary reply templates across batches
|
|
432
|
+
- Limit to 1-2 batch runs per note per day
|
|
433
|
+
- Prioritize quality (targeted strategy) over quantity
|
|
434
|
+
|
|
435
|
+
---
|
|
436
|
+
|
|
306
437
|
## Composed Workflows
|
|
307
438
|
|
|
308
439
|
Combine modules for different analysis depths.
|
|
@@ -332,22 +463,51 @@ The comprehensive playbook — keyword landscape, cross-topic heatmap, engagemen
|
|
|
332
463
|
|
|
333
464
|
No module composition needed — `analyze-viral` returns hook analysis, engagement ratios, comment themes, author baseline comparison, and a 0-100 viral score in one call.
|
|
334
465
|
|
|
335
|
-
### Viral Pattern Research
|
|
466
|
+
### Viral Pattern Research → Content Template
|
|
336
467
|
```bash
|
|
337
468
|
# 1. Find top notes
|
|
338
469
|
redbook search "keyword" --sort popular --json
|
|
339
470
|
|
|
340
|
-
# 2.
|
|
341
|
-
redbook
|
|
342
|
-
redbook analyze-viral "<url2>" --json
|
|
343
|
-
redbook analyze-viral "<url3>" --json
|
|
344
|
-
|
|
345
|
-
# 3. Synthesize across notes:
|
|
346
|
-
# - Which hookPatterns[] appear most often?
|
|
347
|
-
# - What collectToLikeRatio is typical?
|
|
348
|
-
# - What content structure drives saves vs. shares?
|
|
471
|
+
# 2. Extract template from top 3 notes (replaces manual synthesis)
|
|
472
|
+
redbook viral-template "<url1>" "<url2>" "<url3>" --json
|
|
349
473
|
```
|
|
350
474
|
|
|
475
|
+
`viral-template` automates what previously required manual synthesis across `analyze-viral` results. It outputs a `ContentTemplate` JSON that captures dominant hooks, body structure ranges, engagement profile, and audience signals.
|
|
476
|
+
|
|
477
|
+
### Reply Management
|
|
478
|
+
**Modules:** I
|
|
479
|
+
|
|
480
|
+
Single-module workflow for managing comment engagement on your notes. Use `batch-reply --dry-run` to audit, then execute with a template.
|
|
481
|
+
|
|
482
|
+
### Content Replication
|
|
483
|
+
**Modules:** A → J → H
|
|
484
|
+
|
|
485
|
+
Keyword research → viral template extraction → data-backed content brainstorm. The template provides structural constraints that guide Module H's content ideas.
|
|
486
|
+
|
|
487
|
+
### Full Operations
|
|
488
|
+
**Modules:** A → C → I → J → K
|
|
489
|
+
|
|
490
|
+
Comprehensive automation playbook — keyword analysis, engagement classification, comment operations, viral replication templates, and engagement automation workflow.
|
|
491
|
+
|
|
492
|
+
---
|
|
493
|
+
|
|
494
|
+
## API vs Browser Limitations
|
|
495
|
+
|
|
496
|
+
The following operations work reliably via API:
|
|
497
|
+
- **Reading**: search, notes, comments, user profiles, feed
|
|
498
|
+
- **Writing**: top-level comments, comment replies
|
|
499
|
+
- **Analysis**: viral scoring, template extraction, batch reply planning
|
|
500
|
+
|
|
501
|
+
The following operations are unreliable via API (frequently trigger captcha):
|
|
502
|
+
- Publishing notes (use `--private` for higher success rate)
|
|
503
|
+
- Bulk operations at very high frequency
|
|
504
|
+
|
|
505
|
+
The following operations require browser automation (not supported by this CLI):
|
|
506
|
+
- Captcha solving, real-time notifications
|
|
507
|
+
- Like/collect/follow (heavy anti-automation enforcement)
|
|
508
|
+
- DM/private messaging
|
|
509
|
+
- Cover image generation (use external tools like Gemini/DALL-E)
|
|
510
|
+
|
|
351
511
|
---
|
|
352
512
|
|
|
353
513
|
## Command Details
|
|
@@ -443,6 +603,72 @@ Returns `{ note, score, hook, content, visual, engagement, comments, relative, f
|
|
|
443
603
|
- `relative.isOutlier` — true if viralMultiplier > 3
|
|
444
604
|
- `comments.themes[]` — top recurring keyword phrases from comments
|
|
445
605
|
|
|
606
|
+
### `redbook viral-template <url> [url2] [url3]`
|
|
607
|
+
|
|
608
|
+
Extract a reusable content template from 1-3 viral notes. Analyzes each note (same pipeline as `analyze-viral`) and synthesizes common structural patterns.
|
|
609
|
+
|
|
610
|
+
```bash
|
|
611
|
+
redbook viral-template "<url1>" "<url2>" "<url3>" --json
|
|
612
|
+
redbook viral-template "<url1>" --comment-pages 5 --json
|
|
613
|
+
```
|
|
614
|
+
|
|
615
|
+
**Options:**
|
|
616
|
+
- `--comment-pages <n>`: Comment pages to fetch per note (default: 3, max: 10)
|
|
617
|
+
|
|
618
|
+
**JSON output structure:**
|
|
619
|
+
Returns `{ dominantHookPatterns, titleStructure, bodyStructure, engagementProfile, audienceSignals, sourceNotes, generatedAt }`.
|
|
620
|
+
|
|
621
|
+
- `dominantHookPatterns[]` — hook types appearing in majority of input notes
|
|
622
|
+
- `titleStructure.avgLength` — average title length across notes
|
|
623
|
+
- `bodyStructure.lengthRange` — [min, max] body length
|
|
624
|
+
- `engagementProfile.type` — "reference" / "insight" / "entertainment"
|
|
625
|
+
- `audienceSignals.commonThemes[]` — merged comment themes across notes
|
|
626
|
+
|
|
627
|
+
### `redbook comment <url>`
|
|
628
|
+
|
|
629
|
+
Post a top-level comment on a note.
|
|
630
|
+
|
|
631
|
+
```bash
|
|
632
|
+
redbook comment "<noteUrl>" --content "Great post!" --json
|
|
633
|
+
```
|
|
634
|
+
|
|
635
|
+
**Options:**
|
|
636
|
+
- `--content <text>` (required): Comment text
|
|
637
|
+
|
|
638
|
+
### `redbook reply <url>`
|
|
639
|
+
|
|
640
|
+
Reply to a specific comment on a note.
|
|
641
|
+
|
|
642
|
+
```bash
|
|
643
|
+
redbook reply "<noteUrl>" --comment-id "<commentId>" --content "Thanks for asking!" --json
|
|
644
|
+
```
|
|
645
|
+
|
|
646
|
+
**Options:**
|
|
647
|
+
- `--comment-id <id>` (required): Comment ID to reply to (from `comments --json` output)
|
|
648
|
+
- `--content <text>` (required): Reply text
|
|
649
|
+
|
|
650
|
+
### `redbook batch-reply <url>`
|
|
651
|
+
|
|
652
|
+
Reply to multiple comments using a filtering strategy. Always preview with `--dry-run` first.
|
|
653
|
+
|
|
654
|
+
```bash
|
|
655
|
+
# Preview which comments match the strategy
|
|
656
|
+
redbook batch-reply "<noteUrl>" --strategy questions --dry-run --json
|
|
657
|
+
|
|
658
|
+
# Execute replies with a template
|
|
659
|
+
redbook batch-reply "<noteUrl>" --strategy questions \
|
|
660
|
+
--template "感谢提问!{content}" --max 10 --delay 3000
|
|
661
|
+
```
|
|
662
|
+
|
|
663
|
+
**Options:**
|
|
664
|
+
- `--strategy <name>`: `questions` (default), `top-engaged`, `all-unanswered`
|
|
665
|
+
- `--template <text>`: Reply template with `{author}`, `{content}` placeholders
|
|
666
|
+
- `--max <n>`: Max replies (default: 10, hard cap: 50)
|
|
667
|
+
- `--delay <ms>`: Delay between replies in ms (default: 3000, min: 2000)
|
|
668
|
+
- `--dry-run`: Preview candidates without posting (default when no template)
|
|
669
|
+
|
|
670
|
+
**Safety:** Stops immediately on captcha. No template = dry-run only.
|
|
671
|
+
|
|
446
672
|
### `redbook whoami`
|
|
447
673
|
|
|
448
674
|
Check connection status. Verifies cookies are valid and shows the logged-in user.
|
package/dist/cli.js
CHANGED
|
@@ -21,6 +21,8 @@ import { dirname, join } from "node:path";
|
|
|
21
21
|
import { extractCookies } from "./lib/cookies.js";
|
|
22
22
|
import { XhsClient, XhsApiError } from "./lib/client.js";
|
|
23
23
|
import { analyzeViral, formatViralAnalysis } from "./lib/analyze.js";
|
|
24
|
+
import { selectCandidates, executeReplies, } from "./lib/reply-strategy.js";
|
|
25
|
+
import { extractTemplate, formatTemplate } from "./lib/template.js";
|
|
24
26
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
25
27
|
const pkg = JSON.parse(readFileSync(join(__dirname, "..", "package.json"), "utf-8"));
|
|
26
28
|
const program = new Command();
|
|
@@ -462,6 +464,238 @@ analyzeViralCmd.action(async (url, opts) => {
|
|
|
462
464
|
handleError(err);
|
|
463
465
|
}
|
|
464
466
|
});
|
|
467
|
+
// ─── viral-template ──────────────────────────────────────────────────────────
|
|
468
|
+
const viralTemplateCmd = program
|
|
469
|
+
.command("viral-template <urls...>")
|
|
470
|
+
.description("Extract a content template from 1-3 viral notes")
|
|
471
|
+
.option("--comment-pages <n>", "Comment pages to fetch per note (max 10)", "3");
|
|
472
|
+
addCookieOption(viralTemplateCmd);
|
|
473
|
+
addJsonOption(viralTemplateCmd);
|
|
474
|
+
viralTemplateCmd.action(async (urls, opts) => {
|
|
475
|
+
try {
|
|
476
|
+
if (urls.length > 3) {
|
|
477
|
+
console.error(kleur.red("Maximum 3 URLs allowed"));
|
|
478
|
+
process.exit(1);
|
|
479
|
+
}
|
|
480
|
+
const client = await getClient(opts.cookieSource, opts.chromeProfile);
|
|
481
|
+
const commentPages = Math.min(parseInt(opts.commentPages) || 3, 10);
|
|
482
|
+
const analyses = [];
|
|
483
|
+
for (const url of urls) {
|
|
484
|
+
const { noteId, xsecToken } = parseNoteUrl(url);
|
|
485
|
+
console.error(kleur.dim(`Analyzing ${noteId}...`));
|
|
486
|
+
// Fetch note
|
|
487
|
+
let note;
|
|
488
|
+
if (xsecToken) {
|
|
489
|
+
try {
|
|
490
|
+
const feedResult = (await client.getNoteById(noteId, xsecToken));
|
|
491
|
+
note = feedResult?.items?.[0]?.note_card ?? {};
|
|
492
|
+
if (!note.user) {
|
|
493
|
+
note = (await client.getNoteFromHtml(noteId, xsecToken));
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
catch {
|
|
497
|
+
note = (await client.getNoteFromHtml(noteId, xsecToken));
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
else {
|
|
501
|
+
note = (await client.getNoteFromHtml(noteId, ""));
|
|
502
|
+
}
|
|
503
|
+
const user = note.user ?? {};
|
|
504
|
+
const userId = String(user.user_id ?? "");
|
|
505
|
+
if (!userId) {
|
|
506
|
+
console.error(kleur.yellow(`Skipping ${noteId} — could not extract author`));
|
|
507
|
+
continue;
|
|
508
|
+
}
|
|
509
|
+
// Fetch comments, author posts, author info in parallel
|
|
510
|
+
const fetchComments = async () => {
|
|
511
|
+
const all = [];
|
|
512
|
+
let cursor = "";
|
|
513
|
+
for (let i = 0; i < commentPages; i++) {
|
|
514
|
+
try {
|
|
515
|
+
const res = (await client.getComments(noteId, cursor, xsecToken ?? ""));
|
|
516
|
+
if (res.comments)
|
|
517
|
+
all.push(...res.comments);
|
|
518
|
+
if (!res.has_more)
|
|
519
|
+
break;
|
|
520
|
+
cursor = res.cursor ?? "";
|
|
521
|
+
}
|
|
522
|
+
catch {
|
|
523
|
+
break;
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
return all;
|
|
527
|
+
};
|
|
528
|
+
const fetchAuthorPosts = async () => {
|
|
529
|
+
try {
|
|
530
|
+
const res = (await client.getUserNotes(userId));
|
|
531
|
+
return res.notes ?? [];
|
|
532
|
+
}
|
|
533
|
+
catch {
|
|
534
|
+
return [];
|
|
535
|
+
}
|
|
536
|
+
};
|
|
537
|
+
const fetchAuthorInfo = async () => {
|
|
538
|
+
try {
|
|
539
|
+
const res = (await client.getUserInfo(userId));
|
|
540
|
+
const interactions = (res.interactions ?? []);
|
|
541
|
+
const fansEntry = interactions.find((i) => i.type === "fans");
|
|
542
|
+
if (fansEntry?.count) {
|
|
543
|
+
const s = fansEntry.count.trim();
|
|
544
|
+
if (s.endsWith("万"))
|
|
545
|
+
return Math.round(parseFloat(s.slice(0, -1)) * 10000);
|
|
546
|
+
if (s.endsWith("亿"))
|
|
547
|
+
return Math.round(parseFloat(s.slice(0, -1)) * 100000000);
|
|
548
|
+
return parseInt(s, 10) || 0;
|
|
549
|
+
}
|
|
550
|
+
return 0;
|
|
551
|
+
}
|
|
552
|
+
catch {
|
|
553
|
+
return 0;
|
|
554
|
+
}
|
|
555
|
+
};
|
|
556
|
+
const [comments, authorPosts, authorFollowers] = await Promise.all([
|
|
557
|
+
fetchComments(), fetchAuthorPosts(), fetchAuthorInfo(),
|
|
558
|
+
]);
|
|
559
|
+
analyses.push(analyzeViral(noteId, note, comments, authorPosts, authorFollowers));
|
|
560
|
+
}
|
|
561
|
+
if (analyses.length === 0) {
|
|
562
|
+
console.error(kleur.red("No notes could be analyzed"));
|
|
563
|
+
process.exit(1);
|
|
564
|
+
}
|
|
565
|
+
const template = extractTemplate(analyses);
|
|
566
|
+
if (opts.json) {
|
|
567
|
+
output(template, true);
|
|
568
|
+
}
|
|
569
|
+
else {
|
|
570
|
+
console.log(formatTemplate(template));
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
catch (err) {
|
|
574
|
+
handleError(err);
|
|
575
|
+
}
|
|
576
|
+
});
|
|
577
|
+
// ─── comment ─────────────────────────────────────────────────────────────────
|
|
578
|
+
const commentCmd = program
|
|
579
|
+
.command("comment <url>")
|
|
580
|
+
.description("Post a top-level comment on a note")
|
|
581
|
+
.requiredOption("--content <text>", "Comment text");
|
|
582
|
+
addCookieOption(commentCmd);
|
|
583
|
+
addJsonOption(commentCmd);
|
|
584
|
+
commentCmd.action(async (url, opts) => {
|
|
585
|
+
try {
|
|
586
|
+
const client = await getClient(opts.cookieSource, opts.chromeProfile);
|
|
587
|
+
const { noteId } = parseNoteUrl(url);
|
|
588
|
+
const result = await client.postComment(noteId, opts.content);
|
|
589
|
+
if (opts.json) {
|
|
590
|
+
output(result, true);
|
|
591
|
+
}
|
|
592
|
+
else {
|
|
593
|
+
console.log(kleur.green("Comment posted!"));
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
catch (err) {
|
|
597
|
+
handleError(err);
|
|
598
|
+
}
|
|
599
|
+
});
|
|
600
|
+
// ─── reply ───────────────────────────────────────────────────────────────────
|
|
601
|
+
const replyCmd = program
|
|
602
|
+
.command("reply <url>")
|
|
603
|
+
.description("Reply to a comment on a note")
|
|
604
|
+
.requiredOption("--comment-id <id>", "Comment ID to reply to")
|
|
605
|
+
.requiredOption("--content <text>", "Reply text");
|
|
606
|
+
addCookieOption(replyCmd);
|
|
607
|
+
addJsonOption(replyCmd);
|
|
608
|
+
replyCmd.action(async (url, opts) => {
|
|
609
|
+
try {
|
|
610
|
+
const client = await getClient(opts.cookieSource, opts.chromeProfile);
|
|
611
|
+
const { noteId } = parseNoteUrl(url);
|
|
612
|
+
const result = await client.replyComment(noteId, opts.commentId, opts.content);
|
|
613
|
+
if (opts.json) {
|
|
614
|
+
output(result, true);
|
|
615
|
+
}
|
|
616
|
+
else {
|
|
617
|
+
console.log(kleur.green("Reply posted!"));
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
catch (err) {
|
|
621
|
+
handleError(err);
|
|
622
|
+
}
|
|
623
|
+
});
|
|
624
|
+
// ─── batch-reply ─────────────────────────────────────────────────────────────
|
|
625
|
+
const batchReplyCmd = program
|
|
626
|
+
.command("batch-reply <url>")
|
|
627
|
+
.description("Reply to multiple comments using a strategy")
|
|
628
|
+
.option("--strategy <name>", "Filter strategy: questions, top-engaged, all-unanswered", "questions")
|
|
629
|
+
.option("--template <text>", "Reply template with {author}, {content} placeholders")
|
|
630
|
+
.option("--max <n>", "Max replies to send (hard cap: 50)", "10")
|
|
631
|
+
.option("--delay <ms>", "Delay between replies in ms (min: 2000)", "3000")
|
|
632
|
+
.option("--dry-run", "Preview candidates without posting");
|
|
633
|
+
addCookieOption(batchReplyCmd);
|
|
634
|
+
addJsonOption(batchReplyCmd);
|
|
635
|
+
batchReplyCmd.action(async (url, opts) => {
|
|
636
|
+
try {
|
|
637
|
+
const client = await getClient(opts.cookieSource, opts.chromeProfile);
|
|
638
|
+
const { noteId, xsecToken } = parseNoteUrl(url);
|
|
639
|
+
const strategy = opts.strategy;
|
|
640
|
+
const max = Math.min(parseInt(opts.max) || 10, 50);
|
|
641
|
+
const isDryRun = opts.dryRun || !opts.template;
|
|
642
|
+
// Fetch all comments
|
|
643
|
+
console.error(kleur.dim("Fetching comments..."));
|
|
644
|
+
const allComments = [];
|
|
645
|
+
let cursor = "";
|
|
646
|
+
let hasMore = true;
|
|
647
|
+
while (hasMore) {
|
|
648
|
+
const res = (await client.getComments(noteId, cursor, xsecToken ?? ""));
|
|
649
|
+
if (res.comments)
|
|
650
|
+
allComments.push(...res.comments);
|
|
651
|
+
hasMore = res.has_more ?? false;
|
|
652
|
+
cursor = res.cursor ?? "";
|
|
653
|
+
}
|
|
654
|
+
// Select candidates
|
|
655
|
+
const plan = selectCandidates(allComments, strategy, max);
|
|
656
|
+
plan.noteId = noteId;
|
|
657
|
+
if (isDryRun || opts.json) {
|
|
658
|
+
if (opts.json) {
|
|
659
|
+
output(plan, true);
|
|
660
|
+
}
|
|
661
|
+
else {
|
|
662
|
+
console.log(kleur.bold(`\nBatch Reply Plan — ${strategy}`));
|
|
663
|
+
console.log(kleur.dim(`${plan.totalComments} comments → ${plan.candidates.length} candidates (${plan.skipped} skipped)\n`));
|
|
664
|
+
for (const c of plan.candidates) {
|
|
665
|
+
console.log(` ${kleur.cyan(c.commentId.slice(0, 8))} ${kleur.bold(`@${c.author}`)} ${kleur.dim(`♥ ${c.likes}`)}`);
|
|
666
|
+
console.log(` ${c.content.slice(0, 80)}${c.content.length > 80 ? "..." : ""}`);
|
|
667
|
+
}
|
|
668
|
+
if (!opts.template) {
|
|
669
|
+
console.log(kleur.yellow("\nDry run (no --template provided). Add --template to execute."));
|
|
670
|
+
}
|
|
671
|
+
else {
|
|
672
|
+
console.log(kleur.yellow("\nDry run mode. Remove --dry-run to execute."));
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
return;
|
|
676
|
+
}
|
|
677
|
+
// Execute replies
|
|
678
|
+
console.error(kleur.dim(`Sending ${plan.candidates.length} replies (delay: ${opts.delay}ms)...`));
|
|
679
|
+
const results = await executeReplies(client, noteId, plan.candidates, opts.template, parseInt(opts.delay) || 3000, {});
|
|
680
|
+
const succeeded = results.filter((r) => r.success).length;
|
|
681
|
+
const failed = results.filter((r) => !r.success).length;
|
|
682
|
+
if (opts.json) {
|
|
683
|
+
output(results, true);
|
|
684
|
+
}
|
|
685
|
+
else {
|
|
686
|
+
console.log(kleur.green(`\n${succeeded} replies sent`));
|
|
687
|
+
if (failed > 0) {
|
|
688
|
+
console.log(kleur.red(`${failed} failed`));
|
|
689
|
+
for (const r of results.filter((r) => !r.success)) {
|
|
690
|
+
console.log(kleur.dim(` @${r.author}: ${r.error}`));
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
catch (err) {
|
|
696
|
+
handleError(err);
|
|
697
|
+
}
|
|
698
|
+
});
|
|
465
699
|
// ─── Helpers ────────────────────────────────────────────────────────────────
|
|
466
700
|
function parseNoteUrl(url) {
|
|
467
701
|
// Handle full URLs like https://www.xiaohongshu.com/explore/abc123?xsec_token=xxx
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/analyze.d.ts
CHANGED
|
@@ -104,6 +104,7 @@ export interface ViralAnalysis {
|
|
|
104
104
|
relative: RelativePerformance;
|
|
105
105
|
fetchedAt: string;
|
|
106
106
|
}
|
|
107
|
+
export declare const QUESTION_PATTERN: RegExp;
|
|
107
108
|
export declare function analyzeHook(title: string): HookAnalysis;
|
|
108
109
|
export declare function analyzeContent(desc: string): ContentStructure;
|
|
109
110
|
export declare function analyzeVisual(note: Record<string, unknown>): VisualStrategy;
|