@jackwener/opencli 1.0.3 → 1.0.5
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/.github/workflows/build-extension.yml +21 -3
- package/.github/workflows/docs.yml +52 -0
- package/README.md +28 -28
- package/README.zh-CN.md +28 -28
- package/dist/browser/cdp.d.ts +16 -1
- package/dist/browser/cdp.js +124 -80
- package/dist/browser/daemon-client.d.ts +3 -1
- package/dist/browser/daemon-client.js +4 -0
- package/dist/browser/dom-helpers.d.ts +20 -0
- package/dist/browser/dom-helpers.js +109 -0
- package/dist/browser/mcp.d.ts +1 -0
- package/dist/browser/mcp.js +10 -5
- package/dist/browser/page.d.ts +7 -0
- package/dist/browser/page.js +37 -100
- package/dist/browser.test.js +7 -0
- package/dist/build-manifest.js +3 -1
- package/dist/build-manifest.test.js +34 -0
- package/dist/capabilityRouting.d.ts +2 -0
- package/dist/capabilityRouting.js +30 -0
- package/dist/capabilityRouting.test.d.ts +1 -0
- package/dist/capabilityRouting.test.js +42 -0
- package/dist/chaoxing.test.js +11 -4
- package/dist/cli-manifest.json +635 -1
- package/dist/cli.js +48 -8
- package/dist/clis/antigravity/serve.d.ts +14 -0
- package/dist/clis/antigravity/serve.js +263 -0
- package/dist/clis/bilibili/download.js +4 -14
- package/dist/clis/boss/resume.d.ts +1 -0
- package/dist/clis/boss/resume.js +249 -0
- package/dist/clis/hf/top.d.ts +1 -0
- package/dist/clis/hf/top.js +119 -0
- package/dist/clis/jike/comment.d.ts +1 -0
- package/dist/clis/jike/comment.js +107 -0
- package/dist/clis/jike/create.d.ts +1 -0
- package/dist/clis/jike/create.js +106 -0
- package/dist/clis/jike/feed.d.ts +1 -0
- package/dist/clis/jike/feed.js +67 -0
- package/dist/clis/jike/like.d.ts +1 -0
- package/dist/clis/jike/like.js +61 -0
- package/dist/clis/jike/notifications.d.ts +1 -0
- package/dist/clis/jike/notifications.js +169 -0
- package/dist/clis/jike/post.yaml +58 -0
- package/dist/clis/jike/repost.d.ts +1 -0
- package/dist/clis/jike/repost.js +103 -0
- package/dist/clis/jike/search.d.ts +1 -0
- package/dist/clis/jike/search.js +67 -0
- package/dist/clis/jike/shared.d.ts +19 -0
- package/dist/clis/jike/shared.js +25 -0
- package/dist/clis/jike/topic.yaml +52 -0
- package/dist/clis/jike/user.yaml +51 -0
- package/dist/clis/smzdm/search.js +28 -39
- package/dist/clis/stackoverflow/bounties.yaml +29 -0
- package/dist/clis/stackoverflow/hot.yaml +28 -0
- package/dist/clis/stackoverflow/search.yaml +32 -0
- package/dist/clis/stackoverflow/unanswered.yaml +28 -0
- package/dist/clis/twitter/download.js +6 -16
- package/dist/clis/xiaohongshu/download.js +3 -3
- package/dist/clis/zhihu/download.js +3 -3
- package/dist/doctor.d.ts +7 -0
- package/dist/doctor.js +16 -0
- package/dist/download/index.d.ts +12 -8
- package/dist/download/index.js +11 -3
- package/dist/download/index.test.d.ts +1 -0
- package/dist/download/index.test.js +14 -0
- package/dist/engine.js +5 -5
- package/dist/explore.d.ts +1 -0
- package/dist/explore.js +3 -3
- package/dist/generate.js +1 -0
- package/dist/interceptor.js +3 -2
- package/dist/output.d.ts +1 -0
- package/dist/output.js +3 -1
- package/dist/pipeline/executor.test.js +1 -0
- package/dist/pipeline/steps/download.js +14 -18
- package/dist/registry.d.ts +1 -0
- package/dist/registry.js +5 -2
- package/dist/runtime.d.ts +4 -1
- package/dist/runtime.js +2 -2
- package/dist/types.d.ts +12 -0
- package/dist/verify.d.ts +6 -1
- package/dist/verify.js +54 -2
- package/docs/.vitepress/config.mts +193 -0
- package/docs/adapters/browser/apple-podcasts.md +28 -0
- package/docs/adapters/browser/bbc.md +26 -0
- package/docs/adapters/browser/bilibili.md +38 -0
- package/docs/adapters/browser/boss.md +28 -0
- package/docs/adapters/browser/coupang.md +28 -0
- package/docs/adapters/browser/ctrip.md +27 -0
- package/docs/adapters/browser/github.md +26 -0
- package/docs/adapters/browser/hackernews.md +26 -0
- package/docs/adapters/browser/linkedin.md +27 -0
- package/docs/adapters/browser/reddit.md +41 -0
- package/docs/adapters/browser/reuters.md +27 -0
- package/docs/adapters/browser/smzdm.md +27 -0
- package/docs/adapters/browser/twitter.md +47 -0
- package/docs/adapters/browser/v2ex.md +32 -0
- package/docs/adapters/browser/weibo.md +27 -0
- package/docs/adapters/browser/xiaohongshu.md +32 -0
- package/docs/adapters/browser/xiaoyuzhou.md +28 -0
- package/docs/adapters/browser/xueqiu.md +32 -0
- package/docs/adapters/browser/yahoo-finance.md +26 -0
- package/docs/adapters/browser/youtube.md +29 -0
- package/docs/adapters/browser/zhihu.md +30 -0
- package/docs/adapters/desktop/antigravity.md +46 -0
- package/docs/adapters/desktop/chatgpt.md +43 -0
- package/docs/adapters/desktop/chatwise.md +38 -0
- package/docs/adapters/desktop/codex.md +32 -0
- package/docs/adapters/desktop/cursor.md +33 -0
- package/docs/adapters/desktop/discord.md +28 -0
- package/docs/adapters/desktop/feishu.md +20 -0
- package/docs/adapters/desktop/neteasemusic.md +31 -0
- package/docs/adapters/desktop/notion.md +29 -0
- package/docs/adapters/desktop/wechat.md +28 -0
- package/docs/adapters/index.md +49 -0
- package/docs/advanced/cdp.md +103 -0
- package/docs/advanced/download.md +63 -0
- package/docs/advanced/electron.md +125 -0
- package/docs/advanced/remote-chrome.md +72 -0
- package/docs/developer/ai-workflow.md +66 -0
- package/docs/developer/architecture.md +90 -0
- package/docs/developer/contributing.md +136 -0
- package/docs/developer/testing.md +237 -0
- package/docs/developer/ts-adapter.md +87 -0
- package/docs/developer/yaml-adapter.md +108 -0
- package/docs/guide/browser-bridge.md +38 -0
- package/docs/guide/getting-started.md +56 -0
- package/docs/guide/installation.md +37 -0
- package/docs/guide/troubleshooting.md +56 -0
- package/docs/index.md +35 -0
- package/docs/zh/adapters/index.md +5 -0
- package/docs/zh/advanced/cdp.md +3 -0
- package/docs/zh/developer/contributing.md +24 -0
- package/docs/zh/guide/browser-bridge.md +25 -0
- package/docs/zh/guide/getting-started.md +40 -0
- package/docs/zh/guide/installation.md +37 -0
- package/docs/zh/index.md +29 -0
- package/extension/dist/background.js +92 -52
- package/extension/package-lock.json +1156 -0
- package/extension/src/background.test.ts +151 -0
- package/extension/src/background.ts +122 -51
- package/extension/src/protocol.ts +3 -1
- package/package.json +7 -3
- package/src/browser/cdp.ts +154 -82
- package/src/browser/daemon-client.ts +7 -1
- package/src/browser/dom-helpers.ts +116 -0
- package/src/browser/mcp.ts +14 -6
- package/src/browser/page.ts +45 -100
- package/src/browser.test.ts +10 -0
- package/src/build-manifest.test.ts +36 -0
- package/src/build-manifest.ts +2 -1
- package/src/capabilityRouting.test.ts +47 -0
- package/src/capabilityRouting.ts +28 -0
- package/src/chaoxing.test.ts +12 -4
- package/src/cli.ts +30 -8
- package/src/clis/antigravity/serve.ts +329 -0
- package/src/clis/bilibili/download.ts +4 -15
- package/src/clis/boss/resume.ts +262 -0
- package/src/clis/hf/top.ts +141 -0
- package/src/clis/jike/comment.ts +113 -0
- package/src/clis/jike/create.ts +113 -0
- package/src/clis/jike/feed.ts +74 -0
- package/src/clis/jike/like.ts +65 -0
- package/src/clis/jike/notifications.ts +185 -0
- package/src/clis/jike/post.yaml +58 -0
- package/src/clis/jike/repost.ts +114 -0
- package/src/clis/jike/search.ts +74 -0
- package/src/clis/jike/shared.ts +36 -0
- package/src/clis/jike/topic.yaml +52 -0
- package/src/clis/jike/user.yaml +51 -0
- package/src/clis/smzdm/search.ts +30 -39
- package/src/clis/stackoverflow/bounties.yaml +29 -0
- package/src/clis/stackoverflow/hot.yaml +28 -0
- package/src/clis/stackoverflow/search.yaml +32 -0
- package/src/clis/stackoverflow/unanswered.yaml +28 -0
- package/src/clis/twitter/download.ts +6 -17
- package/src/clis/xiaohongshu/download.ts +3 -3
- package/src/clis/zhihu/download.ts +3 -3
- package/src/doctor.ts +18 -2
- package/src/download/index.test.ts +16 -0
- package/src/download/index.ts +22 -4
- package/src/engine.ts +4 -4
- package/src/explore.ts +4 -4
- package/src/generate.ts +1 -0
- package/src/interceptor.ts +3 -2
- package/src/output.ts +3 -1
- package/src/pipeline/executor.test.ts +1 -0
- package/src/pipeline/steps/download.ts +14 -17
- package/src/registry.ts +6 -2
- package/src/runtime.ts +3 -2
- package/src/types.ts +9 -0
- package/src/verify.ts +64 -3
package/dist/cli-manifest.json
CHANGED
|
@@ -109,6 +109,16 @@
|
|
|
109
109
|
"Message"
|
|
110
110
|
]
|
|
111
111
|
},
|
|
112
|
+
{
|
|
113
|
+
"site": "antigravity",
|
|
114
|
+
"name": "serve",
|
|
115
|
+
"description": "",
|
|
116
|
+
"strategy": "cookie",
|
|
117
|
+
"browser": true,
|
|
118
|
+
"args": [],
|
|
119
|
+
"type": "ts",
|
|
120
|
+
"modulePath": "antigravity/serve.js"
|
|
121
|
+
},
|
|
112
122
|
{
|
|
113
123
|
"site": "antigravity",
|
|
114
124
|
"name": "status",
|
|
@@ -427,7 +437,7 @@
|
|
|
427
437
|
"name": "news",
|
|
428
438
|
"description": "BBC News headlines (RSS)",
|
|
429
439
|
"strategy": "public",
|
|
430
|
-
"browser":
|
|
440
|
+
"browser": false,
|
|
431
441
|
"args": [
|
|
432
442
|
{
|
|
433
443
|
"name": "limit",
|
|
@@ -963,6 +973,36 @@
|
|
|
963
973
|
"url"
|
|
964
974
|
]
|
|
965
975
|
},
|
|
976
|
+
{
|
|
977
|
+
"site": "boss",
|
|
978
|
+
"name": "resume",
|
|
979
|
+
"description": "BOSS直聘查看候选人简历(招聘端)",
|
|
980
|
+
"strategy": "cookie",
|
|
981
|
+
"browser": true,
|
|
982
|
+
"args": [
|
|
983
|
+
{
|
|
984
|
+
"name": "uid",
|
|
985
|
+
"type": "str",
|
|
986
|
+
"required": true,
|
|
987
|
+
"help": "Encrypted UID of the candidate (from chatlist)"
|
|
988
|
+
}
|
|
989
|
+
],
|
|
990
|
+
"type": "ts",
|
|
991
|
+
"modulePath": "boss/resume.js",
|
|
992
|
+
"domain": "www.zhipin.com",
|
|
993
|
+
"columns": [
|
|
994
|
+
"name",
|
|
995
|
+
"gender",
|
|
996
|
+
"age",
|
|
997
|
+
"experience",
|
|
998
|
+
"degree",
|
|
999
|
+
"active_time",
|
|
1000
|
+
"work_history",
|
|
1001
|
+
"education",
|
|
1002
|
+
"job_chatting",
|
|
1003
|
+
"expect"
|
|
1004
|
+
]
|
|
1005
|
+
},
|
|
966
1006
|
{
|
|
967
1007
|
"site": "boss",
|
|
968
1008
|
"name": "search",
|
|
@@ -2330,6 +2370,392 @@
|
|
|
2330
2370
|
],
|
|
2331
2371
|
"type": "yaml"
|
|
2332
2372
|
},
|
|
2373
|
+
{
|
|
2374
|
+
"site": "hf",
|
|
2375
|
+
"name": "top",
|
|
2376
|
+
"description": "Top upvoted Hugging Face papers",
|
|
2377
|
+
"strategy": "public",
|
|
2378
|
+
"browser": false,
|
|
2379
|
+
"args": [
|
|
2380
|
+
{
|
|
2381
|
+
"name": "limit",
|
|
2382
|
+
"type": "int",
|
|
2383
|
+
"default": 20,
|
|
2384
|
+
"required": false,
|
|
2385
|
+
"help": "Number of papers"
|
|
2386
|
+
},
|
|
2387
|
+
{
|
|
2388
|
+
"name": "all",
|
|
2389
|
+
"type": "bool",
|
|
2390
|
+
"default": false,
|
|
2391
|
+
"required": false,
|
|
2392
|
+
"help": "Return all papers (ignore limit)"
|
|
2393
|
+
},
|
|
2394
|
+
{
|
|
2395
|
+
"name": "date",
|
|
2396
|
+
"type": "str",
|
|
2397
|
+
"required": false,
|
|
2398
|
+
"help": "Date (YYYY-MM-DD), defaults to most recent"
|
|
2399
|
+
},
|
|
2400
|
+
{
|
|
2401
|
+
"name": "period",
|
|
2402
|
+
"type": "str",
|
|
2403
|
+
"default": "daily",
|
|
2404
|
+
"required": false,
|
|
2405
|
+
"help": "Time period: daily, weekly, or monthly",
|
|
2406
|
+
"choices": [
|
|
2407
|
+
"daily",
|
|
2408
|
+
"weekly",
|
|
2409
|
+
"monthly"
|
|
2410
|
+
]
|
|
2411
|
+
}
|
|
2412
|
+
],
|
|
2413
|
+
"type": "ts",
|
|
2414
|
+
"modulePath": "hf/top.js",
|
|
2415
|
+
"domain": "huggingface.co"
|
|
2416
|
+
},
|
|
2417
|
+
{
|
|
2418
|
+
"site": "jike",
|
|
2419
|
+
"name": "comment",
|
|
2420
|
+
"description": "评论即刻帖子",
|
|
2421
|
+
"strategy": "ui",
|
|
2422
|
+
"browser": true,
|
|
2423
|
+
"args": [
|
|
2424
|
+
{
|
|
2425
|
+
"name": "id",
|
|
2426
|
+
"type": "string",
|
|
2427
|
+
"required": true,
|
|
2428
|
+
"help": "帖子 ID"
|
|
2429
|
+
},
|
|
2430
|
+
{
|
|
2431
|
+
"name": "text",
|
|
2432
|
+
"type": "string",
|
|
2433
|
+
"required": true,
|
|
2434
|
+
"help": "评论内容"
|
|
2435
|
+
}
|
|
2436
|
+
],
|
|
2437
|
+
"type": "ts",
|
|
2438
|
+
"modulePath": "jike/comment.js",
|
|
2439
|
+
"domain": "web.okjike.com",
|
|
2440
|
+
"columns": [
|
|
2441
|
+
"status",
|
|
2442
|
+
"message"
|
|
2443
|
+
]
|
|
2444
|
+
},
|
|
2445
|
+
{
|
|
2446
|
+
"site": "jike",
|
|
2447
|
+
"name": "create",
|
|
2448
|
+
"description": "发布即刻动态",
|
|
2449
|
+
"strategy": "ui",
|
|
2450
|
+
"browser": true,
|
|
2451
|
+
"args": [
|
|
2452
|
+
{
|
|
2453
|
+
"name": "text",
|
|
2454
|
+
"type": "string",
|
|
2455
|
+
"required": true,
|
|
2456
|
+
"help": "动态正文内容"
|
|
2457
|
+
}
|
|
2458
|
+
],
|
|
2459
|
+
"type": "ts",
|
|
2460
|
+
"modulePath": "jike/create.js",
|
|
2461
|
+
"domain": "web.okjike.com",
|
|
2462
|
+
"columns": [
|
|
2463
|
+
"status",
|
|
2464
|
+
"message"
|
|
2465
|
+
]
|
|
2466
|
+
},
|
|
2467
|
+
{
|
|
2468
|
+
"site": "jike",
|
|
2469
|
+
"name": "feed",
|
|
2470
|
+
"description": "即刻首页动态流",
|
|
2471
|
+
"strategy": "cookie",
|
|
2472
|
+
"browser": true,
|
|
2473
|
+
"args": [
|
|
2474
|
+
{
|
|
2475
|
+
"name": "limit",
|
|
2476
|
+
"type": "int",
|
|
2477
|
+
"default": 20,
|
|
2478
|
+
"required": false,
|
|
2479
|
+
"help": ""
|
|
2480
|
+
}
|
|
2481
|
+
],
|
|
2482
|
+
"type": "ts",
|
|
2483
|
+
"modulePath": "jike/feed.js",
|
|
2484
|
+
"domain": "web.okjike.com",
|
|
2485
|
+
"columns": [
|
|
2486
|
+
"author",
|
|
2487
|
+
"content",
|
|
2488
|
+
"likes",
|
|
2489
|
+
"comments",
|
|
2490
|
+
"time",
|
|
2491
|
+
"url"
|
|
2492
|
+
]
|
|
2493
|
+
},
|
|
2494
|
+
{
|
|
2495
|
+
"site": "jike",
|
|
2496
|
+
"name": "like",
|
|
2497
|
+
"description": "点赞即刻帖子",
|
|
2498
|
+
"strategy": "ui",
|
|
2499
|
+
"browser": true,
|
|
2500
|
+
"args": [
|
|
2501
|
+
{
|
|
2502
|
+
"name": "id",
|
|
2503
|
+
"type": "string",
|
|
2504
|
+
"required": true,
|
|
2505
|
+
"help": "帖子 ID"
|
|
2506
|
+
}
|
|
2507
|
+
],
|
|
2508
|
+
"type": "ts",
|
|
2509
|
+
"modulePath": "jike/like.js",
|
|
2510
|
+
"domain": "web.okjike.com",
|
|
2511
|
+
"columns": [
|
|
2512
|
+
"status",
|
|
2513
|
+
"message"
|
|
2514
|
+
]
|
|
2515
|
+
},
|
|
2516
|
+
{
|
|
2517
|
+
"site": "jike",
|
|
2518
|
+
"name": "notifications",
|
|
2519
|
+
"description": "即刻通知",
|
|
2520
|
+
"strategy": "cookie",
|
|
2521
|
+
"browser": true,
|
|
2522
|
+
"args": [
|
|
2523
|
+
{
|
|
2524
|
+
"name": "limit",
|
|
2525
|
+
"type": "int",
|
|
2526
|
+
"default": 20,
|
|
2527
|
+
"required": false,
|
|
2528
|
+
"help": ""
|
|
2529
|
+
}
|
|
2530
|
+
],
|
|
2531
|
+
"type": "ts",
|
|
2532
|
+
"modulePath": "jike/notifications.js",
|
|
2533
|
+
"domain": "web.okjike.com",
|
|
2534
|
+
"columns": [
|
|
2535
|
+
"type",
|
|
2536
|
+
"user",
|
|
2537
|
+
"content",
|
|
2538
|
+
"time"
|
|
2539
|
+
]
|
|
2540
|
+
},
|
|
2541
|
+
{
|
|
2542
|
+
"site": "jike",
|
|
2543
|
+
"name": "post",
|
|
2544
|
+
"description": "即刻帖子详情及评论",
|
|
2545
|
+
"domain": "m.okjike.com",
|
|
2546
|
+
"strategy": "cookie",
|
|
2547
|
+
"browser": true,
|
|
2548
|
+
"args": [
|
|
2549
|
+
{
|
|
2550
|
+
"name": "id",
|
|
2551
|
+
"type": "string",
|
|
2552
|
+
"required": true,
|
|
2553
|
+
"help": "Post ID (from post URL)"
|
|
2554
|
+
}
|
|
2555
|
+
],
|
|
2556
|
+
"columns": [
|
|
2557
|
+
"type",
|
|
2558
|
+
"author",
|
|
2559
|
+
"content",
|
|
2560
|
+
"likes",
|
|
2561
|
+
"time"
|
|
2562
|
+
],
|
|
2563
|
+
"pipeline": [
|
|
2564
|
+
{
|
|
2565
|
+
"navigate": "https://m.okjike.com/originalPosts/${{ args.id }}"
|
|
2566
|
+
},
|
|
2567
|
+
{
|
|
2568
|
+
"evaluate": "(() => {\n try {\n const el = document.querySelector('script[type=\"application/json\"]');\n if (!el) return [];\n const data = JSON.parse(el.textContent);\n const pageProps = data?.props?.pageProps || {};\n const post = pageProps.post || {};\n const comments = pageProps.comments || [];\n\n const result = [{\n type: 'post',\n author: post.user?.screenName || '',\n content: post.content || '',\n likes: post.likeCount || 0,\n time: post.createdAt || '',\n }];\n\n for (const c of comments) {\n result.push({\n type: 'comment',\n author: c.user?.screenName || '',\n content: (c.content || '').replace(/\\n/g, ' '),\n likes: c.likeCount || 0,\n time: c.createdAt || '',\n });\n }\n\n return result;\n } catch (e) {\n return [];\n }\n})()\n"
|
|
2569
|
+
},
|
|
2570
|
+
{
|
|
2571
|
+
"map": {
|
|
2572
|
+
"type": "${{ item.type }}",
|
|
2573
|
+
"author": "${{ item.author }}",
|
|
2574
|
+
"content": "${{ item.content }}",
|
|
2575
|
+
"likes": "${{ item.likes }}",
|
|
2576
|
+
"time": "${{ item.time }}"
|
|
2577
|
+
}
|
|
2578
|
+
}
|
|
2579
|
+
],
|
|
2580
|
+
"type": "yaml"
|
|
2581
|
+
},
|
|
2582
|
+
{
|
|
2583
|
+
"site": "jike",
|
|
2584
|
+
"name": "repost",
|
|
2585
|
+
"description": "转发即刻帖子",
|
|
2586
|
+
"strategy": "ui",
|
|
2587
|
+
"browser": true,
|
|
2588
|
+
"args": [
|
|
2589
|
+
{
|
|
2590
|
+
"name": "id",
|
|
2591
|
+
"type": "string",
|
|
2592
|
+
"required": true,
|
|
2593
|
+
"help": "帖子 ID"
|
|
2594
|
+
},
|
|
2595
|
+
{
|
|
2596
|
+
"name": "text",
|
|
2597
|
+
"type": "string",
|
|
2598
|
+
"required": false,
|
|
2599
|
+
"help": "转发附言(可选)"
|
|
2600
|
+
}
|
|
2601
|
+
],
|
|
2602
|
+
"type": "ts",
|
|
2603
|
+
"modulePath": "jike/repost.js",
|
|
2604
|
+
"domain": "web.okjike.com",
|
|
2605
|
+
"columns": [
|
|
2606
|
+
"status",
|
|
2607
|
+
"message"
|
|
2608
|
+
]
|
|
2609
|
+
},
|
|
2610
|
+
{
|
|
2611
|
+
"site": "jike",
|
|
2612
|
+
"name": "search",
|
|
2613
|
+
"description": "搜索即刻帖子",
|
|
2614
|
+
"strategy": "cookie",
|
|
2615
|
+
"browser": true,
|
|
2616
|
+
"args": [
|
|
2617
|
+
{
|
|
2618
|
+
"name": "keyword",
|
|
2619
|
+
"type": "string",
|
|
2620
|
+
"required": true,
|
|
2621
|
+
"help": ""
|
|
2622
|
+
},
|
|
2623
|
+
{
|
|
2624
|
+
"name": "limit",
|
|
2625
|
+
"type": "int",
|
|
2626
|
+
"default": 20,
|
|
2627
|
+
"required": false,
|
|
2628
|
+
"help": ""
|
|
2629
|
+
}
|
|
2630
|
+
],
|
|
2631
|
+
"type": "ts",
|
|
2632
|
+
"modulePath": "jike/search.js",
|
|
2633
|
+
"domain": "web.okjike.com",
|
|
2634
|
+
"columns": [
|
|
2635
|
+
"author",
|
|
2636
|
+
"content",
|
|
2637
|
+
"likes",
|
|
2638
|
+
"comments",
|
|
2639
|
+
"time",
|
|
2640
|
+
"url"
|
|
2641
|
+
]
|
|
2642
|
+
},
|
|
2643
|
+
{
|
|
2644
|
+
"site": "jike",
|
|
2645
|
+
"name": "shared",
|
|
2646
|
+
"description": "",
|
|
2647
|
+
"strategy": "cookie",
|
|
2648
|
+
"browser": true,
|
|
2649
|
+
"args": [],
|
|
2650
|
+
"type": "ts",
|
|
2651
|
+
"modulePath": "jike/shared.js"
|
|
2652
|
+
},
|
|
2653
|
+
{
|
|
2654
|
+
"site": "jike",
|
|
2655
|
+
"name": "topic",
|
|
2656
|
+
"description": "即刻话题/圈子帖子",
|
|
2657
|
+
"domain": "m.okjike.com",
|
|
2658
|
+
"strategy": "cookie",
|
|
2659
|
+
"browser": true,
|
|
2660
|
+
"args": [
|
|
2661
|
+
{
|
|
2662
|
+
"name": "id",
|
|
2663
|
+
"type": "string",
|
|
2664
|
+
"required": true,
|
|
2665
|
+
"help": "Topic ID (from topic URL, e.g. 553870e8e4b0cafb0a1bef68)"
|
|
2666
|
+
},
|
|
2667
|
+
{
|
|
2668
|
+
"name": "limit",
|
|
2669
|
+
"type": "int",
|
|
2670
|
+
"default": 20,
|
|
2671
|
+
"required": false,
|
|
2672
|
+
"help": "Number of posts"
|
|
2673
|
+
}
|
|
2674
|
+
],
|
|
2675
|
+
"columns": [
|
|
2676
|
+
"content",
|
|
2677
|
+
"author",
|
|
2678
|
+
"likes",
|
|
2679
|
+
"comments",
|
|
2680
|
+
"time",
|
|
2681
|
+
"url"
|
|
2682
|
+
],
|
|
2683
|
+
"pipeline": [
|
|
2684
|
+
{
|
|
2685
|
+
"navigate": "https://m.okjike.com/topics/${{ args.id }}"
|
|
2686
|
+
},
|
|
2687
|
+
{
|
|
2688
|
+
"evaluate": "(() => {\n try {\n const el = document.querySelector('script[type=\"application/json\"]');\n if (!el) return [];\n const data = JSON.parse(el.textContent);\n const pageProps = data?.props?.pageProps || {};\n const posts = pageProps.posts || [];\n return posts.map(p => ({\n content: (p.content || '').replace(/\\n/g, ' ').slice(0, 80),\n author: p.user?.screenName || '',\n likes: p.likeCount || 0,\n comments: p.commentCount || 0,\n time: p.actionTime || p.createdAt || '',\n id: p.id || '',\n }));\n } catch (e) {\n return [];\n }\n})()\n"
|
|
2689
|
+
},
|
|
2690
|
+
{
|
|
2691
|
+
"map": {
|
|
2692
|
+
"content": "${{ item.content }}",
|
|
2693
|
+
"author": "${{ item.author }}",
|
|
2694
|
+
"likes": "${{ item.likes }}",
|
|
2695
|
+
"comments": "${{ item.comments }}",
|
|
2696
|
+
"time": "${{ item.time }}",
|
|
2697
|
+
"url": "https://web.okjike.com/originalPost/${{ item.id }}"
|
|
2698
|
+
}
|
|
2699
|
+
},
|
|
2700
|
+
{
|
|
2701
|
+
"limit": "${{ args.limit }}"
|
|
2702
|
+
}
|
|
2703
|
+
],
|
|
2704
|
+
"type": "yaml"
|
|
2705
|
+
},
|
|
2706
|
+
{
|
|
2707
|
+
"site": "jike",
|
|
2708
|
+
"name": "user",
|
|
2709
|
+
"description": "即刻用户动态",
|
|
2710
|
+
"domain": "m.okjike.com",
|
|
2711
|
+
"strategy": "cookie",
|
|
2712
|
+
"browser": true,
|
|
2713
|
+
"args": [
|
|
2714
|
+
{
|
|
2715
|
+
"name": "username",
|
|
2716
|
+
"type": "string",
|
|
2717
|
+
"required": true,
|
|
2718
|
+
"help": "Username from profile URL (e.g. wenhao1996)"
|
|
2719
|
+
},
|
|
2720
|
+
{
|
|
2721
|
+
"name": "limit",
|
|
2722
|
+
"type": "int",
|
|
2723
|
+
"default": 20,
|
|
2724
|
+
"required": false,
|
|
2725
|
+
"help": "Number of posts"
|
|
2726
|
+
}
|
|
2727
|
+
],
|
|
2728
|
+
"columns": [
|
|
2729
|
+
"content",
|
|
2730
|
+
"type",
|
|
2731
|
+
"likes",
|
|
2732
|
+
"comments",
|
|
2733
|
+
"time",
|
|
2734
|
+
"url"
|
|
2735
|
+
],
|
|
2736
|
+
"pipeline": [
|
|
2737
|
+
{
|
|
2738
|
+
"navigate": "https://m.okjike.com/users/${{ args.username }}"
|
|
2739
|
+
},
|
|
2740
|
+
{
|
|
2741
|
+
"evaluate": "(() => {\n try {\n const el = document.querySelector('script[type=\"application/json\"]');\n if (!el) return [];\n const data = JSON.parse(el.textContent);\n const posts = data?.props?.pageProps?.posts || [];\n return posts.map(p => ({\n content: (p.content || '').replace(/\\n/g, ' ').slice(0, 80),\n type: p.type === 'ORIGINAL_POST' ? 'post' : p.type === 'REPOST' ? 'repost' : p.type || '',\n likes: p.likeCount || 0,\n comments: p.commentCount || 0,\n time: p.actionTime || p.createdAt || '',\n id: p.id || '',\n }));\n } catch (e) {\n return [];\n }\n})()\n"
|
|
2742
|
+
},
|
|
2743
|
+
{
|
|
2744
|
+
"map": {
|
|
2745
|
+
"content": "${{ item.content }}",
|
|
2746
|
+
"type": "${{ item.type }}",
|
|
2747
|
+
"likes": "${{ item.likes }}",
|
|
2748
|
+
"comments": "${{ item.comments }}",
|
|
2749
|
+
"time": "${{ item.time }}",
|
|
2750
|
+
"url": "https://web.okjike.com/originalPost/${{ item.id }}"
|
|
2751
|
+
}
|
|
2752
|
+
},
|
|
2753
|
+
{
|
|
2754
|
+
"limit": "${{ args.limit }}"
|
|
2755
|
+
}
|
|
2756
|
+
],
|
|
2757
|
+
"type": "yaml"
|
|
2758
|
+
},
|
|
2333
2759
|
{
|
|
2334
2760
|
"site": "jimeng",
|
|
2335
2761
|
"name": "generate",
|
|
@@ -3847,6 +4273,194 @@
|
|
|
3847
4273
|
"url"
|
|
3848
4274
|
]
|
|
3849
4275
|
},
|
|
4276
|
+
{
|
|
4277
|
+
"site": "stackoverflow",
|
|
4278
|
+
"name": "bounties",
|
|
4279
|
+
"description": "Active bounties on Stack Overflow",
|
|
4280
|
+
"domain": "stackoverflow.com",
|
|
4281
|
+
"strategy": "public",
|
|
4282
|
+
"browser": false,
|
|
4283
|
+
"args": [
|
|
4284
|
+
{
|
|
4285
|
+
"name": "limit",
|
|
4286
|
+
"type": "int",
|
|
4287
|
+
"default": 10,
|
|
4288
|
+
"required": false,
|
|
4289
|
+
"help": "Max number of results"
|
|
4290
|
+
}
|
|
4291
|
+
],
|
|
4292
|
+
"columns": [
|
|
4293
|
+
"bounty",
|
|
4294
|
+
"title",
|
|
4295
|
+
"score",
|
|
4296
|
+
"answers",
|
|
4297
|
+
"url"
|
|
4298
|
+
],
|
|
4299
|
+
"pipeline": [
|
|
4300
|
+
{
|
|
4301
|
+
"fetch": {
|
|
4302
|
+
"url": "https://api.stackexchange.com/2.3/questions/featured?order=desc&sort=activity&site=stackoverflow"
|
|
4303
|
+
}
|
|
4304
|
+
},
|
|
4305
|
+
{
|
|
4306
|
+
"select": "items"
|
|
4307
|
+
},
|
|
4308
|
+
{
|
|
4309
|
+
"map": {
|
|
4310
|
+
"title": "${{ item.title }}",
|
|
4311
|
+
"bounty": "${{ item.bounty_amount }}",
|
|
4312
|
+
"score": "${{ item.score }}",
|
|
4313
|
+
"answers": "${{ item.answer_count }}",
|
|
4314
|
+
"url": "${{ item.link }}"
|
|
4315
|
+
}
|
|
4316
|
+
},
|
|
4317
|
+
{
|
|
4318
|
+
"limit": "${{ args.limit }}"
|
|
4319
|
+
}
|
|
4320
|
+
],
|
|
4321
|
+
"type": "yaml"
|
|
4322
|
+
},
|
|
4323
|
+
{
|
|
4324
|
+
"site": "stackoverflow",
|
|
4325
|
+
"name": "hot",
|
|
4326
|
+
"description": "Hot Stack Overflow questions",
|
|
4327
|
+
"domain": "stackoverflow.com",
|
|
4328
|
+
"strategy": "public",
|
|
4329
|
+
"browser": false,
|
|
4330
|
+
"args": [
|
|
4331
|
+
{
|
|
4332
|
+
"name": "limit",
|
|
4333
|
+
"type": "int",
|
|
4334
|
+
"default": 10,
|
|
4335
|
+
"required": false,
|
|
4336
|
+
"help": "Max number of results"
|
|
4337
|
+
}
|
|
4338
|
+
],
|
|
4339
|
+
"columns": [
|
|
4340
|
+
"title",
|
|
4341
|
+
"score",
|
|
4342
|
+
"answers",
|
|
4343
|
+
"url"
|
|
4344
|
+
],
|
|
4345
|
+
"pipeline": [
|
|
4346
|
+
{
|
|
4347
|
+
"fetch": {
|
|
4348
|
+
"url": "https://api.stackexchange.com/2.3/questions?order=desc&sort=hot&site=stackoverflow"
|
|
4349
|
+
}
|
|
4350
|
+
},
|
|
4351
|
+
{
|
|
4352
|
+
"select": "items"
|
|
4353
|
+
},
|
|
4354
|
+
{
|
|
4355
|
+
"map": {
|
|
4356
|
+
"title": "${{ item.title }}",
|
|
4357
|
+
"score": "${{ item.score }}",
|
|
4358
|
+
"answers": "${{ item.answer_count }}",
|
|
4359
|
+
"url": "${{ item.link }}"
|
|
4360
|
+
}
|
|
4361
|
+
},
|
|
4362
|
+
{
|
|
4363
|
+
"limit": "${{ args.limit }}"
|
|
4364
|
+
}
|
|
4365
|
+
],
|
|
4366
|
+
"type": "yaml"
|
|
4367
|
+
},
|
|
4368
|
+
{
|
|
4369
|
+
"site": "stackoverflow",
|
|
4370
|
+
"name": "search",
|
|
4371
|
+
"description": "Search Stack Overflow questions",
|
|
4372
|
+
"domain": "stackoverflow.com",
|
|
4373
|
+
"strategy": "public",
|
|
4374
|
+
"browser": false,
|
|
4375
|
+
"args": [
|
|
4376
|
+
{
|
|
4377
|
+
"name": "query",
|
|
4378
|
+
"type": "string",
|
|
4379
|
+
"required": true,
|
|
4380
|
+
"help": "Search query"
|
|
4381
|
+
},
|
|
4382
|
+
{
|
|
4383
|
+
"name": "limit",
|
|
4384
|
+
"type": "int",
|
|
4385
|
+
"default": 10,
|
|
4386
|
+
"required": false,
|
|
4387
|
+
"help": "Max number of results"
|
|
4388
|
+
}
|
|
4389
|
+
],
|
|
4390
|
+
"columns": [
|
|
4391
|
+
"title",
|
|
4392
|
+
"score",
|
|
4393
|
+
"answers",
|
|
4394
|
+
"url"
|
|
4395
|
+
],
|
|
4396
|
+
"pipeline": [
|
|
4397
|
+
{
|
|
4398
|
+
"fetch": {
|
|
4399
|
+
"url": "https://api.stackexchange.com/2.3/search/advanced?order=desc&sort=relevance&q=${{ args.query }}&site=stackoverflow"
|
|
4400
|
+
}
|
|
4401
|
+
},
|
|
4402
|
+
{
|
|
4403
|
+
"select": "items"
|
|
4404
|
+
},
|
|
4405
|
+
{
|
|
4406
|
+
"map": {
|
|
4407
|
+
"title": "${{ item.title }}",
|
|
4408
|
+
"score": "${{ item.score }}",
|
|
4409
|
+
"answers": "${{ item.answer_count }}",
|
|
4410
|
+
"url": "${{ item.link }}"
|
|
4411
|
+
}
|
|
4412
|
+
},
|
|
4413
|
+
{
|
|
4414
|
+
"limit": "${{ args.limit }}"
|
|
4415
|
+
}
|
|
4416
|
+
],
|
|
4417
|
+
"type": "yaml"
|
|
4418
|
+
},
|
|
4419
|
+
{
|
|
4420
|
+
"site": "stackoverflow",
|
|
4421
|
+
"name": "unanswered",
|
|
4422
|
+
"description": "Top voted unanswered questions on Stack Overflow",
|
|
4423
|
+
"domain": "stackoverflow.com",
|
|
4424
|
+
"strategy": "public",
|
|
4425
|
+
"browser": false,
|
|
4426
|
+
"args": [
|
|
4427
|
+
{
|
|
4428
|
+
"name": "limit",
|
|
4429
|
+
"type": "int",
|
|
4430
|
+
"default": 10,
|
|
4431
|
+
"required": false,
|
|
4432
|
+
"help": "Max number of results"
|
|
4433
|
+
}
|
|
4434
|
+
],
|
|
4435
|
+
"columns": [
|
|
4436
|
+
"title",
|
|
4437
|
+
"score",
|
|
4438
|
+
"answers",
|
|
4439
|
+
"url"
|
|
4440
|
+
],
|
|
4441
|
+
"pipeline": [
|
|
4442
|
+
{
|
|
4443
|
+
"fetch": {
|
|
4444
|
+
"url": "https://api.stackexchange.com/2.3/questions/unanswered?order=desc&sort=votes&site=stackoverflow"
|
|
4445
|
+
}
|
|
4446
|
+
},
|
|
4447
|
+
{
|
|
4448
|
+
"select": "items"
|
|
4449
|
+
},
|
|
4450
|
+
{
|
|
4451
|
+
"map": {
|
|
4452
|
+
"title": "${{ item.title }}",
|
|
4453
|
+
"score": "${{ item.score }}",
|
|
4454
|
+
"answers": "${{ item.answer_count }}",
|
|
4455
|
+
"url": "${{ item.link }}"
|
|
4456
|
+
}
|
|
4457
|
+
},
|
|
4458
|
+
{
|
|
4459
|
+
"limit": "${{ args.limit }}"
|
|
4460
|
+
}
|
|
4461
|
+
],
|
|
4462
|
+
"type": "yaml"
|
|
4463
|
+
},
|
|
3850
4464
|
{
|
|
3851
4465
|
"site": "twitter",
|
|
3852
4466
|
"name": "accept",
|
|
@@ -3986,6 +4600,12 @@
|
|
|
3986
4600
|
"required": false,
|
|
3987
4601
|
"help": "Twitter username (downloads from media tab)"
|
|
3988
4602
|
},
|
|
4603
|
+
{
|
|
4604
|
+
"name": "tweet-url",
|
|
4605
|
+
"type": "str",
|
|
4606
|
+
"required": false,
|
|
4607
|
+
"help": "Single tweet URL to download"
|
|
4608
|
+
},
|
|
3989
4609
|
{
|
|
3990
4610
|
"name": "limit",
|
|
3991
4611
|
"type": "int",
|
|
@@ -4218,6 +4838,13 @@
|
|
|
4218
4838
|
"default": 20,
|
|
4219
4839
|
"required": false,
|
|
4220
4840
|
"help": "Maximum number of conversations to reply to (default: 20)"
|
|
4841
|
+
},
|
|
4842
|
+
{
|
|
4843
|
+
"name": "skip-replied",
|
|
4844
|
+
"type": "boolean",
|
|
4845
|
+
"default": true,
|
|
4846
|
+
"required": false,
|
|
4847
|
+
"help": "Skip conversations where you already sent the same text (default: true)"
|
|
4221
4848
|
}
|
|
4222
4849
|
],
|
|
4223
4850
|
"type": "ts",
|
|
@@ -5868,6 +6495,13 @@
|
|
|
5868
6495
|
"default": "./zhihu-articles",
|
|
5869
6496
|
"required": false,
|
|
5870
6497
|
"help": "Output directory"
|
|
6498
|
+
},
|
|
6499
|
+
{
|
|
6500
|
+
"name": "download-images",
|
|
6501
|
+
"type": "boolean",
|
|
6502
|
+
"default": false,
|
|
6503
|
+
"required": false,
|
|
6504
|
+
"help": "Download images locally"
|
|
5871
6505
|
}
|
|
5872
6506
|
],
|
|
5873
6507
|
"type": "ts",
|