publishport-opencli 1.0.29 → 1.0.31

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.
Files changed (116) hide show
  1. package/cli-manifest.json +808 -70
  2. package/clis/_shared/article/login.js +1 -1
  3. package/clis/_shared/login-wait.js +1 -0
  4. package/clis/_shared/site-auth.js +1 -1
  5. package/clis/baijiahao/article.js +2 -2
  6. package/clis/baijiahao/auth.js +18 -0
  7. package/clis/baijiahao/lists.js +1 -1
  8. package/clis/baijiahao/stats.js +1 -1
  9. package/clis/bilibili/coin.js +1 -1
  10. package/clis/bilibili/comment.js +1 -1
  11. package/clis/bilibili/comments.js +1 -1
  12. package/clis/bilibili/dm-list.js +1 -1
  13. package/clis/bilibili/dm-read.js +1 -1
  14. package/clis/bilibili/favorite-add.js +1 -1
  15. package/clis/bilibili/me.js +1 -1
  16. package/clis/bilibili/search.js +1 -1
  17. package/clis/bilibili/stats.js +1 -1
  18. package/clis/bilibili/user-videos.js +1 -1
  19. package/clis/bilibili/utils.js +7 -7
  20. package/clis/cnblogs/article.js +1 -1
  21. package/clis/csdn/stats.js +7 -13
  22. package/clis/devto/publish.js +20 -4
  23. package/clis/douyin/_shared/browser-fetch.js +31 -13
  24. package/clis/douyin/_shared/comments.js +1 -0
  25. package/clis/douyin/_shared/work-list.js +1 -0
  26. package/clis/douyin/comment-like.js +1 -0
  27. package/clis/douyin/comment.js +1 -0
  28. package/clis/douyin/comments.js +1 -0
  29. package/clis/douyin/publish.js +9 -8
  30. package/clis/douyin/stats.js +1 -1
  31. package/clis/douyin/videos.js +1 -1
  32. package/clis/jike/comments.js +2 -1
  33. package/clis/jike/like.js +1 -1
  34. package/clis/jike/notifications.js +2 -115
  35. package/clis/jike/post.js +2 -2
  36. package/clis/jike/topic.js +1 -1
  37. package/clis/jike/topics.js +3 -0
  38. package/clis/nowcoder/auth.js +1 -24
  39. package/clis/nowcoder/comment.js +1 -1
  40. package/clis/nowcoder/comments.js +1 -1
  41. package/clis/nowcoder/delete.js +1 -1
  42. package/clis/nowcoder/detail.js +1 -48
  43. package/clis/nowcoder/dm-list.js +1 -1
  44. package/clis/nowcoder/dm-read.js +1 -1
  45. package/clis/nowcoder/dm-send.js +1 -1
  46. package/clis/nowcoder/experience.js +1 -22
  47. package/clis/nowcoder/inbox.js +1 -1
  48. package/clis/nowcoder/like-status.js +1 -0
  49. package/clis/nowcoder/like.js +1 -1
  50. package/clis/nowcoder/my.js +1 -1
  51. package/clis/nowcoder/notifications.js +1 -16
  52. package/clis/nowcoder/post.js +1 -1
  53. package/clis/nowcoder/recommend.js +1 -1
  54. package/clis/nowcoder/search.js +1 -32
  55. package/clis/nowcoder/utils.js +38 -44
  56. package/clis/qiita/publish.js +2 -2
  57. package/clis/quora/__fixtures__/dom.html +24 -0
  58. package/clis/quora/answer-detail.js +1 -1
  59. package/clis/quora/question.js +25 -1
  60. package/clis/quora/search.js +1 -1
  61. package/clis/quora/shared.js +18 -17
  62. package/clis/quora/upvote.js +5 -13
  63. package/clis/reddit/comment.js +25 -25
  64. package/clis/reddit/reply.js +7 -5
  65. package/clis/reddit/search.js +1 -51
  66. package/clis/reddit/shared.js +13 -0
  67. package/clis/reddit/subreddit-info.js +10 -4
  68. package/clis/reddit/subreddit-rules.js +1 -0
  69. package/clis/reddit/subreddit.js +1 -52
  70. package/clis/reddit/upvote.js +33 -10
  71. package/clis/reddit/user-comments.js +1 -20
  72. package/clis/reddit/user-posts.js +1 -17
  73. package/clis/twitter/post.js +63 -39
  74. package/clis/wechat-channels/auth.js +34 -31
  75. package/clis/wechat-channels/publish.js +295 -130
  76. package/clis/xiaohongshu/_shared/comment-actions.js +9 -0
  77. package/clis/xiaohongshu/_shared/comment-state.js +1 -0
  78. package/clis/xiaohongshu/_shared/note-manager.js +37 -0
  79. package/clis/xiaohongshu/comment-like.js +1 -0
  80. package/clis/xiaohongshu/comment.js +1 -0
  81. package/clis/xiaohongshu/comments.js +33 -5
  82. package/clis/xiaohongshu/creator-notes.js +9 -43
  83. package/clis/xiaohongshu/delete-note.js +7 -19
  84. package/clis/xiaohongshu/draft-delete.js +2 -2
  85. package/clis/xiaohongshu/publish.js +34 -43
  86. package/clis/xiaohongshu/replies.js +1 -0
  87. package/clis/xiaohongshu/reply.js +1 -0
  88. package/clis/xiaohongshu/search.js +18 -3
  89. package/clis/youtube/publish.js +11 -11
  90. package/clis/zhihu/answer-comments.js +2 -11
  91. package/clis/zhihu/answer-detail.js +1 -11
  92. package/clis/zhihu/comment.js +4 -4
  93. package/clis/zhihu/like.js +17 -3
  94. package/clis/zhihu/question.js +20 -6
  95. package/clis/zhihu/read-shared.js +26 -0
  96. package/clis/zhihu/recommend.js +1 -7
  97. package/clis/zhihu/search.js +1 -11
  98. package/dist/src/browser/base-page.d.ts +41 -1
  99. package/dist/src/browser/base-page.js +29 -16
  100. package/dist/src/browser/find.d.ts +31 -4
  101. package/dist/src/browser/find.js +76 -23
  102. package/dist/src/browser/utils.d.ts +30 -0
  103. package/dist/src/browser/utils.js +7 -1
  104. package/dist/src/cli.js +26 -24
  105. package/dist/src/commanderAdapter.d.ts +14 -0
  106. package/dist/src/commanderAdapter.js +4 -3
  107. package/dist/src/doctor.d.ts +7 -0
  108. package/dist/src/doctor.js +9 -9
  109. package/dist/src/errors.d.ts +6 -0
  110. package/dist/src/errors.js +1 -1
  111. package/dist/src/execution.d.ts +1 -0
  112. package/dist/src/execution.js +2 -2
  113. package/dist/src/main.js +6 -6
  114. package/dist/src/types.d.ts +28 -0
  115. package/package.json +1 -1
  116. package/skills/opencli-browser/SKILL.md +14 -3
package/cli-manifest.json CHANGED
@@ -3920,6 +3920,8 @@
3920
3920
  "coined",
3921
3921
  "total",
3922
3922
  "status",
3923
+ "confirmed_by",
3924
+ "balance",
3923
3925
  "url"
3924
3926
  ],
3925
3927
  "type": "js",
@@ -3930,7 +3932,7 @@
3930
3932
  {
3931
3933
  "site": "bilibili",
3932
3934
  "name": "comment",
3933
- "description": "在 B站视频下发表评论或回复(官方 API,需登录;消息里的 @用户 会被解析为真实提及)",
3935
+ "description": "在 B站视频下发表评论或回复(官方 API,需登录;消息里的 @用户 会被解析为真实提及;需 --execute;回执带 visibility 标明是否公开可见)",
3934
3936
  "access": "write",
3935
3937
  "domain": "www.bilibili.com",
3936
3938
  "strategy": "cookie",
@@ -3977,7 +3979,11 @@
3977
3979
  "bvid",
3978
3980
  "oid",
3979
3981
  "message",
3980
- "url"
3982
+ "url",
3983
+ "state",
3984
+ "attr",
3985
+ "visibility",
3986
+ "visibility_note"
3981
3987
  ],
