@jackwener/opencli 1.7.14 → 1.7.16
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/README.md +9 -6
- package/README.zh-CN.md +9 -6
- package/cli-manifest.json +374 -74
- package/clis/bilibili/subtitle.js +1 -1
- package/clis/chatgpt/ask.js +2 -1
- package/clis/chatgpt/detail.js +6 -1
- package/clis/chatgpt/read.js +2 -1
- package/clis/chatgpt/send.js +2 -1
- package/clis/chatgpt/utils.js +54 -12
- package/clis/chatgpt/utils.test.js +36 -1
- package/clis/claude/ask.js +22 -7
- package/clis/claude/detail.js +9 -2
- package/clis/claude/new.js +8 -2
- package/clis/claude/read.js +2 -1
- package/clis/claude/send.js +8 -3
- package/clis/claude/utils.js +27 -4
- package/clis/deepseek/ask.js +21 -8
- package/clis/deepseek/detail.js +9 -1
- package/clis/deepseek/new.js +13 -2
- package/clis/deepseek/read.js +2 -1
- package/clis/deepseek/utils.js +8 -1
- package/clis/dianping/cityResolver.js +185 -0
- package/clis/dianping/dianping.test.js +154 -0
- package/clis/dianping/search.js +6 -3
- package/clis/douyin/_shared/browser-fetch.js +14 -2
- package/clis/douyin/_shared/browser-fetch.test.js +13 -0
- package/clis/douyin/stats.js +1 -1
- package/clis/douyin/update.js +1 -1
- package/clis/jike/search.js +1 -1
- package/clis/linkedin/search.js +8 -11
- package/clis/maimai/search-talents.js +10 -6
- package/clis/openreview/author.js +58 -0
- package/clis/openreview/openreview.test.js +83 -1
- package/clis/openreview/utils.js +14 -0
- package/clis/reddit/comment.js +1 -0
- package/clis/reddit/frontpage.js +1 -0
- package/clis/reddit/popular.js +1 -0
- package/clis/reddit/read.js +2 -0
- package/clis/reddit/read.test.js +4 -0
- package/clis/reddit/save.js +1 -0
- package/clis/reddit/saved.js +1 -0
- package/clis/reddit/search.js +2 -1
- package/clis/reddit/subreddit.js +2 -1
- package/clis/reddit/subscribe.js +1 -0
- package/clis/reddit/upvote.js +1 -0
- package/clis/reddit/upvoted.js +1 -0
- package/clis/reddit/user-comments.js +2 -1
- package/clis/reddit/user-posts.js +2 -1
- package/clis/reddit/user.js +2 -1
- package/clis/twitter/article.js +9 -5
- package/clis/twitter/bookmark-folder.js +187 -0
- package/clis/twitter/bookmark-folder.test.js +337 -0
- package/clis/twitter/bookmark-folders.js +115 -0
- package/clis/twitter/bookmark-folders.test.js +152 -0
- package/clis/twitter/bookmark.js +15 -6
- package/clis/twitter/bookmark.test.js +74 -0
- package/clis/twitter/bookmarks.js +10 -10
- package/clis/twitter/delete.js +11 -35
- package/clis/twitter/delete.test.js +21 -9
- package/clis/twitter/download.js +6 -5
- package/clis/twitter/followers.js +10 -3
- package/clis/twitter/following.js +14 -11
- package/clis/twitter/following.test.js +2 -1
- package/clis/twitter/hide-reply.js +24 -5
- package/clis/twitter/hide-reply.test.js +76 -0
- package/clis/twitter/like.js +21 -11
- package/clis/twitter/like.test.js +73 -0
- package/clis/twitter/likes.js +11 -11
- package/clis/twitter/list-add.js +8 -7
- package/clis/twitter/list-add.test.js +23 -1
- package/clis/twitter/list-remove.js +8 -7
- package/clis/twitter/list-remove.test.js +23 -1
- package/clis/twitter/list-tweets.js +9 -9
- package/clis/twitter/lists.js +6 -8
- package/clis/twitter/notifications.js +3 -2
- package/clis/twitter/profile.js +11 -7
- package/clis/twitter/quote.js +60 -32
- package/clis/twitter/quote.test.js +96 -8
- package/clis/twitter/reply.js +24 -178
- package/clis/twitter/reply.test.js +29 -11
- package/clis/twitter/retweet.js +9 -14
- package/clis/twitter/retweet.test.js +5 -1
- package/clis/twitter/search.js +176 -23
- package/clis/twitter/search.test.js +266 -1
- package/clis/twitter/shared.js +43 -0
- package/clis/twitter/shared.test.js +107 -1
- package/clis/twitter/thread.js +11 -11
- package/clis/twitter/timeline.js +13 -13
- package/clis/twitter/trending.js +4 -4
- package/clis/twitter/tweets.js +8 -9
- package/clis/twitter/unbookmark.js +13 -6
- package/clis/twitter/unbookmark.test.js +73 -0
- package/clis/twitter/unlike.js +6 -13
- package/clis/twitter/unlike.test.js +5 -2
- package/clis/twitter/unretweet.js +9 -14
- package/clis/twitter/unretweet.test.js +5 -1
- package/clis/twitter/utils.js +286 -0
- package/clis/twitter/utils.test.js +169 -0
- package/clis/youtube/like.js +6 -2
- package/clis/youtube/subscribe.js +6 -2
- package/clis/youtube/unlike.js +6 -2
- package/clis/youtube/unsubscribe.js +6 -2
- package/clis/youtube/utils.js +19 -13
- package/clis/youtube/utils.test.js +17 -1
- package/dist/src/browser/ax-snapshot.d.ts +37 -0
- package/dist/src/browser/ax-snapshot.js +217 -0
- package/dist/src/browser/ax-snapshot.test.d.ts +1 -0
- package/dist/src/browser/ax-snapshot.test.js +91 -0
- package/dist/src/browser/base-page.d.ts +51 -0
- package/dist/src/browser/base-page.js +545 -2
- package/dist/src/browser/base-page.test.js +520 -4
- package/dist/src/browser/bridge.d.ts +1 -0
- package/dist/src/browser/bridge.js +1 -1
- package/dist/src/browser/cdp-click-fixture.test.d.ts +1 -0
- package/dist/src/browser/cdp-click-fixture.test.js +87 -0
- package/dist/src/browser/cdp.d.ts +1 -0
- package/dist/src/browser/cdp.js +5 -0
- package/dist/src/browser/cdp.test.js +1 -0
- package/dist/src/browser/daemon-client.d.ts +5 -3
- package/dist/src/browser/daemon-client.js +6 -3
- package/dist/src/browser/daemon-client.test.js +10 -0
- package/dist/src/browser/find.d.ts +9 -1
- package/dist/src/browser/find.js +219 -0
- package/dist/src/browser/find.test.js +61 -1
- package/dist/src/browser/page.d.ts +4 -2
- package/dist/src/browser/page.js +18 -1
- package/dist/src/browser/page.test.js +28 -0
- package/dist/src/browser/target-errors.d.ts +3 -1
- package/dist/src/browser/target-errors.js +2 -0
- package/dist/src/browser/target-resolver.d.ts +14 -0
- package/dist/src/browser/target-resolver.js +28 -0
- package/dist/src/browser/visual-refs.d.ts +11 -0
- package/dist/src/browser/visual-refs.js +108 -0
- package/dist/src/build-manifest.d.ts +23 -0
- package/dist/src/build-manifest.js +34 -0
- package/dist/src/build-manifest.test.js +108 -1
- package/dist/src/cli.js +630 -60
- package/dist/src/cli.test.js +731 -1
- package/dist/src/commanderAdapter.js +7 -0
- package/dist/src/doctor.js +2 -2
- package/dist/src/doctor.test.js +4 -4
- package/dist/src/execution.d.ts +2 -0
- package/dist/src/execution.js +31 -6
- package/dist/src/execution.test.js +43 -16
- package/dist/src/external-clis.yaml +24 -0
- package/dist/src/help.d.ts +33 -0
- package/dist/src/help.js +174 -0
- package/dist/src/main.js +4 -14
- package/dist/src/runtime.d.ts +3 -0
- package/dist/src/runtime.js +1 -0
- package/dist/src/types.d.ts +83 -1
- package/package.json +1 -1
- package/scripts/typed-error-lint-baseline.json +18 -18
package/cli-manifest.json
CHANGED
|
@@ -2443,7 +2443,7 @@
|
|
|
2443
2443
|
"type": "str",
|
|
2444
2444
|
"required": true,
|
|
2445
2445
|
"positional": true,
|
|
2446
|
-
"help": ""
|
|
2446
|
+
"help": "Bilibili 视频 BV ID(如 BV1xx411c7mD),或视频 URL / b23.tv 短链"
|
|
2447
2447
|
},
|
|
2448
2448
|
{
|
|
2449
2449
|
"name": "lang",
|
|
@@ -6896,7 +6896,7 @@
|
|
|
6896
6896
|
"name": "city",
|
|
6897
6897
|
"type": "str",
|
|
6898
6898
|
"required": false,
|
|
6899
|
-
"help": "
|
|
6899
|
+
"help": "城市名(北京/上海/汕头/beijing/shantou/...)或 cityId 数字。未在静态表中的城市会通过 dianping.com 在线解析。不传则使用 cookie 默认城市"
|
|
6900
6900
|
},
|
|
6901
6901
|
{
|
|
6902
6902
|
"name": "limit",
|
|
@@ -8491,7 +8491,7 @@
|
|
|
8491
8491
|
"type": "str",
|
|
8492
8492
|
"required": true,
|
|
8493
8493
|
"positional": true,
|
|
8494
|
-
"help": ""
|
|
8494
|
+
"help": "抖音作品 ID(aweme_id,可从作品 URL 末尾获取)"
|
|
8495
8495
|
}
|
|
8496
8496
|
],
|
|
8497
8497
|
"columns": [
|
|
@@ -8517,7 +8517,7 @@
|
|
|
8517
8517
|
"type": "str",
|
|
8518
8518
|
"required": true,
|
|
8519
8519
|
"positional": true,
|
|
8520
|
-
"help": ""
|
|
8520
|
+
"help": "抖音作品 ID(aweme_id,可从作品 URL 末尾获取)"
|
|
8521
8521
|
},
|
|
8522
8522
|
{
|
|
8523
8523
|
"name": "reschedule",
|
|
@@ -13173,7 +13173,7 @@
|
|
|
13173
13173
|
"type": "string",
|
|
13174
13174
|
"required": true,
|
|
13175
13175
|
"positional": true,
|
|
13176
|
-
"help": ""
|
|
13176
|
+
"help": "即刻搜索关键词"
|
|
13177
13177
|
},
|
|
13178
13178
|
{
|
|
13179
13179
|
"name": "limit",
|
|
@@ -17181,6 +17181,43 @@
|
|
|
17181
17181
|
"modulePath": "openfda/food-recall.js",
|
|
17182
17182
|
"sourceFile": "openfda/food-recall.js"
|
|
17183
17183
|
},
|
|
17184
|
+
{
|
|
17185
|
+
"site": "openreview",
|
|
17186
|
+
"name": "author",
|
|
17187
|
+
"description": "List OpenReview submissions by an author profile id (newest first)",
|
|
17188
|
+
"access": "read",
|
|
17189
|
+
"domain": "openreview.net",
|
|
17190
|
+
"strategy": "public",
|
|
17191
|
+
"browser": false,
|
|
17192
|
+
"args": [
|
|
17193
|
+
{
|
|
17194
|
+
"name": "profile",
|
|
17195
|
+
"type": "str",
|
|
17196
|
+
"required": true,
|
|
17197
|
+
"positional": true,
|
|
17198
|
+
"help": "OpenReview profile id (e.g. \"~Yoshua_Bengio1\"). Find it on the author profile URL on openreview.net."
|
|
17199
|
+
},
|
|
17200
|
+
{
|
|
17201
|
+
"name": "limit",
|
|
17202
|
+
"type": "int",
|
|
17203
|
+
"default": 50,
|
|
17204
|
+
"required": false,
|
|
17205
|
+
"help": "Max submissions (1-1000)"
|
|
17206
|
+
}
|
|
17207
|
+
],
|
|
17208
|
+
"columns": [
|
|
17209
|
+
"rank",
|
|
17210
|
+
"id",
|
|
17211
|
+
"title",
|
|
17212
|
+
"authors",
|
|
17213
|
+
"venue",
|
|
17214
|
+
"pdate",
|
|
17215
|
+
"url"
|
|
17216
|
+
],
|
|
17217
|
+
"type": "js",
|
|
17218
|
+
"modulePath": "openreview/author.js",
|
|
17219
|
+
"sourceFile": "openreview/author.js"
|
|
17220
|
+
},
|
|
17184
17221
|
{
|
|
17185
17222
|
"site": "openreview",
|
|
17186
17223
|
"name": "paper",
|
|
@@ -19110,7 +19147,10 @@
|
|
|
19110
19147
|
"type": "js",
|
|
19111
19148
|
"modulePath": "reddit/comment.js",
|
|
19112
19149
|
"sourceFile": "reddit/comment.js",
|
|
19113
|
-
"navigateBefore": "https://reddit.com"
|
|
19150
|
+
"navigateBefore": "https://reddit.com",
|
|
19151
|
+
"browserSession": {
|
|
19152
|
+
"reuse": "site"
|
|
19153
|
+
}
|
|
19114
19154
|
},
|
|
19115
19155
|
{
|
|
19116
19156
|
"site": "reddit",
|
|
@@ -19140,7 +19180,10 @@
|
|
|
19140
19180
|
"type": "js",
|
|
19141
19181
|
"modulePath": "reddit/frontpage.js",
|
|
19142
19182
|
"sourceFile": "reddit/frontpage.js",
|
|
19143
|
-
"navigateBefore": "https://reddit.com"
|
|
19183
|
+
"navigateBefore": "https://reddit.com",
|
|
19184
|
+
"browserSession": {
|
|
19185
|
+
"reuse": "site"
|
|
19186
|
+
}
|
|
19144
19187
|
},
|
|
19145
19188
|
{
|
|
19146
19189
|
"site": "reddit",
|
|
@@ -19209,7 +19252,10 @@
|
|
|
19209
19252
|
"type": "js",
|
|
19210
19253
|
"modulePath": "reddit/popular.js",
|
|
19211
19254
|
"sourceFile": "reddit/popular.js",
|
|
19212
|
-
"navigateBefore": "https://reddit.com"
|
|
19255
|
+
"navigateBefore": "https://reddit.com",
|
|
19256
|
+
"browserSession": {
|
|
19257
|
+
"reuse": "site"
|
|
19258
|
+
}
|
|
19213
19259
|
},
|
|
19214
19260
|
{
|
|
19215
19261
|
"site": "reddit",
|
|
@@ -19272,7 +19318,10 @@
|
|
|
19272
19318
|
"type": "js",
|
|
19273
19319
|
"modulePath": "reddit/read.js",
|
|
19274
19320
|
"sourceFile": "reddit/read.js",
|
|
19275
|
-
"navigateBefore": "https://reddit.com"
|
|
19321
|
+
"navigateBefore": "https://reddit.com",
|
|
19322
|
+
"browserSession": {
|
|
19323
|
+
"reuse": "site"
|
|
19324
|
+
}
|
|
19276
19325
|
},
|
|
19277
19326
|
{
|
|
19278
19327
|
"site": "reddit",
|
|
@@ -19305,7 +19354,10 @@
|
|
|
19305
19354
|
"type": "js",
|
|
19306
19355
|
"modulePath": "reddit/save.js",
|
|
19307
19356
|
"sourceFile": "reddit/save.js",
|
|
19308
|
-
"navigateBefore": "https://reddit.com"
|
|
19357
|
+
"navigateBefore": "https://reddit.com",
|
|
19358
|
+
"browserSession": {
|
|
19359
|
+
"reuse": "site"
|
|
19360
|
+
}
|
|
19309
19361
|
},
|
|
19310
19362
|
{
|
|
19311
19363
|
"site": "reddit",
|
|
@@ -19334,7 +19386,10 @@
|
|
|
19334
19386
|
"type": "js",
|
|
19335
19387
|
"modulePath": "reddit/saved.js",
|
|
19336
19388
|
"sourceFile": "reddit/saved.js",
|
|
19337
|
-
"navigateBefore": "https://reddit.com"
|
|
19389
|
+
"navigateBefore": "https://reddit.com",
|
|
19390
|
+
"browserSession": {
|
|
19391
|
+
"reuse": "site"
|
|
19392
|
+
}
|
|
19338
19393
|
},
|
|
19339
19394
|
{
|
|
19340
19395
|
"site": "reddit",
|
|
@@ -19350,7 +19405,7 @@
|
|
|
19350
19405
|
"type": "string",
|
|
19351
19406
|
"required": true,
|
|
19352
19407
|
"positional": true,
|
|
19353
|
-
"help": ""
|
|
19408
|
+
"help": "Reddit search query"
|
|
19354
19409
|
},
|
|
19355
19410
|
{
|
|
19356
19411
|
"name": "subreddit",
|
|
@@ -19392,7 +19447,10 @@
|
|
|
19392
19447
|
"type": "js",
|
|
19393
19448
|
"modulePath": "reddit/search.js",
|
|
19394
19449
|
"sourceFile": "reddit/search.js",
|
|
19395
|
-
"navigateBefore": "https://reddit.com"
|
|
19450
|
+
"navigateBefore": "https://reddit.com",
|
|
19451
|
+
"browserSession": {
|
|
19452
|
+
"reuse": "site"
|
|
19453
|
+
}
|
|
19396
19454
|
},
|
|
19397
19455
|
{
|
|
19398
19456
|
"site": "reddit",
|
|
@@ -19408,7 +19466,7 @@
|
|
|
19408
19466
|
"type": "string",
|
|
19409
19467
|
"required": true,
|
|
19410
19468
|
"positional": true,
|
|
19411
|
-
"help": ""
|
|
19469
|
+
"help": "Subreddit name (no `r/` prefix; e.g. `python`)"
|
|
19412
19470
|
},
|
|
19413
19471
|
{
|
|
19414
19472
|
"name": "sort",
|
|
@@ -19442,7 +19500,10 @@
|
|
|
19442
19500
|
"type": "js",
|
|
19443
19501
|
"modulePath": "reddit/subreddit.js",
|
|
19444
19502
|
"sourceFile": "reddit/subreddit.js",
|
|
19445
|
-
"navigateBefore": "https://reddit.com"
|
|
19503
|
+
"navigateBefore": "https://reddit.com",
|
|
19504
|
+
"browserSession": {
|
|
19505
|
+
"reuse": "site"
|
|
19506
|
+
}
|
|
19446
19507
|
},
|
|
19447
19508
|
{
|
|
19448
19509
|
"site": "reddit",
|
|
@@ -19475,7 +19536,10 @@
|
|
|
19475
19536
|
"type": "js",
|
|
19476
19537
|
"modulePath": "reddit/subscribe.js",
|
|
19477
19538
|
"sourceFile": "reddit/subscribe.js",
|
|
19478
|
-
"navigateBefore": "https://reddit.com"
|
|
19539
|
+
"navigateBefore": "https://reddit.com",
|
|
19540
|
+
"browserSession": {
|
|
19541
|
+
"reuse": "site"
|
|
19542
|
+
}
|
|
19479
19543
|
},
|
|
19480
19544
|
{
|
|
19481
19545
|
"site": "reddit",
|
|
@@ -19508,7 +19572,10 @@
|
|
|
19508
19572
|
"type": "js",
|
|
19509
19573
|
"modulePath": "reddit/upvote.js",
|
|
19510
19574
|
"sourceFile": "reddit/upvote.js",
|
|
19511
|
-
"navigateBefore": "https://reddit.com"
|
|
19575
|
+
"navigateBefore": "https://reddit.com",
|
|
19576
|
+
"browserSession": {
|
|
19577
|
+
"reuse": "site"
|
|
19578
|
+
}
|
|
19512
19579
|
},
|
|
19513
19580
|
{
|
|
19514
19581
|
"site": "reddit",
|
|
@@ -19537,7 +19604,10 @@
|
|
|
19537
19604
|
"type": "js",
|
|
19538
19605
|
"modulePath": "reddit/upvoted.js",
|
|
19539
19606
|
"sourceFile": "reddit/upvoted.js",
|
|
19540
|
-
"navigateBefore": "https://reddit.com"
|
|
19607
|
+
"navigateBefore": "https://reddit.com",
|
|
19608
|
+
"browserSession": {
|
|
19609
|
+
"reuse": "site"
|
|
19610
|
+
}
|
|
19541
19611
|
},
|
|
19542
19612
|
{
|
|
19543
19613
|
"site": "reddit",
|
|
@@ -19553,7 +19623,7 @@
|
|
|
19553
19623
|
"type": "string",
|
|
19554
19624
|
"required": true,
|
|
19555
19625
|
"positional": true,
|
|
19556
|
-
"help": ""
|
|
19626
|
+
"help": "Reddit username (no `u/` prefix needed)"
|
|
19557
19627
|
}
|
|
19558
19628
|
],
|
|
19559
19629
|
"columns": [
|
|
@@ -19563,7 +19633,10 @@
|
|
|
19563
19633
|
"type": "js",
|
|
19564
19634
|
"modulePath": "reddit/user.js",
|
|
19565
19635
|
"sourceFile": "reddit/user.js",
|
|
19566
|
-
"navigateBefore": "https://reddit.com"
|
|
19636
|
+
"navigateBefore": "https://reddit.com",
|
|
19637
|
+
"browserSession": {
|
|
19638
|
+
"reuse": "site"
|
|
19639
|
+
}
|
|
19567
19640
|
},
|
|
19568
19641
|
{
|
|
19569
19642
|
"site": "reddit",
|
|
@@ -19579,7 +19652,7 @@
|
|
|
19579
19652
|
"type": "string",
|
|
19580
19653
|
"required": true,
|
|
19581
19654
|
"positional": true,
|
|
19582
|
-
"help": ""
|
|
19655
|
+
"help": "Reddit username (no `u/` prefix needed)"
|
|
19583
19656
|
},
|
|
19584
19657
|
{
|
|
19585
19658
|
"name": "limit",
|
|
@@ -19598,7 +19671,10 @@
|
|
|
19598
19671
|
"type": "js",
|
|
19599
19672
|
"modulePath": "reddit/user-comments.js",
|
|
19600
19673
|
"sourceFile": "reddit/user-comments.js",
|
|
19601
|
-
"navigateBefore": "https://reddit.com"
|
|
19674
|
+
"navigateBefore": "https://reddit.com",
|
|
19675
|
+
"browserSession": {
|
|
19676
|
+
"reuse": "site"
|
|
19677
|
+
}
|
|
19602
19678
|
},
|
|
19603
19679
|
{
|
|
19604
19680
|
"site": "reddit",
|
|
@@ -19614,7 +19690,7 @@
|
|
|
19614
19690
|
"type": "string",
|
|
19615
19691
|
"required": true,
|
|
19616
19692
|
"positional": true,
|
|
19617
|
-
"help": ""
|
|
19693
|
+
"help": "Reddit username (no `u/` prefix needed)"
|
|
19618
19694
|
},
|
|
19619
19695
|
{
|
|
19620
19696
|
"name": "limit",
|
|
@@ -19634,7 +19710,10 @@
|
|
|
19634
19710
|
"type": "js",
|
|
19635
19711
|
"modulePath": "reddit/user-posts.js",
|
|
19636
19712
|
"sourceFile": "reddit/user-posts.js",
|
|
19637
|
-
"navigateBefore": "https://reddit.com"
|
|
19713
|
+
"navigateBefore": "https://reddit.com",
|
|
19714
|
+
"browserSession": {
|
|
19715
|
+
"reuse": "site"
|
|
19716
|
+
}
|
|
19638
19717
|
},
|
|
19639
19718
|
{
|
|
19640
19719
|
"site": "rest-countries",
|
|
@@ -22175,7 +22254,10 @@
|
|
|
22175
22254
|
"type": "js",
|
|
22176
22255
|
"modulePath": "twitter/article.js",
|
|
22177
22256
|
"sourceFile": "twitter/article.js",
|
|
22178
|
-
"navigateBefore": "https://x.com"
|
|
22257
|
+
"navigateBefore": "https://x.com",
|
|
22258
|
+
"browserSession": {
|
|
22259
|
+
"reuse": "site"
|
|
22260
|
+
}
|
|
22179
22261
|
},
|
|
22180
22262
|
{
|
|
22181
22263
|
"site": "twitter",
|
|
@@ -22229,10 +22311,82 @@
|
|
|
22229
22311
|
"sourceFile": "twitter/bookmark.js",
|
|
22230
22312
|
"navigateBefore": true
|
|
22231
22313
|
},
|
|
22314
|
+
{
|
|
22315
|
+
"site": "twitter",
|
|
22316
|
+
"name": "bookmark-folder",
|
|
22317
|
+
"description": "Read the tweets inside a single Twitter/X bookmark folder. Get the folder id from `opencli twitter bookmark-folders`.",
|
|
22318
|
+
"access": "read",
|
|
22319
|
+
"domain": "x.com",
|
|
22320
|
+
"strategy": "cookie",
|
|
22321
|
+
"browser": true,
|
|
22322
|
+
"args": [
|
|
22323
|
+
{
|
|
22324
|
+
"name": "folder-id",
|
|
22325
|
+
"type": "string",
|
|
22326
|
+
"required": true,
|
|
22327
|
+
"positional": true,
|
|
22328
|
+
"help": "Folder id from `opencli twitter bookmark-folders`."
|
|
22329
|
+
},
|
|
22330
|
+
{
|
|
22331
|
+
"name": "limit",
|
|
22332
|
+
"type": "int",
|
|
22333
|
+
"default": 20,
|
|
22334
|
+
"required": false,
|
|
22335
|
+
"help": "Maximum number of bookmarks to return (default 20)."
|
|
22336
|
+
},
|
|
22337
|
+
{
|
|
22338
|
+
"name": "top-by-engagement",
|
|
22339
|
+
"type": "int",
|
|
22340
|
+
"default": 0,
|
|
22341
|
+
"required": false,
|
|
22342
|
+
"help": "When set to N>0, re-rank the folder by weighted engagement (likes×1 + retweets×3 + replies×2 + bookmarks×5 + log10(views+1)×0.5) and return the top N. Default 0 keeps the API's native (saved-time) ordering."
|
|
22343
|
+
}
|
|
22344
|
+
],
|
|
22345
|
+
"columns": [
|
|
22346
|
+
"id",
|
|
22347
|
+
"author",
|
|
22348
|
+
"text",
|
|
22349
|
+
"likes",
|
|
22350
|
+
"retweets",
|
|
22351
|
+
"bookmarks",
|
|
22352
|
+
"created_at",
|
|
22353
|
+
"url"
|
|
22354
|
+
],
|
|
22355
|
+
"type": "js",
|
|
22356
|
+
"modulePath": "twitter/bookmark-folder.js",
|
|
22357
|
+
"sourceFile": "twitter/bookmark-folder.js",
|
|
22358
|
+
"navigateBefore": "https://x.com",
|
|
22359
|
+
"browserSession": {
|
|
22360
|
+
"reuse": "site"
|
|
22361
|
+
}
|
|
22362
|
+
},
|
|
22363
|
+
{
|
|
22364
|
+
"site": "twitter",
|
|
22365
|
+
"name": "bookmark-folders",
|
|
22366
|
+
"description": "List your Twitter/X bookmark folders (the user-created collections under Bookmarks). Returns folder id, name, item count, and created_at.",
|
|
22367
|
+
"access": "read",
|
|
22368
|
+
"domain": "x.com",
|
|
22369
|
+
"strategy": "cookie",
|
|
22370
|
+
"browser": true,
|
|
22371
|
+
"args": [],
|
|
22372
|
+
"columns": [
|
|
22373
|
+
"id",
|
|
22374
|
+
"name",
|
|
22375
|
+
"items",
|
|
22376
|
+
"created_at"
|
|
22377
|
+
],
|
|
22378
|
+
"type": "js",
|
|
22379
|
+
"modulePath": "twitter/bookmark-folders.js",
|
|
22380
|
+
"sourceFile": "twitter/bookmark-folders.js",
|
|
22381
|
+
"navigateBefore": "https://x.com",
|
|
22382
|
+
"browserSession": {
|
|
22383
|
+
"reuse": "site"
|
|
22384
|
+
}
|
|
22385
|
+
},
|
|
22232
22386
|
{
|
|
22233
22387
|
"site": "twitter",
|
|
22234
22388
|
"name": "bookmarks",
|
|
22235
|
-
"description": "Fetch Twitter/X bookmarks",
|
|
22389
|
+
"description": "Fetch your Twitter/X bookmarks (the logged-in user's saved tweets, newest first)",
|
|
22236
22390
|
"access": "read",
|
|
22237
22391
|
"domain": "x.com",
|
|
22238
22392
|
"strategy": "cookie",
|
|
@@ -22243,7 +22397,14 @@
|
|
|
22243
22397
|
"type": "int",
|
|
22244
22398
|
"default": 20,
|
|
22245
22399
|
"required": false,
|
|
22246
|
-
"help": ""
|
|
22400
|
+
"help": "Maximum number of bookmarks to return (default 20)."
|
|
22401
|
+
},
|
|
22402
|
+
{
|
|
22403
|
+
"name": "top-by-engagement",
|
|
22404
|
+
"type": "int",
|
|
22405
|
+
"default": 0,
|
|
22406
|
+
"required": false,
|
|
22407
|
+
"help": "When set to N>0, re-rank the bookmarks by weighted engagement (likes×1 + retweets×3 + replies×2 + bookmarks×5 + log10(views+1)×0.5) and return the top N. Default 0 keeps the API's native (saved-time) ordering."
|
|
22247
22408
|
}
|
|
22248
22409
|
],
|
|
22249
22410
|
"columns": [
|
|
@@ -22259,7 +22420,10 @@
|
|
|
22259
22420
|
"type": "js",
|
|
22260
22421
|
"modulePath": "twitter/bookmarks.js",
|
|
22261
22422
|
"sourceFile": "twitter/bookmarks.js",
|
|
22262
|
-
"navigateBefore": "https://x.com"
|
|
22423
|
+
"navigateBefore": "https://x.com",
|
|
22424
|
+
"browserSession": {
|
|
22425
|
+
"reuse": "site"
|
|
22426
|
+
}
|
|
22263
22427
|
},
|
|
22264
22428
|
{
|
|
22265
22429
|
"site": "twitter",
|
|
@@ -22290,7 +22454,7 @@
|
|
|
22290
22454
|
{
|
|
22291
22455
|
"site": "twitter",
|
|
22292
22456
|
"name": "download",
|
|
22293
|
-
"description": "
|
|
22457
|
+
"description": "Download Twitter/X media (images and videos). Provide either <username> to scan a profile's media tab, or --tweet-url to download a single tweet.",
|
|
22294
22458
|
"access": "read",
|
|
22295
22459
|
"domain": "x.com",
|
|
22296
22460
|
"strategy": "cookie",
|
|
@@ -22301,27 +22465,27 @@
|
|
|
22301
22465
|
"type": "str",
|
|
22302
22466
|
"required": false,
|
|
22303
22467
|
"positional": true,
|
|
22304
|
-
"help": "Twitter username (
|
|
22468
|
+
"help": "Twitter username (with or without @) to scan their /media tab. Either <username> or --tweet-url is required."
|
|
22305
22469
|
},
|
|
22306
22470
|
{
|
|
22307
22471
|
"name": "tweet-url",
|
|
22308
22472
|
"type": "str",
|
|
22309
22473
|
"required": false,
|
|
22310
|
-
"help": "Single tweet URL to download"
|
|
22474
|
+
"help": "Single tweet URL to download. Use this OR <username>, not both required at once."
|
|
22311
22475
|
},
|
|
22312
22476
|
{
|
|
22313
22477
|
"name": "limit",
|
|
22314
22478
|
"type": "int",
|
|
22315
22479
|
"default": 10,
|
|
22316
22480
|
"required": false,
|
|
22317
|
-
"help": "
|
|
22481
|
+
"help": "Maximum number of media items to download when scanning a profile (default 10). Ignored when --tweet-url is used."
|
|
22318
22482
|
},
|
|
22319
22483
|
{
|
|
22320
22484
|
"name": "output",
|
|
22321
22485
|
"type": "str",
|
|
22322
22486
|
"default": "./twitter-downloads",
|
|
22323
22487
|
"required": false,
|
|
22324
|
-
"help": "Output directory"
|
|
22488
|
+
"help": "Output directory (default ./twitter-downloads). A per-source subdir is created inside."
|
|
22325
22489
|
}
|
|
22326
22490
|
],
|
|
22327
22491
|
"columns": [
|
|
@@ -22333,7 +22497,10 @@
|
|
|
22333
22497
|
"type": "js",
|
|
22334
22498
|
"modulePath": "twitter/download.js",
|
|
22335
22499
|
"sourceFile": "twitter/download.js",
|
|
22336
|
-
"navigateBefore": "https://x.com"
|
|
22500
|
+
"navigateBefore": "https://x.com",
|
|
22501
|
+
"browserSession": {
|
|
22502
|
+
"reuse": "site"
|
|
22503
|
+
}
|
|
22337
22504
|
},
|
|
22338
22505
|
{
|
|
22339
22506
|
"site": "twitter",
|
|
@@ -22364,7 +22531,7 @@
|
|
|
22364
22531
|
{
|
|
22365
22532
|
"site": "twitter",
|
|
22366
22533
|
"name": "followers",
|
|
22367
|
-
"description": "Get accounts following a Twitter/X user",
|
|
22534
|
+
"description": "Get accounts following a Twitter/X user (defaults to the logged-in user when no user is given)",
|
|
22368
22535
|
"access": "read",
|
|
22369
22536
|
"domain": "x.com",
|
|
22370
22537
|
"strategy": "ui",
|
|
@@ -22375,14 +22542,14 @@
|
|
|
22375
22542
|
"type": "string",
|
|
22376
22543
|
"required": false,
|
|
22377
22544
|
"positional": true,
|
|
22378
|
-
"help": ""
|
|
22545
|
+
"help": "Twitter/X handle (with or without @). Omit to fetch followers of the currently logged-in account."
|
|
22379
22546
|
},
|
|
22380
22547
|
{
|
|
22381
22548
|
"name": "limit",
|
|
22382
22549
|
"type": "int",
|
|
22383
22550
|
"default": 50,
|
|
22384
22551
|
"required": false,
|
|
22385
|
-
"help": ""
|
|
22552
|
+
"help": "Maximum number of follower rows to return (default 50). Must be a positive integer."
|
|
22386
22553
|
}
|
|
22387
22554
|
],
|
|
22388
22555
|
"columns": [
|
|
@@ -22393,12 +22560,15 @@
|
|
|
22393
22560
|
"type": "js",
|
|
22394
22561
|
"modulePath": "twitter/followers.js",
|
|
22395
22562
|
"sourceFile": "twitter/followers.js",
|
|
22396
|
-
"navigateBefore": true
|
|
22563
|
+
"navigateBefore": true,
|
|
22564
|
+
"browserSession": {
|
|
22565
|
+
"reuse": "site"
|
|
22566
|
+
}
|
|
22397
22567
|
},
|
|
22398
22568
|
{
|
|
22399
22569
|
"site": "twitter",
|
|
22400
22570
|
"name": "following",
|
|
22401
|
-
"description": "Get accounts a Twitter/X user is following",
|
|
22571
|
+
"description": "Get accounts a Twitter/X user is following (defaults to the logged-in user when no user is given)",
|
|
22402
22572
|
"access": "read",
|
|
22403
22573
|
"domain": "x.com",
|
|
22404
22574
|
"strategy": "cookie",
|
|
@@ -22409,14 +22579,14 @@
|
|
|
22409
22579
|
"type": "string",
|
|
22410
22580
|
"required": false,
|
|
22411
22581
|
"positional": true,
|
|
22412
|
-
"help": ""
|
|
22582
|
+
"help": "Twitter/X handle (with or without @). Omit to fetch the accounts the currently logged-in user follows."
|
|
22413
22583
|
},
|
|
22414
22584
|
{
|
|
22415
22585
|
"name": "limit",
|
|
22416
22586
|
"type": "int",
|
|
22417
22587
|
"default": 50,
|
|
22418
22588
|
"required": false,
|
|
22419
|
-
"help": ""
|
|
22589
|
+
"help": "Maximum number of following rows to return (default 50). Must be a positive integer."
|
|
22420
22590
|
}
|
|
22421
22591
|
],
|
|
22422
22592
|
"columns": [
|
|
@@ -22428,7 +22598,10 @@
|
|
|
22428
22598
|
"type": "js",
|
|
22429
22599
|
"modulePath": "twitter/following.js",
|
|
22430
22600
|
"sourceFile": "twitter/following.js",
|
|
22431
|
-
"navigateBefore": "https://x.com"
|
|
22601
|
+
"navigateBefore": "https://x.com",
|
|
22602
|
+
"browserSession": {
|
|
22603
|
+
"reuse": "site"
|
|
22604
|
+
}
|
|
22432
22605
|
},
|
|
22433
22606
|
{
|
|
22434
22607
|
"site": "twitter",
|
|
@@ -22485,7 +22658,7 @@
|
|
|
22485
22658
|
{
|
|
22486
22659
|
"site": "twitter",
|
|
22487
22660
|
"name": "likes",
|
|
22488
|
-
"description": "Fetch liked tweets of a Twitter user",
|
|
22661
|
+
"description": "Fetch liked tweets of a Twitter user (defaults to the logged-in user when no username is given)",
|
|
22489
22662
|
"access": "read",
|
|
22490
22663
|
"domain": "x.com",
|
|
22491
22664
|
"strategy": "cookie",
|
|
@@ -22496,14 +22669,21 @@
|
|
|
22496
22669
|
"type": "string",
|
|
22497
22670
|
"required": false,
|
|
22498
22671
|
"positional": true,
|
|
22499
|
-
"help": "Twitter screen name (without @). Defaults to logged-in user."
|
|
22672
|
+
"help": "Twitter screen name (with or without @). Defaults to the logged-in user when omitted."
|
|
22500
22673
|
},
|
|
22501
22674
|
{
|
|
22502
22675
|
"name": "limit",
|
|
22503
22676
|
"type": "int",
|
|
22504
22677
|
"default": 20,
|
|
22505
22678
|
"required": false,
|
|
22506
|
-
"help": ""
|
|
22679
|
+
"help": "Maximum number of liked tweets to return (default 20)."
|
|
22680
|
+
},
|
|
22681
|
+
{
|
|
22682
|
+
"name": "top-by-engagement",
|
|
22683
|
+
"type": "int",
|
|
22684
|
+
"default": 0,
|
|
22685
|
+
"required": false,
|
|
22686
|
+
"help": "When set to N>0, re-rank the liked tweets by weighted engagement (likes×1 + retweets×3 + replies×2 + bookmarks×5 + log10(views+1)×0.5) and return the top N. Default 0 keeps the API's native (recency) ordering."
|
|
22507
22687
|
}
|
|
22508
22688
|
],
|
|
22509
22689
|
"columns": [
|
|
@@ -22521,7 +22701,10 @@
|
|
|
22521
22701
|
"type": "js",
|
|
22522
22702
|
"modulePath": "twitter/likes.js",
|
|
22523
22703
|
"sourceFile": "twitter/likes.js",
|
|
22524
|
-
"navigateBefore": "https://x.com"
|
|
22704
|
+
"navigateBefore": "https://x.com",
|
|
22705
|
+
"browserSession": {
|
|
22706
|
+
"reuse": "site"
|
|
22707
|
+
}
|
|
22525
22708
|
},
|
|
22526
22709
|
{
|
|
22527
22710
|
"site": "twitter",
|
|
@@ -22537,14 +22720,14 @@
|
|
|
22537
22720
|
"type": "string",
|
|
22538
22721
|
"required": true,
|
|
22539
22722
|
"positional": true,
|
|
22540
|
-
"help": ""
|
|
22723
|
+
"help": "Numeric ID of the list you own (e.g. from `opencli twitter lists`)"
|
|
22541
22724
|
},
|
|
22542
22725
|
{
|
|
22543
22726
|
"name": "username",
|
|
22544
22727
|
"type": "string",
|
|
22545
22728
|
"required": true,
|
|
22546
22729
|
"positional": true,
|
|
22547
|
-
"help": ""
|
|
22730
|
+
"help": "Twitter/X handle to add (with or without @)"
|
|
22548
22731
|
}
|
|
22549
22732
|
],
|
|
22550
22733
|
"columns": [
|
|
@@ -22573,14 +22756,14 @@
|
|
|
22573
22756
|
"type": "string",
|
|
22574
22757
|
"required": true,
|
|
22575
22758
|
"positional": true,
|
|
22576
|
-
"help": ""
|
|
22759
|
+
"help": "Numeric ID of the list you own (e.g. from `opencli twitter lists`)"
|
|
22577
22760
|
},
|
|
22578
22761
|
{
|
|
22579
22762
|
"name": "username",
|
|
22580
22763
|
"type": "string",
|
|
22581
22764
|
"required": true,
|
|
22582
22765
|
"positional": true,
|
|
22583
|
-
"help": ""
|
|
22766
|
+
"help": "Twitter/X handle to remove (with or without @)"
|
|
22584
22767
|
}
|
|
22585
22768
|
],
|
|
22586
22769
|
"columns": [
|
|
@@ -22609,7 +22792,7 @@
|
|
|
22609
22792
|
"type": "string",
|
|
22610
22793
|
"required": true,
|
|
22611
22794
|
"positional": true,
|
|
22612
|
-
"help": ""
|
|
22795
|
+
"help": "Numeric ID of a Twitter/X list (e.g. from `opencli twitter lists`)"
|
|
22613
22796
|
},
|
|
22614
22797
|
{
|
|
22615
22798
|
"name": "limit",
|
|
@@ -22617,6 +22800,13 @@
|
|
|
22617
22800
|
"default": 50,
|
|
22618
22801
|
"required": false,
|
|
22619
22802
|
"help": ""
|
|
22803
|
+
},
|
|
22804
|
+
{
|
|
22805
|
+
"name": "top-by-engagement",
|
|
22806
|
+
"type": "int",
|
|
22807
|
+
"default": 0,
|
|
22808
|
+
"required": false,
|
|
22809
|
+
"help": "When set to N>0, re-rank the list timeline by weighted engagement (likes×1 + retweets×3 + replies×2 + bookmarks×5 + log10(views+1)×0.5) and return the top N. Default 0 keeps the list's native (recency) ordering."
|
|
22620
22810
|
}
|
|
22621
22811
|
],
|
|
22622
22812
|
"columns": [
|
|
@@ -22632,7 +22822,10 @@
|
|
|
22632
22822
|
"type": "js",
|
|
22633
22823
|
"modulePath": "twitter/list-tweets.js",
|
|
22634
22824
|
"sourceFile": "twitter/list-tweets.js",
|
|
22635
|
-
"navigateBefore": "https://x.com"
|
|
22825
|
+
"navigateBefore": "https://x.com",
|
|
22826
|
+
"browserSession": {
|
|
22827
|
+
"reuse": "site"
|
|
22828
|
+
}
|
|
22636
22829
|
},
|
|
22637
22830
|
{
|
|
22638
22831
|
"site": "twitter",
|
|
@@ -22648,7 +22841,7 @@
|
|
|
22648
22841
|
"type": "int",
|
|
22649
22842
|
"default": 50,
|
|
22650
22843
|
"required": false,
|
|
22651
|
-
"help": ""
|
|
22844
|
+
"help": "Maximum number of lists to return (default 50)."
|
|
22652
22845
|
}
|
|
22653
22846
|
],
|
|
22654
22847
|
"columns": [
|
|
@@ -22661,12 +22854,15 @@
|
|
|
22661
22854
|
"type": "js",
|
|
22662
22855
|
"modulePath": "twitter/lists.js",
|
|
22663
22856
|
"sourceFile": "twitter/lists.js",
|
|
22664
|
-
"navigateBefore": "https://x.com"
|
|
22857
|
+
"navigateBefore": "https://x.com",
|
|
22858
|
+
"browserSession": {
|
|
22859
|
+
"reuse": "site"
|
|
22860
|
+
}
|
|
22665
22861
|
},
|
|
22666
22862
|
{
|
|
22667
22863
|
"site": "twitter",
|
|
22668
22864
|
"name": "notifications",
|
|
22669
|
-
"description": "Get Twitter/X notifications",
|
|
22865
|
+
"description": "Get your Twitter/X notifications (the logged-in user's likes/replies/follows feed, newest first)",
|
|
22670
22866
|
"access": "read",
|
|
22671
22867
|
"domain": "x.com",
|
|
22672
22868
|
"strategy": "intercept",
|
|
@@ -22677,7 +22873,7 @@
|
|
|
22677
22873
|
"type": "int",
|
|
22678
22874
|
"default": 20,
|
|
22679
22875
|
"required": false,
|
|
22680
|
-
"help": ""
|
|
22876
|
+
"help": "Maximum number of notifications to return (default 20)."
|
|
22681
22877
|
}
|
|
22682
22878
|
],
|
|
22683
22879
|
"columns": [
|
|
@@ -22690,7 +22886,10 @@
|
|
|
22690
22886
|
"type": "js",
|
|
22691
22887
|
"modulePath": "twitter/notifications.js",
|
|
22692
22888
|
"sourceFile": "twitter/notifications.js",
|
|
22693
|
-
"navigateBefore": true
|
|
22889
|
+
"navigateBefore": true,
|
|
22890
|
+
"browserSession": {
|
|
22891
|
+
"reuse": "site"
|
|
22892
|
+
}
|
|
22694
22893
|
},
|
|
22695
22894
|
{
|
|
22696
22895
|
"site": "twitter",
|
|
@@ -22728,7 +22927,7 @@
|
|
|
22728
22927
|
{
|
|
22729
22928
|
"site": "twitter",
|
|
22730
22929
|
"name": "profile",
|
|
22731
|
-
"description": "Fetch a Twitter user profile
|
|
22930
|
+
"description": "Fetch a Twitter user profile — bio, stats, etc. (defaults to the logged-in user when no username is given)",
|
|
22732
22931
|
"access": "read",
|
|
22733
22932
|
"domain": "x.com",
|
|
22734
22933
|
"strategy": "cookie",
|
|
@@ -22739,7 +22938,7 @@
|
|
|
22739
22938
|
"type": "string",
|
|
22740
22939
|
"required": false,
|
|
22741
22940
|
"positional": true,
|
|
22742
|
-
"help": "Twitter screen name (without @). Defaults to logged-in user."
|
|
22941
|
+
"help": "Twitter screen name (with or without @). Defaults to the logged-in user when omitted."
|
|
22743
22942
|
}
|
|
22744
22943
|
],
|
|
22745
22944
|
"columns": [
|
|
@@ -22758,12 +22957,15 @@
|
|
|
22758
22957
|
"type": "js",
|
|
22759
22958
|
"modulePath": "twitter/profile.js",
|
|
22760
22959
|
"sourceFile": "twitter/profile.js",
|
|
22761
|
-
"navigateBefore": "https://x.com"
|
|
22960
|
+
"navigateBefore": "https://x.com",
|
|
22961
|
+
"browserSession": {
|
|
22962
|
+
"reuse": "site"
|
|
22963
|
+
}
|
|
22762
22964
|
},
|
|
22763
22965
|
{
|
|
22764
22966
|
"site": "twitter",
|
|
22765
22967
|
"name": "quote",
|
|
22766
|
-
"description": "Quote-tweet a specific tweet with your own text",
|
|
22968
|
+
"description": "Quote-tweet a specific tweet with your own text, optionally with a local or remote image",
|
|
22767
22969
|
"access": "write",
|
|
22768
22970
|
"domain": "x.com",
|
|
22769
22971
|
"strategy": "ui",
|
|
@@ -22782,6 +22984,18 @@
|
|
|
22782
22984
|
"required": true,
|
|
22783
22985
|
"positional": true,
|
|
22784
22986
|
"help": "The text content of your quote"
|
|
22987
|
+
},
|
|
22988
|
+
{
|
|
22989
|
+
"name": "image",
|
|
22990
|
+
"type": "str",
|
|
22991
|
+
"required": false,
|
|
22992
|
+
"help": "Optional local image path to attach to the quote tweet"
|
|
22993
|
+
},
|
|
22994
|
+
{
|
|
22995
|
+
"name": "image-url",
|
|
22996
|
+
"type": "str",
|
|
22997
|
+
"required": false,
|
|
22998
|
+
"help": "Optional remote image URL to download and attach to the quote tweet"
|
|
22785
22999
|
}
|
|
22786
23000
|
],
|
|
22787
23001
|
"columns": [
|
|
@@ -22918,7 +23132,7 @@
|
|
|
22918
23132
|
{
|
|
22919
23133
|
"site": "twitter",
|
|
22920
23134
|
"name": "search",
|
|
22921
|
-
"description": "Search Twitter/X for tweets",
|
|
23135
|
+
"description": "Search Twitter/X for tweets, with optional --from / --has / --exclude / --product filters mapped to X's search operators",
|
|
22922
23136
|
"access": "read",
|
|
22923
23137
|
"domain": "x.com",
|
|
22924
23138
|
"strategy": "intercept",
|
|
@@ -22929,25 +23143,75 @@
|
|
|
22929
23143
|
"type": "string",
|
|
22930
23144
|
"required": true,
|
|
22931
23145
|
"positional": true,
|
|
22932
|
-
"help": ""
|
|
23146
|
+
"help": "Search query. Raw X operators (e.g. \"exact phrase\", #tag, OR, lang:en, since:YYYY-MM-DD, from:, since:) are passed through unchanged."
|
|
22933
23147
|
},
|
|
22934
23148
|
{
|
|
22935
23149
|
"name": "filter",
|
|
22936
23150
|
"type": "string",
|
|
22937
23151
|
"default": "top",
|
|
22938
23152
|
"required": false,
|
|
22939
|
-
"help": "",
|
|
23153
|
+
"help": "Legacy alias for --product. Kept for backwards compatibility; if --product is set it wins.",
|
|
22940
23154
|
"choices": [
|
|
22941
23155
|
"top",
|
|
22942
23156
|
"live"
|
|
22943
23157
|
]
|
|
22944
23158
|
},
|
|
23159
|
+
{
|
|
23160
|
+
"name": "product",
|
|
23161
|
+
"type": "string",
|
|
23162
|
+
"required": false,
|
|
23163
|
+
"help": "Which X search tab to read: top (default), live (Latest), photos, videos. Maps to the f= URL param.",
|
|
23164
|
+
"choices": [
|
|
23165
|
+
"top",
|
|
23166
|
+
"live",
|
|
23167
|
+
"photos",
|
|
23168
|
+
"videos"
|
|
23169
|
+
]
|
|
23170
|
+
},
|
|
23171
|
+
{
|
|
23172
|
+
"name": "from",
|
|
23173
|
+
"type": "string",
|
|
23174
|
+
"required": false,
|
|
23175
|
+
"help": "Restrict to tweets authored by <user>. Leading @ is stripped. Equivalent to appending `from:<user>` to the query."
|
|
23176
|
+
},
|
|
23177
|
+
{
|
|
23178
|
+
"name": "has",
|
|
23179
|
+
"type": "string",
|
|
23180
|
+
"required": false,
|
|
23181
|
+
"help": "Restrict to tweets that have media|images|videos|links|replies. Maps to X's `filter:<has>` operator.",
|
|
23182
|
+
"choices": [
|
|
23183
|
+
"media",
|
|
23184
|
+
"images",
|
|
23185
|
+
"videos",
|
|
23186
|
+
"links",
|
|
23187
|
+
"replies"
|
|
23188
|
+
]
|
|
23189
|
+
},
|
|
23190
|
+
{
|
|
23191
|
+
"name": "exclude",
|
|
23192
|
+
"type": "string",
|
|
23193
|
+
"required": false,
|
|
23194
|
+
"help": "Exclude tweets matching <type>: replies|retweets|media|links. Maps to X's `-filter:<x>` operator (retweets → -filter:nativeretweets).",
|
|
23195
|
+
"choices": [
|
|
23196
|
+
"replies",
|
|
23197
|
+
"retweets",
|
|
23198
|
+
"media",
|
|
23199
|
+
"links"
|
|
23200
|
+
]
|
|
23201
|
+
},
|
|
22945
23202
|
{
|
|
22946
23203
|
"name": "limit",
|
|
22947
23204
|
"type": "int",
|
|
22948
23205
|
"default": 15,
|
|
22949
23206
|
"required": false,
|
|
22950
|
-
"help": ""
|
|
23207
|
+
"help": "Maximum number of tweets to return (default 15). Result count after server-side filtering."
|
|
23208
|
+
},
|
|
23209
|
+
{
|
|
23210
|
+
"name": "top-by-engagement",
|
|
23211
|
+
"type": "int",
|
|
23212
|
+
"default": 0,
|
|
23213
|
+
"required": false,
|
|
23214
|
+
"help": "When set to N>0, re-rank the results by weighted engagement (likes×1 + retweets×3 + replies×2 + bookmarks×5 + log10(views+1)×0.5) and return the top N. Default 0 keeps X's native ordering."
|
|
22951
23215
|
}
|
|
22952
23216
|
],
|
|
22953
23217
|
"columns": [
|
|
@@ -22964,7 +23228,10 @@
|
|
|
22964
23228
|
"type": "js",
|
|
22965
23229
|
"modulePath": "twitter/search.js",
|
|
22966
23230
|
"sourceFile": "twitter/search.js",
|
|
22967
|
-
"navigateBefore": true
|
|
23231
|
+
"navigateBefore": true,
|
|
23232
|
+
"browserSession": {
|
|
23233
|
+
"reuse": "site"
|
|
23234
|
+
}
|
|
22968
23235
|
},
|
|
22969
23236
|
{
|
|
22970
23237
|
"site": "twitter",
|
|
@@ -22980,7 +23247,7 @@
|
|
|
22980
23247
|
"type": "string",
|
|
22981
23248
|
"required": true,
|
|
22982
23249
|
"positional": true,
|
|
22983
|
-
"help": ""
|
|
23250
|
+
"help": "Tweet numeric ID (e.g. 1234567890) or full status URL"
|
|
22984
23251
|
},
|
|
22985
23252
|
{
|
|
22986
23253
|
"name": "limit",
|
|
@@ -22988,6 +23255,13 @@
|
|
|
22988
23255
|
"default": 50,
|
|
22989
23256
|
"required": false,
|
|
22990
23257
|
"help": ""
|
|
23258
|
+
},
|
|
23259
|
+
{
|
|
23260
|
+
"name": "top-by-engagement",
|
|
23261
|
+
"type": "int",
|
|
23262
|
+
"default": 0,
|
|
23263
|
+
"required": false,
|
|
23264
|
+
"help": "When set to N>0, re-rank the thread by weighted engagement (likes×1 + retweets×3 + replies×2 + bookmarks×5 + log10(views+1)×0.5) and return the top N. Default 0 keeps the conversation's structural ordering."
|
|
22991
23265
|
}
|
|
22992
23266
|
],
|
|
22993
23267
|
"columns": [
|
|
@@ -23003,12 +23277,15 @@
|
|
|
23003
23277
|
"type": "js",
|
|
23004
23278
|
"modulePath": "twitter/thread.js",
|
|
23005
23279
|
"sourceFile": "twitter/thread.js",
|
|
23006
|
-
"navigateBefore": "https://x.com"
|
|
23280
|
+
"navigateBefore": "https://x.com",
|
|
23281
|
+
"browserSession": {
|
|
23282
|
+
"reuse": "site"
|
|
23283
|
+
}
|
|
23007
23284
|
},
|
|
23008
23285
|
{
|
|
23009
23286
|
"site": "twitter",
|
|
23010
23287
|
"name": "timeline",
|
|
23011
|
-
"description": "Fetch
|
|
23288
|
+
"description": "Fetch the logged-in user's home timeline (for-you algorithmic feed by default; pass --type following for the chronological feed of accounts you follow)",
|
|
23012
23289
|
"access": "read",
|
|
23013
23290
|
"domain": "x.com",
|
|
23014
23291
|
"strategy": "cookie",
|
|
@@ -23019,7 +23296,7 @@
|
|
|
23019
23296
|
"type": "str",
|
|
23020
23297
|
"default": "for-you",
|
|
23021
23298
|
"required": false,
|
|
23022
|
-
"help": "
|
|
23299
|
+
"help": "Which home-timeline feed to read. Default for-you (algorithmic). Use following for the chronological feed of accounts you follow.",
|
|
23023
23300
|
"choices": [
|
|
23024
23301
|
"for-you",
|
|
23025
23302
|
"following"
|
|
@@ -23030,7 +23307,14 @@
|
|
|
23030
23307
|
"type": "int",
|
|
23031
23308
|
"default": 20,
|
|
23032
23309
|
"required": false,
|
|
23033
|
-
"help": ""
|
|
23310
|
+
"help": "Maximum number of tweets to return (default 20)."
|
|
23311
|
+
},
|
|
23312
|
+
{
|
|
23313
|
+
"name": "top-by-engagement",
|
|
23314
|
+
"type": "int",
|
|
23315
|
+
"default": 0,
|
|
23316
|
+
"required": false,
|
|
23317
|
+
"help": "When set to N>0, re-rank the timeline by weighted engagement (likes×1 + retweets×3 + replies×2 + bookmarks×5 + log10(views+1)×0.5) and return the top N. Default 0 keeps X's native ordering."
|
|
23034
23318
|
}
|
|
23035
23319
|
],
|
|
23036
23320
|
"columns": [
|
|
@@ -23049,7 +23333,10 @@
|
|
|
23049
23333
|
"type": "js",
|
|
23050
23334
|
"modulePath": "twitter/timeline.js",
|
|
23051
23335
|
"sourceFile": "twitter/timeline.js",
|
|
23052
|
-
"navigateBefore": "https://x.com"
|
|
23336
|
+
"navigateBefore": "https://x.com",
|
|
23337
|
+
"browserSession": {
|
|
23338
|
+
"reuse": "site"
|
|
23339
|
+
}
|
|
23053
23340
|
},
|
|
23054
23341
|
{
|
|
23055
23342
|
"site": "twitter",
|
|
@@ -23076,7 +23363,10 @@
|
|
|
23076
23363
|
"type": "js",
|
|
23077
23364
|
"modulePath": "twitter/trending.js",
|
|
23078
23365
|
"sourceFile": "twitter/trending.js",
|
|
23079
|
-
"navigateBefore": "https://x.com"
|
|
23366
|
+
"navigateBefore": "https://x.com",
|
|
23367
|
+
"browserSession": {
|
|
23368
|
+
"reuse": "site"
|
|
23369
|
+
}
|
|
23080
23370
|
},
|
|
23081
23371
|
{
|
|
23082
23372
|
"site": "twitter",
|
|
@@ -23100,6 +23390,13 @@
|
|
|
23100
23390
|
"default": 20,
|
|
23101
23391
|
"required": false,
|
|
23102
23392
|
"help": "Max tweets to return"
|
|
23393
|
+
},
|
|
23394
|
+
{
|
|
23395
|
+
"name": "top-by-engagement",
|
|
23396
|
+
"type": "int",
|
|
23397
|
+
"default": 0,
|
|
23398
|
+
"required": false,
|
|
23399
|
+
"help": "When set to N>0, re-rank the tweets by weighted engagement (likes×1 + retweets×3 + replies×2 + bookmarks×5 + log10(views+1)×0.5) and return the top N. Default 0 keeps the chronological ordering."
|
|
23103
23400
|
}
|
|
23104
23401
|
],
|
|
23105
23402
|
"columns": [
|
|
@@ -23119,7 +23416,10 @@
|
|
|
23119
23416
|
"type": "js",
|
|
23120
23417
|
"modulePath": "twitter/tweets.js",
|
|
23121
23418
|
"sourceFile": "twitter/tweets.js",
|
|
23122
|
-
"navigateBefore": "https://x.com"
|
|
23419
|
+
"navigateBefore": "https://x.com",
|
|
23420
|
+
"browserSession": {
|
|
23421
|
+
"reuse": "site"
|
|
23422
|
+
}
|
|
23123
23423
|
},
|
|
23124
23424
|
{
|
|
23125
23425
|
"site": "twitter",
|