3982
3988
  "type": "js",
3983
3989
  "modulePath": "bilibili/comment.js",
@@ -4068,7 +4074,7 @@
4068
4074
  {
4069
4075
  "site": "bilibili",
4070
4076
  "name": "comments",
4071
- "description": "获取 B站视频评论(官方 API;用 --parent <rpid> 读取某条评论下的「楼中楼」回复;--sort time 按最新排序,发评论后回查用)",
4077
+ "description": "获取 B站视频评论(官方 API;用 --parent <rpid> 读取某条评论下的「楼中楼」回复;--sort time 按最新排序,发评论后回查用;time 为北京时间;visibility=self-only 表示被平台压成仅自己可见)",
4072
4078
  "access": "read",
4073
4079
  "domain": "www.bilibili.com",
4074
4080
  "strategy": "cookie",
@@ -4109,7 +4115,10 @@
4109
4115
  "text",
4110
4116
  "likes",
4111
4117
  "replies",
4112
- "time"
4118
+ "time",
4119
+ "state",
4120
+ "attr",
4121
+ "visibility"
4113
4122
  ],
4114
4123
  "type": "js",
4115
4124
  "modulePath": "bilibili/comments.js",
@@ -4185,7 +4194,7 @@
4185
4194
  {
4186
4195
  "site": "bilibili",
4187
4196
  "name": "dm-list",
4188
- "description": "B站私信会话列表(talker_id 即对方 UID,供 dm-read / dm-send 用)",
4197
+ "description": "B站私信会话列表(talker_id 即对方 UID,供 dm-read / dm-send 用;last_direction 标明最后一条是谁发的;--limit 超过 20 自动翻页)",
4189
4198
  "access": "read",
4190
4199
  "domain": "www.bilibili.com",
4191
4200
  "strategy": "cookie",
@@ -4196,13 +4205,15 @@
4196
4205
  "type": "int",
4197
4206
  "default": 20,
4198
4207
  "required": false,
4199
- "help": "返回会话数上限"
4208
+ "help": "返回会话数上限(1-200;接口每页 20 条,超过自动翻页)"
4200
4209
  }
4201
4210
  ],
4202
4211
  "columns": [
4203
4212
  "talker_id",
4204
4213
  "name",
4205
4214
  "last_content",
4215
+ "last_direction",
4216
+ "last_sender_uid",
4206
4217
  "unread",
4207
4218
  "last_time"
4208
4219
  ],
@@ -4214,7 +4225,7 @@
4214
4225
  {
4215
4226
  "site": "bilibili",
4216
4227
  "name": "dm-read",
4217
- "description": "读取与某 B站用户的私信记录(近 30 条;target 为 UID / 用户名)",
4228
+ "description": "读取与某 B站用户的私信记录(默认近 30 条,--limit 最多 50;target 为 UID / 用户名;recalled=true 为已撤回)",
4218
4229
  "access": "read",
4219
4230
  "domain": "www.bilibili.com",
4220
4231
  "strategy": "cookie",
@@ -4226,6 +4237,13 @@
4226
4237
  "required": true,
4227
4238
  "positional": true,
4228
4239
  "help": "对方 UID / 用户名(dm-list 的 talker_id)"
4240
+ },
4241
+ {
4242
+ "name": "limit",
4243
+ "type": "int",
4244
+ "default": 30,
4245
+ "required": false,
4246
+ "help": "读取最近多少条(1-50,默认 30)"
4229
4247
  }
4230
4248
  ],
4231
4249
  "columns": [
@@ -4233,7 +4251,9 @@
4233
4251
  "direction",
4234
4252
  "sender_uid",
4235
4253
  "content",
4236
- "msg_type"
4254
+ "msg_type",
4255
+ "recalled",
4256
+ "image_url"
4237
4257
  ],
4238
4258
  "type": "js",
4239
4259
  "modulePath": "bilibili/dm-read.js",
@@ -4894,7 +4914,7 @@
4894
4914
  {
4895
4915
  "site": "bilibili",
4896
4916
  "name": "search",
4897
- "description": "Search Bilibili videos or users",
4917
+ "description": "Search Bilibili videos or users(uid = 视频作者 / 用户的 UID;--type user 时 sign 为个人简介、score 为粉丝数)",
4898
4918
  "access": "read",
4899
4919
  "domain": "www.bilibili.com",
4900
4920
  "strategy": "cookie",
@@ -4933,9 +4953,11 @@
4933
4953
  "rank",
4934
4954
  "title",
4935
4955
  "author",
4956
+ "uid",
4936
4957
  "score",
4937
4958
  "bvid",
4938
- "url"
4959
+ "url",
4960
+ "sign"
4939
4961
  ],
4940
4962
  "type": "js",
4941
4963
  "modulePath": "bilibili/search.js",
@@ -4965,6 +4987,7 @@
4965
4987
  "title",
4966
4988
  "url",
4967
4989
  "published_at",
4990
+ "scheduled_at",
4968
4991
  "views",
4969
4992
  "likes",
4970
4993
  "comments",
@@ -5246,7 +5269,7 @@
5246
5269
  {
5247
5270
  "site": "bilibili",
5248
5271
  "name": "user-videos",
5249
- "description": "查看指定用户的投稿视频",
5272
+ "description": "查看指定用户的投稿视频(uid / author 为实际查到的那位用户;按名字查时务必核对,避免撞名)",
5250
5273
  "access": "read",
5251
5274
  "domain": "www.bilibili.com",
5252
5275
  "strategy": "cookie",
@@ -5287,7 +5310,10 @@
5287
5310
  "plays",
5288
5311
  "likes",
5289
5312
  "date",
5290
- "url"
5313
+ "url",
5314
+ "uid",
5315
+ "author",
5316
+ "name_match"
5291
5317
  ],
5292
5318
  "type": "js",
5293
5319
  "modulePath": "bilibili/user-videos.js",
@@ -9188,6 +9214,12 @@
9188
9214
  "required": false,
9189
9215
  "help": "将正文当作原始 HTML 而非 Markdown"
9190
9216
  },
9217
+ {
9218
+ "name": "tags",
9219
+ "type": "str",
9220
+ "required": false,
9221
+ "help": "文章标签,逗号分隔(可空)"
9222
+ },
9191
9223
  {
9192
9224
  "name": "draft",
9193
9225
  "type": "boolean",
@@ -9208,7 +9240,9 @@
9208
9240
  "target_type",
9209
9241
  "target",
9210
9242
  "created_target",
9211
- "created_url"
9243
+ "created_url",
9244
+ "images_uploaded",
9245
+ "images_failed"
9212
9246
  ],
9213
9247
  "type": "js",
9214
9248
  "modulePath": "cnblogs/article.js",
@@ -12060,7 +12094,7 @@
12060
12094
  {
12061
12095
  "site": "devto",
12062
12096
  "name": "publish",
12063
- "description": "Publish or update a DEV.to article (markdown). Draft by default; pass --published to go live.",
12097
+ "description": "Publish, update or unpublish a DEV.to article (markdown). New articles are drafts unless --published; unpublish with --id <id> --published false.",
12064
12098
  "access": "write",
12065
12099
  "domain": "dev.to",
12066
12100
  "strategy": "cookie",
@@ -12087,9 +12121,8 @@
12087
12121
  {
12088
12122
  "name": "published",
12089
12123
  "type": "boolean",
12090
- "default": false,
12091
12124
  "required": false,
12092
- "help": "Publish live now (default: save as draft)"
12125
+ "help": "新建:传 --published 直接上线,不传存草稿。更新(--id):--published 上线,--published false 撤回为草稿(取消发布),不传则不改发布状态"
12093
12126
  },
12094
12127
  {
12095
12128
  "name": "tags",
@@ -12107,7 +12140,7 @@
12107
12140
  "name": "canonical-url",
12108
12141
  "type": "string",
12109
12142
  "required": false,
12110
- "help": "Canonical URL (original source)"
12143
+ "help": "Canonical URL (original source);同一账号下不能重复,提交前会预检已发布文章"
12111
12144
  },
12112
12145
  {
12113
12146
  "name": "series",
@@ -12125,7 +12158,7 @@
12125
12158
  "name": "id",
12126
12159
  "type": "string",
12127
12160
  "required": false,
12128
- "help": "Existing article id to update (PUT instead of POST)"
12161
+ "help": "要更新的文章 id。部分更新:只提交本次给出的参数(标题/正文/标签/封面等),没给的字段不随请求发送,保持原值;发布状态也只在显式传 --published 时才改"
12129
12162
  }
12130
12163
  ],
12131
12164
  "columns": [
@@ -14340,6 +14373,190 @@
14340
14373
  "sourceFile": "douyin/collections.js",
14341
14374
  "navigateBefore": "https://creator.douyin.com"
14342
14375
  },
14376
+ {
14377
+ "site": "douyin",
14378
+ "name": "comment",
14379
+ "description": "发表评论或回复主评论/楼中楼;默认只读预检,--execute 才提交一次并回查",
14380
+ "access": "write",
14381
+ "domain": "www.douyin.com",
14382
+ "strategy": "cookie",
14383
+ "browser": true,
14384
+ "args": [
14385
+ {
14386
+ "name": "aweme_id",
14387
+ "type": "str",
14388
+ "required": true,
14389
+ "positional": true,
14390
+ "help": "作品 ID 或完整链接"
14391
+ },
14392
+ {
14393
+ "name": "text",
14394
+ "type": "str",
14395
+ "required": false,
14396
+ "positional": true,
14397
+ "help": "字面评论内容,最多 500 个 UTF-16 字符;支持 --file",
14398
+ "fromFile": true,
14399
+ "requiredUnlessFile": true
14400
+ },
14401
+ {
14402
+ "name": "parent",
14403
+ "type": "string",
14404
+ "required": false,
14405
+ "help": "回复主评论时传其 cid"
14406
+ },
14407
+ {
14408
+ "name": "reply-to",
14409
+ "type": "string",
14410
+ "required": false,
14411
+ "help": "回复楼中楼的 cid,必须同时传 --parent"
14412
+ },
14413
+ {
14414
+ "name": "cursor",
14415
+ "type": "string",
14416
+ "default": "0",
14417
+ "required": false,
14418
+ "help": "被回复的楼中楼所在页 cursor(来自 replies 输出)"
14419
+ },
14420
+ {
14421
+ "name": "execute",
14422
+ "type": "boolean",
14423
+ "required": false,
14424
+ "help": "实际提交一次;默认仅验证账号、目标和原生提交入口"
14425
+ },
14426
+ {
14427
+ "name": "file",
14428
+ "type": "str",
14429
+ "required": false,
14430
+ "help": "从本机文件读取text(UTF-8),与 <text> 二选一。长正文建议走文件:命令行上只剩短参数,不受 shell 引号 / 换行 / 编码影响",
14431
+ "generatedFileFor": "text"
14432
+ }
14433
+ ],
14434
+ "columns": [
14435
+ "aweme_id",
14436
+ "cid",
14437
+ "text",
14438
+ "parent_id",
14439
+ "reply_to_id",
14440
+ "status"
14441
+ ],
14442
+ "type": "js",
14443
+ "modulePath": "douyin/comment.js",
14444
+ "sourceFile": "douyin/comment.js",
14445
+ "navigateBefore": false
14446
+ },
14447
+ {
14448
+ "site": "douyin",
14449
+ "name": "comment-like",
14450
+ "description": "点赞/取消点赞主评论或楼中楼;默认只读预检,--execute 才提交并回查",
14451
+ "access": "write",
14452
+ "domain": "www.douyin.com",
14453
+ "strategy": "cookie",
14454
+ "browser": true,
14455
+ "args": [
14456
+ {
14457
+ "name": "aweme_id",
14458
+ "type": "str",
14459
+ "required": true,
14460
+ "positional": true,
14461
+ "help": "作品 ID 或完整链接"
14462
+ },
14463
+ {
14464
+ "name": "cid",
14465
+ "type": "str",
14466
+ "required": true,
14467
+ "positional": true,
14468
+ "help": "目标评论 ID"
14469
+ },
14470
+ {
14471
+ "name": "parent",
14472
+ "type": "string",
14473
+ "required": false,
14474
+ "help": "目标为楼中楼时,传主评论 ID"
14475
+ },
14476
+ {
14477
+ "name": "cursor",
14478
+ "type": "string",
14479
+ "default": "0",
14480
+ "required": false,
14481
+ "help": "楼中楼所在页的 cursor(来自 replies 输出)"
14482
+ },
14483
+ {
14484
+ "name": "undo",
14485
+ "type": "boolean",
14486
+ "required": false,
14487
+ "help": "取消点赞"
14488
+ },
14489
+ {
14490
+ "name": "execute",
14491
+ "type": "boolean",
14492
+ "required": false,
14493
+ "help": "实际提交一次,随后回查点赞状态"
14494
+ }
14495
+ ],
14496
+ "columns": [
14497
+ "aweme_id",
14498
+ "cid",
14499
+ "parent_id",
14500
+ "liked",
14501
+ "status"
14502
+ ],
14503
+ "type": "js",
14504
+ "modulePath": "douyin/comment-like.js",
14505
+ "sourceFile": "douyin/comment-like.js",
14506
+ "navigateBefore": false
14507
+ },
14508
+ {
14509
+ "site": "douyin",
14510
+ "name": "comments",
14511
+ "description": "查看作品评论、点赞状态及回复数;使用 next_cursor 翻页",
14512
+ "access": "read",
14513
+ "domain": "www.douyin.com",
14514
+ "strategy": "cookie",
14515
+ "browser": true,
14516
+ "args": [
14517
+ {
14518
+ "name": "aweme_id",
14519
+ "type": "str",
14520
+ "required": true,
14521
+ "positional": true,
14522
+ "help": "作品 ID 或抖音作品完整链接"
14523
+ },
14524
+ {
14525
+ "name": "limit",
14526
+ "type": "int",
14527
+ "default": 20,
14528
+ "required": false,
14529
+ "help": "每页数量,1–20"
14530
+ },
14531
+ {
14532
+ "name": "cursor",
14533
+ "type": "string",
14534
+ "default": "0",
14535
+ "required": false,
14536
+ "help": "上一页 next_cursor,首次为 0"
14537
+ }
14538
+ ],
14539
+ "columns": [
14540
+ "cid",
14541
+ "aweme_id",
14542
+ "text",
14543
+ "nickname",
14544
+ "uid",
14545
+ "digg_count",
14546
+ "liked",
14547
+ "reply_count",
14548
+ "parent_id",
14549
+ "reply_to_id",
14550
+ "create_time",
14551
+ "cursor",
14552
+ "next_cursor",
14553
+ "has_more"
14554
+ ],
14555
+ "type": "js",
14556
+ "modulePath": "douyin/comments.js",
14557
+ "sourceFile": "douyin/comments.js",
14558
+ "navigateBefore": false
14559
+ },
14343
14560
  {
14344
14561
  "site": "douyin",
14345
14562
  "name": "delete",
@@ -15157,6 +15374,65 @@
15157
15374
  "navigateBefore": false,
15158
15375
  "defaultWindowMode": "foreground"
15159
15376
  },
15377
+ {
15378
+ "site": "douyin",
15379
+ "name": "replies",
15380
+ "description": "查看主评论下的楼中楼,含回复目标 ID;使用 next_cursor 翻页",
15381
+ "access": "read",
15382
+ "domain": "www.douyin.com",
15383
+ "strategy": "cookie",
15384
+ "browser": true,
15385
+ "args": [
15386
+ {
15387
+ "name": "aweme_id",
15388
+ "type": "str",
15389
+ "required": true,
15390
+ "positional": true,
15391
+ "help": "作品 ID 或抖音作品完整链接"
15392
+ },
15393
+ {
15394
+ "name": "cid",
15395
+ "type": "str",
15396
+ "required": true,
15397
+ "positional": true,
15398
+ "help": "主评论 ID(comments 输出的 cid)"
15399
+ },
15400
+ {
15401
+ "name": "limit",
15402
+ "type": "int",
15403
+ "default": 20,
15404
+ "required": false,
15405
+ "help": "每页数量,1–20"
15406
+ },
15407
+ {
15408
+ "name": "cursor",
15409
+ "type": "string",
15410
+ "default": "0",
15411
+ "required": false,
15412
+ "help": "上一页 next_cursor,首次为 0"
15413
+ }
15414
+ ],
15415
+ "columns": [
15416
+ "cid",
15417
+ "aweme_id",
15418
+ "text",
15419
+ "nickname",
15420
+ "uid",
15421
+ "digg_count",
15422
+ "liked",
15423
+ "reply_count",
15424
+ "parent_id",
15425
+ "reply_to_id",
15426
+ "create_time",
15427
+ "cursor",
15428
+ "next_cursor",
15429
+ "has_more"
15430
+ ],
15431
+ "type": "js",
15432
+ "modulePath": "douyin/comments.js",
15433
+ "sourceFile": "douyin/comments.js",
15434
+ "navigateBefore": false
15435
+ },
15160
15436
  {
15161
15437
  "site": "douyin",
15162
15438
  "name": "search",
@@ -15324,7 +15600,7 @@
15324
15600
  {
15325
15601
  "site": "douyin",
15326
15602
  "name": "videos",
15327
- "description": "获取作品列表",
15603
+ "description": "获取作品列表(--status scheduled 列出尚未发出的定时稿及其计划发布时间)",
15328
15604
  "access": "read",
15329
15605
  "domain": "creator.douyin.com",
15330
15606
  "strategy": "cookie",
@@ -15362,6 +15638,7 @@
15362
15638
  "aweme_id",
15363
15639
  "title",
15364
15640
  "status",
15641
+ "scheduled_time",
15365
15642
  "play_count",
15366
15643
  "digg_count",
15367
15644
  "create_time"
@@ -22776,7 +23053,7 @@
22776
23053
  {
22777
23054
  "site": "jike",
22778
23055
  "name": "like",
22779
- "description": "点赞即刻帖子(走即刻内部 API,不依赖页面渲染)",
23056
+ "description": "点赞即刻动态或转发(走即刻内部 API,不依赖页面渲染);回执带最终的点赞状态",
22780
23057
  "access": "write",
22781
23058
  "domain": "web.okjike.com",
22782
23059
  "strategy": "cookie",
@@ -22787,7 +23064,7 @@
22787
23064
  "type": "string",
22788
23065
  "required": true,
22789
23066
  "positional": true,
22790
- "help": "帖子 ID"
23067
+ "help": "帖子 ID(动态或转发的完整 24 位 ID)"
22791
23068
  },
22792
23069
  {
22793
23070
  "name": "undo",
@@ -22798,7 +23075,10 @@
22798
23075
  ],
22799
23076
  "columns": [
22800
23077
  "status",
22801
- "message"
23078
+ "message",
23079
+ "liked",
23080
+ "likes",
23081
+ "type"
22802
23082
  ],
22803
23083
  "type": "js",
22804
23084
  "modulePath": "jike/like.js",
@@ -22840,7 +23120,7 @@
22840
23120
  {
22841
23121
  "site": "jike",
22842
23122
  "name": "notifications",
22843
- "description": "即刻通知",
23123
+ "description": "即刻通知(content = 对方评论/回复的正文,reference = 被作用的我方内容;post_id / comment_id 可直接用于回查与回复)",
22844
23124
  "access": "read",
22845
23125
  "domain": "web.okjike.com",
22846
23126
  "strategy": "cookie",
@@ -22858,7 +23138,11 @@
22858
23138
  "type",
22859
23139
  "user",
22860
23140
  "content",
22861
- "time"
23141
+ "time",
23142
+ "reference",
23143
+ "post_id",
23144
+ "comment_id",
23145
+ "kind"
22862
23146
  ],
22863
23147
  "type": "js",
22864
23148
  "modulePath": "jike/notifications.js",
@@ -22868,7 +23152,7 @@
22868
23152
  {
22869
23153
  "site": "jike",
22870
23154
  "name": "post",
22871
- "description": "即刻帖子详情及评论",
23155
+ "description": "即刻帖子详情及评论(post 行的 liked = 当前账号是否已赞;未登录或读不到时为空)",
22872
23156
  "access": "read",
22873
23157
  "domain": "m.okjike.com",
22874
23158
  "strategy": "cookie",
@@ -22887,6 +23171,7 @@
22887
23171
  "author",
22888
23172
  "content",
22889
23173
  "likes",
23174
+ "liked",
22890
23175
  "time"
22891
23176
  ],
22892
23177
  "type": "js",
@@ -22987,7 +23272,7 @@
22987
23272
  "type": "string",
22988
23273
  "required": true,
22989
23274
  "positional": true,
22990
- "help": "Topic ID (from topic URL, e.g. 553870e8e4b0cafb0a1bef68)"
23275
+ "help": "Topic ID (from topic URL, e.g. 553870e8e4b0cafb0a1bef68; find one by name with `jike topics <keyword>`)"
22991
23276
  },
22992
23277
  {
22993
23278
  "name": "limit",
@@ -22998,19 +23283,58 @@
22998
23283
  }
22999
23284
  ],
23000
23285
  "columns": [
23286
+ "id",
23001
23287
  "content",
23002
23288
  "author",
23003
23289
  "likes",
23004
23290
  "comments",
23005
23291
  "time",
23006
- "url",
23007
- "id"
23292
+ "url"
23008
23293
  ],
23009
23294
  "type": "js",
23010
23295
  "modulePath": "jike/topic.js",
23011
23296
  "sourceFile": "jike/topic.js",
23012
23297
  "navigateBefore": "https://web.okjike.com"
23013
23298
  },
23299
+ {
23300
+ "site": "jike",
23301
+ "name": "topics",
23302
+ "description": "找即刻圈子:带关键词按名字搜(仅返回可发帖的圈子),不带关键词列出我关注的圈子;输出的 id 可直接传给 topic",
23303
+ "access": "read",
23304
+ "example": "ppcli jike topics 求职 -f json",
23305
+ "domain": "web.okjike.com",
23306
+ "strategy": "cookie",
23307
+ "browser": true,
23308
+ "args": [
23309
+ {
23310
+ "name": "query",
23311
+ "type": "string",
23312
+ "required": false,
23313
+ "positional": true,
23314
+ "help": "圈子名关键词;不传则列出我关注的圈子"
23315
+ },
23316
+ {
23317
+ "name": "limit",
23318
+ "type": "int",
23319
+ "default": 20,
23320
+ "required": false,
23321
+ "help": "最多返回多少个圈子(按名字搜时官网接口单次最多 20 个)"
23322
+ }
23323
+ ],
23324
+ "columns": [
23325
+ "id",
23326
+ "name",
23327
+ "subscribers",
23328
+ "intro",
23329
+ "postable",
23330
+ "subscribed",
23331
+ "url"
23332
+ ],
23333
+ "type": "js",
23334
+ "modulePath": "jike/topics.js",
23335
+ "sourceFile": "jike/topics.js",
23336
+ "navigateBefore": "https://web.okjike.com"
23337
+ },
23014
23338
  {
23015
23339
  "site": "jike",
23016
23340
  "name": "user",
@@ -29993,7 +30317,12 @@
29993
30317
  "columns": [
29994
30318
  "post_id",
29995
30319
  "kind",
29996
- "status"
30320
+ "status",
30321
+ "comment_id",
30322
+ "stored_content",
30323
+ "content_altered",
30324
+ "uid",
30325
+ "url"
29997
30326
  ],
29998
30327
  "type": "js",
29999
30328
  "modulePath": "nowcoder/comment.js",
@@ -30014,7 +30343,7 @@
30014
30343
  "type": "str",
30015
30344
  "required": true,
30016
30345
  "positional": true,
30017
- "help": "帖子 id(数字 momentId / UUID / 链接均可)"
30346
+ "help": "帖子 id(18 位讨论帖 id / 动态 uuid / 7 位 momentId / 链接均可)"
30018
30347
  },
30019
30348
  {
30020
30349
  "name": "page",
@@ -30028,7 +30357,13 @@
30028
30357
  "comment_id",
30029
30358
  "user_id",
30030
30359
  "nickname",
30031
- "content"
30360
+ "content",
30361
+ "to_comment_id",
30362
+ "likes",
30363
+ "replies",
30364
+ "time",
30365
+ "total",
30366
+ "total_all"
30032
30367
  ],
30033
30368
  "type": "js",
30034
30369
  "modulePath": "nowcoder/comments.js",
@@ -30120,7 +30455,7 @@
30120
30455
  {
30121
30456
  "site": "nowcoder",
30122
30457
  "name": "detail",
30123
- "description": "Post detail view (supports ID / UUID / URL)",
30458
+ "description": "帖子详情(18 位讨论帖 id / 动态 uuid / 帖子链接)",
30124
30459
  "access": "read",
30125
30460
  "domain": "www.nowcoder.com",
30126
30461
  "strategy": "cookie",
@@ -30131,7 +30466,7 @@
30131
30466
  "type": "str",
30132
30467
  "required": true,
30133
30468
  "positional": true,
30134
- "help": "Post ID, UUID, or URL"
30469
+ "help": "18 位讨论帖 id、动态 uuid 或帖子链接(7 位 momentId 查不了详情)"
30135
30470
  }
30136
30471
  ],
30137
30472
  "columns": [
@@ -30143,7 +30478,13 @@
30143
30478
  "comments",
30144
30479
  "views",
30145
30480
  "time",
30146
- "location"
30481
+ "location",
30482
+ "id",
30483
+ "uuid",
30484
+ "entity_type",
30485
+ "author_id",
30486
+ "liked",
30487
+ "url"
30147
30488
  ],
30148
30489
  "type": "js",
30149
30490
  "modulePath": "nowcoder/detail.js",
@@ -30174,7 +30515,8 @@
30174
30515
  "last_content",
30175
30516
  "unread",
30176
30517
  "allow_send",
30177
- "is_official"
30518
+ "is_official",
30519
+ "uid"
30178
30520
  ],
30179
30521
  "type": "js",
30180
30522
  "modulePath": "nowcoder/dm-list.js",
@@ -30298,7 +30640,7 @@
30298
30640
  {
30299
30641
  "site": "nowcoder",
30300
30642
  "name": "experience",
30301
- "description": "Interview experience posts",
30643
+ "description": "Interview experience posts (每页固定 20 条)",
30302
30644
  "access": "read",
30303
30645
  "domain": "www.nowcoder.com",
30304
30646
  "strategy": "cookie",
@@ -30309,14 +30651,14 @@
30309
30651
  "type": "int",
30310
30652
  "default": 1,
30311
30653
  "required": false,
30312
- "help": "Page number"
30654
+ "help": "Page number (每页固定 20 条)"
30313
30655
  },
30314
30656
  {
30315
30657
  "name": "limit",
30316
30658
  "type": "int",
30317
- "default": 15,
30659
+ "default": 20,
30318
30660
  "required": false,
30319
- "help": "Number of items"
30661
+ "help": "只取本页前 N 条(1-20)"
30320
30662
  }
30321
30663
  ],
30322
30664
  "columns": [
@@ -30327,7 +30669,13 @@
30327
30669
  "likes",
30328
30670
  "comments",
30329
30671
  "views",
30330
- "id"
30672
+ "id",
30673
+ "momentId",
30674
+ "uuid",
30675
+ "entityType",
30676
+ "url",
30677
+ "time",
30678
+ "content"
30331
30679
  ],
30332
30680
  "type": "js",
30333
30681
  "modulePath": "nowcoder/experience.js",
@@ -30383,7 +30731,12 @@
30383
30731
  "from_nickname",
30384
30732
  "reply_content",
30385
30733
  "reply_comment_id",
30386
- "quoted_ours",
30734
+ "our_comment_id",
30735
+ "our_comment",
30736
+ "post_id",
30737
+ "post_entity_type",
30738
+ "post_title",
30739
+ "post_quote",
30387
30740
  "url",
30388
30741
  "time"
30389
30742
  ],
@@ -30413,7 +30766,7 @@
30413
30766
  {
30414
30767
  "site": "nowcoder",
30415
30768
  "name": "like",
30416
- "description": "点赞帖子(toggle,再次调用取消;有频控,务必低频)",
30769
+ "description": "点赞帖子(幂等:已赞不重复操作;--undo 取消赞;有频控,务必低频)",
30417
30770
  "access": "write",
30418
30771
  "domain": "www.nowcoder.com",
30419
30772
  "strategy": "cookie",
@@ -30424,19 +30777,60 @@
30424
30777
  "type": "str",
30425
30778
  "required": true,
30426
30779
  "positional": true,
30427
- "help": "帖子 id(数字 momentId / UUID / 链接均可)"
30780
+ "help": "帖子 id(18 位讨论帖 id / 动态 uuid / 帖子链接 / 7 位 momentId;momentId 读不到当前状态,不判重也不回读)"
30781
+ },
30782
+ {
30783
+ "name": "undo",
30784
+ "type": "boolean",
30785
+ "default": false,
30786
+ "required": false,
30787
+ "help": "取消赞(默认是确保已赞)"
30428
30788
  }
30429
30789
  ],
30430
30790
  "columns": [
30431
30791
  "post_id",
30432
30792
  "status",
30433
- "like_count"
30793
+ "liked",
30794
+ "confirmed",
30795
+ "like_count",
30796
+ "uid",
30797
+ "url",
30798
+ "note"
30434
30799
  ],
30435
30800
  "type": "js",
30436
30801
  "modulePath": "nowcoder/like.js",
30437
30802
  "sourceFile": "nowcoder/like.js",
30438
30803
  "navigateBefore": "https://www.nowcoder.com"
30439
30804
  },
30805
+ {
30806
+ "site": "nowcoder",
30807
+ "name": "like-status",
30808
+ "description": "查某帖当前账号是否已赞(只读)",
30809
+ "access": "read",
30810
+ "domain": "www.nowcoder.com",
30811
+ "strategy": "cookie",
30812
+ "browser": true,
30813
+ "args": [
30814
+ {
30815
+ "name": "id",
30816
+ "type": "str",
30817
+ "required": true,
30818
+ "positional": true,
30819
+ "help": "帖子 id(18 位讨论帖 id / 动态 uuid / 帖子链接)"
30820
+ }
30821
+ ],
30822
+ "columns": [
30823
+ "post_id",
30824
+ "liked",
30825
+ "like_count",
30826
+ "uid",
30827
+ "url"
30828
+ ],
30829
+ "type": "js",
30830
+ "modulePath": "nowcoder/like-status.js",
30831
+ "sourceFile": "nowcoder/like-status.js",
30832
+ "navigateBefore": "https://www.nowcoder.com"
30833
+ },
30440
30834
  {
30441
30835
  "site": "nowcoder",
30442
30836
  "name": "login",
@@ -30494,7 +30888,11 @@
30494
30888
  "views",
30495
30889
  "likes",
30496
30890
  "comments",
30497
- "created_at"
30891
+ "created_at",
30892
+ "uuid",
30893
+ "entity_type",
30894
+ "uid",
30895
+ "total"
30498
30896
  ],
30499
30897
  "type": "js",
30500
30898
  "modulePath": "nowcoder/my.js",
@@ -30504,7 +30902,7 @@
30504
30902
  {
30505
30903
  "site": "nowcoder",
30506
30904
  "name": "notifications",
30507
- "description": "Unread message summary",
30905
+ "description": "未读消息汇总(分类未读 + 导航栏红点总数,后者含系统通知)",
30508
30906
  "access": "read",
30509
30907
  "domain": "www.nowcoder.com",
30510
30908
  "strategy": "cookie",
@@ -30512,7 +30910,9 @@
30512
30910
  "args": [],
30513
30911
  "columns": [
30514
30912
  "type",
30515
- "unread"
30913
+ "unread",
30914
+ "source",
30915
+ "uid"
30516
30916
  ],
30517
30917
  "type": "js",
30518
30918
  "modulePath": "nowcoder/notifications.js",
@@ -30597,7 +30997,8 @@
30597
30997
  "columns": [
30598
30998
  "moment_id",
30599
30999
  "content_id",
30600
- "url"
31000
+ "url",
31001
+ "uid"
30601
31002
  ],
30602
31003
  "type": "js",
30603
31004
  "modulePath": "nowcoder/post.js",
@@ -30674,8 +31075,11 @@
30674
31075
  "content",
30675
31076
  "id",
30676
31077
  "momentId",
31078
+ "uuid",
30677
31079
  "userId",
30678
- "entityType"
31080
+ "entityType",
31081
+ "url",
31082
+ "time"
30679
31083
  ],
30680
31084
  "type": "js",
30681
31085
  "modulePath": "nowcoder/recommend.js",
@@ -30796,7 +31200,14 @@
30796
31200
  "author",
30797
31201
  "school",
30798
31202
  "content",
30799
- "id"
31203
+ "id",
31204
+ "momentId",
31205
+ "uuid",
31206
+ "entityType",
31207
+ "url",
31208
+ "likes",
31209
+ "comments",
31210
+ "time"
30800
31211
  ],
30801
31212
  "type": "js",
30802
31213
  "modulePath": "nowcoder/search.js",
@@ -33862,11 +34273,18 @@
33862
34273
  "strategy": "cookie",
33863
34274
  "browser": true,
33864
34275
  "args": [
34276
+ {
34277
+ "name": "target",
34278
+ "type": "string",
34279
+ "required": false,
34280
+ "positional": true,
34281
+ "help": "Article URL (https://qiita.com/<urlName>/items/<uuid>) or draft URL (https://qiita.com/drafts/<uuid>); same as --url"
34282
+ },
33865
34283
  {
33866
34284
  "name": "url",
33867
34285
  "type": "string",
33868
34286
  "required": false,
33869
- "help": "Article URL (e.g. https://qiita.com/<urlName>/items/<uuid>) or draft URL (https://qiita.com/drafts/<uuid>)"
34287
+ "help": "Article or draft URL (alternative to the positional argument)"
33870
34288
  }
33871
34289
  ],
33872
34290
  "columns": [
@@ -34833,6 +35251,7 @@
34833
35251
  "author",
34834
35252
  "content",
34835
35253
  "upvotes",
35254
+ "upvoted",
34836
35255
  "comments",
34837
35256
  "shares",
34838
35257
  "published",
@@ -35104,7 +35523,7 @@
35104
35523
  {
35105
35524
  "site": "quora",
35106
35525
  "name": "question",
35107
- "description": "Read a Quora question and its visible answers, including engagement metrics.",
35526
+ "description": "Read a Quora question: its own answer count and answers with engagement metrics. Answers to other (related) questions are excluded unless --related is set.",
35108
35527
  "access": "read",
35109
35528
  "domain": "www.quora.com",
35110
35529
  "strategy": "cookie",
@@ -35123,11 +35542,19 @@
35123
35542
  "default": 10,
35124
35543
  "required": false,
35125
35544
  "help": "Number of answers (max 50)"
35545
+ },
35546
+ {
35547
+ "name": "related",
35548
+ "type": "boolean",
35549
+ "required": false,
35550
+ "help": "Also list answers Quora recommends from other, related questions (type=related)"
35126
35551
  }
35127
35552
  ],
35128
35553
  "columns": [
35129
35554
  "rank",
35555
+ "type",
35130
35556
  "question",
35557
+ "answers",
35131
35558
  "author",
35132
35559
  "excerpt",
35133
35560
  "upvotes",
@@ -35243,6 +35670,8 @@
35243
35670
  "outcome",
35244
35671
  "targetType",
35245
35672
  "target",
35673
+ "upvotesBefore",
35674
+ "upvotesAfter",
35246
35675
  "message"
35247
35676
  ],
35248
35677
  "type": "js",
@@ -36173,6 +36602,12 @@
36173
36602
  "default": 15,
36174
36603
  "required": false,
36175
36604
  "help": ""
36605
+ },
36606
+ {
36607
+ "name": "max-length",
36608
+ "type": "int",
36609
+ "required": false,
36610
+ "help": "Max characters of selftext per result (0 = omit the body; default: full body)"
36176
36611
  }
36177
36612
  ],
36178
36613
  "columns": [
@@ -36319,6 +36754,12 @@
36319
36754
  "default": 15,
36320
36755
  "required": false,
36321
36756
  "help": ""
36757
+ },
36758
+ {
36759
+ "name": "max-length",
36760
+ "type": "int",
36761
+ "required": false,
36762
+ "help": "Max characters of selftext per post (0 = omit the body; default: full body)"
36322
36763
  }
36323
36764
  ],
36324
36765
  "columns": [
@@ -36367,6 +36808,36 @@
36367
36808
  "sourceFile": "reddit/subreddit-info.js",
36368
36809
  "navigateBefore": "https://reddit.com"
36369
36810
  },
36811
+ {
36812
+ "site": "reddit",
36813
+ "name": "subreddit-rules",
36814
+ "description": "List the posting rules of a subreddit (read these before posting or commenting there)",
36815
+ "access": "read",
36816
+ "domain": "reddit.com",
36817
+ "strategy": "cookie",
36818
+ "browser": true,
36819
+ "args": [
36820
+ {
36821
+ "name": "name",
36822
+ "type": "string",
36823
+ "required": true,
36824
+ "positional": true,
36825
+ "help": "Subreddit name (no `r/` prefix needed)"
36826
+ }
36827
+ ],
36828
+ "columns": [
36829
+ "rank",
36830
+ "short_name",
36831
+ "kind",
36832
+ "description",
36833
+ "violation_reason",
36834
+ "created_utc"
36835
+ ],
36836
+ "type": "js",
36837
+ "modulePath": "reddit/subreddit-rules.js",
36838
+ "sourceFile": "reddit/subreddit-rules.js",
36839
+ "navigateBefore": "https://reddit.com"
36840
+ },
36370
36841
  {
36371
36842
  "site": "reddit",
36372
36843
  "name": "subscribe",
@@ -36456,7 +36927,11 @@
36456
36927
  ],
36457
36928
  "columns": [
36458
36929
  "status",
36459
- "message"
36930
+ "message",
36931
+ "target",
36932
+ "direction",
36933
+ "vote_state",
36934
+ "score"
36460
36935
  ],
36461
36936
  "type": "js",
36462
36937
  "modulePath": "reddit/upvote.js",
@@ -36543,10 +37018,14 @@
36543
37018
  }
36544
37019
  ],
36545
37020
  "columns": [
37021
+ "id",
36546
37022
  "subreddit",
36547
37023
  "score",
36548
37024
  "body",
36549
- "url"
37025
+ "url",
37026
+ "link_id",
37027
+ "created_utc",
37028
+ "removed_by_category"
36550
37029
  ],
36551
37030
  "type": "js",
36552
37031
  "modulePath": "reddit/user-comments.js",
@@ -47329,7 +47808,7 @@
47329
47808
  "name": "title",
47330
47809
  "type": "str",
47331
47810
  "required": false,
47332
- "help": "短标题(建议 6-16 字)"
47811
+ "help": "短标题(6-16 字;只能用中文/字母/数字/空格和 《》“”:+?% ℃,逗号请用空格代替)"
47333
47812
  },
47334
47813
  {
47335
47814
  "name": "caption",
@@ -47342,14 +47821,14 @@
47342
47821
  "name": "schedule",
47343
47822
  "type": "str",
47344
47823
  "required": false,
47345
- "help": "定时发布时间(ISO8601 或 Unix 秒,如 \"2026-05-20 10:00\")"
47824
+ "help": "定时发布时间(ISO8601 或 Unix 秒,如 \"2026-05-20 10:00\",精确到分钟;不能与 --draft 同用)"
47346
47825
  },
47347
47826
  {
47348
47827
  "name": "draft",
47349
47828
  "type": "bool",
47350
47829
  "default": false,
47351
47830
  "required": false,
47352
- "help": "保存为草稿"
47831
+ "help": "保存为草稿(平台不允许定时稿存草稿)"
47353
47832
  },
47354
47833
  {
47355
47834
  "name": "manual",
@@ -47376,7 +47855,9 @@
47376
47855
  "columns": [
47377
47856
  "status",
47378
47857
  "title",
47379
- "detail"
47858
+ "detail",
47859
+ "id",
47860
+ "manage_url"
47380
47861
  ],
47381
47862
  "type": "js",
47382
47863
  "modulePath": "wechat-channels/publish.js",
@@ -51255,6 +51736,120 @@
51255
51736
  "sourceFile": "xiaohongshu/collections.js",
51256
51737
  "navigateBefore": false
51257
51738
  },
51739
+ {
51740
+ "site": "xiaohongshu",
51741
+ "name": "comment",
51742
+ "description": "发布小红书评论或定向回复;默认验证草稿,--execute 才发送",
51743
+ "access": "write",
51744
+ "domain": "www.xiaohongshu.com",
51745
+ "strategy": "cookie",
51746
+ "browser": true,
51747
+ "args": [
51748
+ {
51749
+ "name": "note-id",
51750
+ "type": "str",
51751
+ "required": true,
51752
+ "positional": true,
51753
+ "help": "Full signed note URL with xsec_token"
51754
+ },
51755
+ {
51756
+ "name": "text",
51757
+ "type": "str",
51758
+ "required": true,
51759
+ "positional": true,
51760
+ "help": "Exact plain-text comment"
51761
+ },
51762
+ {
51763
+ "name": "reply-to",
51764
+ "type": "str",
51765
+ "required": false,
51766
+ "help": "Exact comment ID to reply to, including a nested reply"
51767
+ },
51768
+ {
51769
+ "name": "root-id",
51770
+ "type": "str",
51771
+ "required": false,
51772
+ "help": "Top-level root_id from comments; use when targeting a nested reply"
51773
+ },
51774
+ {
51775
+ "name": "execute",
51776
+ "type": "boolean",
51777
+ "default": false,
51778
+ "required": false,
51779
+ "help": "Submit after verification (default: dry-run only)"
51780
+ }
51781
+ ],
51782
+ "columns": [
51783
+ "status",
51784
+ "note_id",
51785
+ "id",
51786
+ "root_id",
51787
+ "parent_id",
51788
+ "text",
51789
+ "url"
51790
+ ],
51791
+ "type": "js",
51792
+ "modulePath": "xiaohongshu/comment.js",
51793
+ "sourceFile": "xiaohongshu/comment.js",
51794
+ "navigateBefore": false
51795
+ },
51796
+ {
51797
+ "site": "xiaohongshu",
51798
+ "name": "comment-like",
51799
+ "description": "点赞/取消点赞小红书评论(含楼中楼);默认 dry-run,--execute 才操作",
51800
+ "access": "write",
51801
+ "domain": "www.xiaohongshu.com",
51802
+ "strategy": "cookie",
51803
+ "browser": true,
51804
+ "args": [
51805
+ {
51806
+ "name": "note-id",
51807
+ "type": "str",
51808
+ "required": true,
51809
+ "positional": true,
51810
+ "help": "Full signed note URL with xsec_token"
51811
+ },
51812
+ {
51813
+ "name": "comment-id",
51814
+ "type": "str",
51815
+ "required": true,
51816
+ "positional": true,
51817
+ "help": "Exact comment ID from comments/replies"
51818
+ },
51819
+ {
51820
+ "name": "undo",
51821
+ "type": "boolean",
51822
+ "default": false,
51823
+ "required": false,
51824
+ "help": "Ensure the comment is not liked"
51825
+ },
51826
+ {
51827
+ "name": "root-id",
51828
+ "type": "str",
51829
+ "required": false,
51830
+ "help": "Top-level root_id from comments; use when targeting a nested reply"
51831
+ },
51832
+ {
51833
+ "name": "execute",
51834
+ "type": "boolean",
51835
+ "default": false,
51836
+ "required": false,
51837
+ "help": "Submit after verification (default: dry-run only)"
51838
+ }
51839
+ ],
51840
+ "columns": [
51841
+ "status",
51842
+ "note_id",
51843
+ "id",
51844
+ "root_id",
51845
+ "liked",
51846
+ "url"
51847
+ ],
51848
+ "type": "js",
51849
+ "modulePath": "xiaohongshu/comment-like.js",
51850
+ "sourceFile": "xiaohongshu/comment-like.js",
51851
+ "navigateBefore": false
51852
+ },
51258
51853
  {
51259
51854
  "site": "xiaohongshu",
51260
51855
  "name": "comments",
@@ -51288,14 +51883,20 @@
51288
51883
  ],
51289
51884
  "columns": [
51290
51885
  "rank",
51886
+ "id",
51887
+ "root_id",
51888
+ "parent_id",
51291
51889
  "author",
51292
51890
  "userId",
51293
51891
  "profileUrl",
51294
51892
  "text",
51295
51893
  "likes",
51894
+ "liked",
51296
51895
  "time",
51297
51896
  "is_reply",
51298
51897
  "reply_to",
51898
+ "reply_count",
51899
+ "replies_complete",
51299
51900
  "images"
51300
51901
  ],
51301
51902
  "type": "js",
@@ -51346,18 +51947,34 @@
51346
51947
  "default": 20,
51347
51948
  "required": false,
51348
51949
  "help": "Number of notes to return"
51950
+ },
51951
+ {
51952
+ "name": "status",
51953
+ "type": "str",
51954
+ "default": "all",
51955
+ "required": false,
51956
+ "help": "按状态筛选:all 全部(默认,含审核中/未通过) / published 已发布 / reviewing 审核中 / rejected 未通过",
51957
+ "choices": [
51958
+ "all",
51959
+ "published",
51960
+ "reviewing",
51961
+ "rejected"
51962
+ ]
51349
51963
  }
51350
51964
  ],
51351
51965
  "columns": [
51352
51966
  "rank",
51353
51967
  "id",
51354
51968
  "title",
51969
+ "status",
51355
51970
  "date",
51356
51971
  "views",
51357
51972
  "likes",
51358
51973
  "collects",
51359
51974
  "comments",
51360
- "url"
51975
+ "shares",
51976
+ "url",
51977
+ "note_url"
51361
51978
  ],
51362
51979
  "type": "js",
51363
51980
  "modulePath": "xiaohongshu/creator-notes-summary.js",
@@ -51460,7 +52077,7 @@
51460
52077
  {
51461
52078
  "site": "xiaohongshu",
51462
52079
  "name": "delete-note",
51463
- "description": "删除小红书已发布笔记 (creator center UI automation)",
52080
+ "description": "删除小红书笔记 (creator center UI automation)",
51464
52081
  "access": "write",
51465
52082
  "domain": "creator.xiaohongshu.com",
51466
52083
  "strategy": "cookie",
@@ -51594,6 +52211,7 @@
51594
52211
  ],
51595
52212
  "columns": [
51596
52213
  "status",
52214
+ "dry_run",
51597
52215
  "id",
51598
52216
  "type",
51599
52217
  "message"
@@ -51949,7 +52567,7 @@
51949
52567
  "name": "images",
51950
52568
  "type": "str",
51951
52569
  "required": false,
51952
- "help": "图片路径,逗号分隔,最多9张 (jpg/png/gif/webp)"
52570
+ "help": "图片路径,逗号分隔,最多18张 (jpg/png/gif/webp)"
51953
52571
  },
51954
52572
  {
51955
52573
  "name": "card-text",
@@ -52307,6 +52925,107 @@
52307
52925
  "sourceFile": "xiaohongshu/publish-video.js",
52308
52926
  "navigateBefore": false
52309
52927
  },
52928
+ {
52929
+ "site": "xiaohongshu",
52930
+ "name": "replies",
52931
+ "description": "读取指定主评论下的楼中楼,返回精确回复关系与加载完整性",
52932
+ "access": "read",
52933
+ "domain": "www.xiaohongshu.com",
52934
+ "strategy": "cookie",
52935
+ "browser": true,
52936
+ "args": [
52937
+ {
52938
+ "name": "note-id",
52939
+ "type": "str",
52940
+ "required": true,
52941
+ "positional": true,
52942
+ "help": "Full signed note URL with xsec_token"
52943
+ },
52944
+ {
52945
+ "name": "root-id",
52946
+ "type": "str",
52947
+ "required": true,
52948
+ "positional": true,
52949
+ "help": "Top-level comment ID from comments"
52950
+ },
52951
+ {
52952
+ "name": "limit",
52953
+ "type": "int",
52954
+ "default": 50,
52955
+ "required": false,
52956
+ "help": "Maximum nested replies to return (1-200)"
52957
+ }
52958
+ ],
52959
+ "columns": [
52960
+ "id",
52961
+ "reply_count",
52962
+ "returned",
52963
+ "complete",
52964
+ "replies"
52965
+ ],
52966
+ "type": "js",
52967
+ "modulePath": "xiaohongshu/replies.js",
52968
+ "sourceFile": "xiaohongshu/replies.js",
52969
+ "navigateBefore": false
52970
+ },
52971
+ {
52972
+ "site": "xiaohongshu",
52973
+ "name": "reply",
52974
+ "description": "回复指定小红书评论(含楼中楼);默认 dry-run,--execute 才发送",
52975
+ "access": "write",
52976
+ "domain": "www.xiaohongshu.com",
52977
+ "strategy": "cookie",
52978
+ "browser": true,
52979
+ "args": [
52980
+ {
52981
+ "name": "note-id",
52982
+ "type": "str",
52983
+ "required": true,
52984
+ "positional": true,
52985
+ "help": "Full signed note URL with xsec_token"
52986
+ },
52987
+ {
52988
+ "name": "comment-id",
52989
+ "type": "str",
52990
+ "required": true,
52991
+ "positional": true,
52992
+ "help": "Exact comment ID from comments/replies"
52993
+ },
52994
+ {
52995
+ "name": "text",
52996
+ "type": "str",
52997
+ "required": true,
52998
+ "positional": true,
52999
+ "help": "Exact plain-text reply"
53000
+ },
53001
+ {
53002
+ "name": "root-id",
53003
+ "type": "str",
53004
+ "required": false,
53005
+ "help": "Top-level root_id from comments; use when targeting a nested reply"
53006
+ },
53007
+ {
53008
+ "name": "execute",
53009
+ "type": "boolean",
53010
+ "default": false,
53011
+ "required": false,
53012
+ "help": "Submit after verification (default: dry-run only)"
53013
+ }
53014
+ ],
53015
+ "columns": [
53016
+ "status",
53017
+ "note_id",
53018
+ "id",
53019
+ "root_id",
53020
+ "parent_id",
53021
+ "text",
53022
+ "url"
53023
+ ],
53024
+ "type": "js",
53025
+ "modulePath": "xiaohongshu/reply.js",
53026
+ "sourceFile": "xiaohongshu/reply.js",
53027
+ "navigateBefore": false
53028
+ },
52310
53029
  {
52311
53030
  "site": "xiaohongshu",
52312
53031
  "name": "saved",
@@ -54396,7 +55115,7 @@
54396
55115
  "type": "str",
54397
55116
  "required": true,
54398
55117
  "positional": true,
54399
- "help": "Video file path"
55118
+ "help": "Video file path(仅支持单个视频文件;不支持图片 / 图文)"
54400
55119
  },
54401
55120
  {
54402
55121
  "name": "title",
@@ -55180,14 +55899,25 @@
55180
55899
  "type": "int",
55181
55900
  "default": 20,
55182
55901
  "required": false,
55183
- "help": "Number of top-level comments (max 1000)"
55902
+ "help": "Number of top-level comments (max 1000); with --sort newest it counts every row, replies included"
55184
55903
  },
55185
55904
  {
55186
55905
  "name": "replies-limit",
55187
55906
  "type": "int",
55188
55907
  "default": 3,
55189
55908
  "required": false,
55190
- "help": "Number of replies to include per top-level comment (max 100)"
55909
+ "help": "Number of replies to include per top-level comment (max 100); ignored with --sort newest"
55910
+ },
55911
+ {
55912
+ "name": "sort",
55913
+ "type": "str",
55914
+ "default": "default",
55915
+ "required": false,
55916
+ "help": "Comment order: default (Zhihu default order, oldest first) or newest (newest first — use this to read back a comment you just posted)",
55917
+ "choices": [
55918
+ "default",
55919
+ "newest"
55920
+ ]
55191
55921
  }
55192
55922
  ],
55193
55923
  "columns": [
@@ -55202,7 +55932,8 @@
55202
55932
  "likes",
55203
55933
  "created_at",
55204
55934
  "url",
55205
- "content"
55935
+ "content",
55936
+ "total_comments"
55206
55937
  ],
55207
55938
  "type": "js",
55208
55939
  "modulePath": "zhihu/answer-comments.js",
@@ -55243,6 +55974,8 @@
55243
55974
  "url",
55244
55975
  "created_at",
55245
55976
  "updated_at",
55977
+ "image_count",
55978
+ "images",
55246
55979
  "content"
55247
55980
  ],
55248
55981
  "type": "js",
@@ -55406,7 +56139,7 @@
55406
56139
  "type": "str",
55407
56140
  "required": true,
55408
56141
  "positional": true,
55409
- "help": "Zhihu target URL or typed target"
56142
+ "help": "Full Zhihu answer/article URL, or typed target answer:<questionId>:<answerId> / article:<id>. A bare answer id is NOT accepted"
55410
56143
  },
55411
56144
  {
55412
56145
  "name": "text",
@@ -55684,7 +56417,7 @@
55684
56417
  "type": "str",
55685
56418
  "required": true,
55686
56419
  "positional": true,
55687
- "help": "Zhihu target URL or typed target"
56420
+ "help": "Full Zhihu answer/article URL, or typed target answer:<questionId>:<answerId> / article:<id>. A bare answer id is NOT accepted"
55688
56421
  },
55689
56422
  {
55690
56423
  "name": "execute",
@@ -55698,7 +56431,8 @@
55698
56431
  "outcome",
55699
56432
  "message",
55700
56433
  "target_type",
55701
- "target"
56434
+ "target",
56435
+ "question_id"
55702
56436
  ],
55703
56437
  "type": "js",
55704
56438
  "modulePath": "zhihu/like.js",
@@ -55861,7 +56595,11 @@
55861
56595
  "author",
55862
56596
  "votes",
55863
56597
  "url",
55864
- "content"
56598
+ "content",
56599
+ "question_title",
56600
+ "question_answers",
56601
+ "question_followers",
56602
+ "question_views"
55865
56603
  ],
55866
56604
  "type": "js",
55867
56605
  "modulePath": "zhihu/question.js",
@@ -55926,7 +56664,7 @@
55926
56664
  "type": "str",
55927
56665
  "default": "all",
55928
56666
  "required": false,
55929
- "help": "Result type: all, answer, article, or question",
56667
+ "help": "Result type: all, answer, article, or question (question = distinct questions the matching answers belong to; author/votes are blank for question rows)",
55930
56668
  "choices": [
55931
56669
  "all",
55932
56670
  "answer",