@jackwener/opencli 1.0.6 → 1.1.1
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/.agents/skills/cross-project-adapter-migration/SKILL.md +2 -2
- package/.github/pull_request_template.md +7 -0
- package/.github/workflows/doc-check.yml +36 -0
- package/.github/workflows/docs.yml +7 -42
- package/CHANGELOG.md +23 -0
- package/CLI-EXPLORER.md +9 -8
- package/README.md +51 -10
- package/README.zh-CN.md +29 -11
- package/SKILL.md +102 -33
- package/dist/browser/cdp.js +6 -1
- package/dist/browser/page.d.ts +4 -1
- package/dist/browser/page.js +7 -1
- package/dist/build-manifest.js +23 -16
- package/dist/cli-manifest.json +951 -296
- package/dist/cli.d.ts +6 -0
- package/dist/cli.js +225 -148
- package/dist/clis/antigravity/serve.js +296 -47
- package/dist/clis/apple-podcasts/commands.test.d.ts +2 -0
- package/dist/clis/apple-podcasts/commands.test.js +76 -0
- package/dist/clis/apple-podcasts/search.js +2 -2
- package/dist/clis/apple-podcasts/top.js +9 -2
- package/dist/clis/arxiv/paper.js +21 -0
- package/dist/clis/arxiv/search.js +24 -0
- package/dist/clis/arxiv/utils.d.ts +18 -0
- package/dist/clis/arxiv/utils.js +49 -0
- package/dist/clis/bilibili/dynamic.js +1 -1
- package/dist/clis/bilibili/favorite.js +1 -1
- package/dist/clis/bilibili/feed.js +1 -1
- package/dist/clis/bilibili/following.js +1 -1
- package/dist/clis/bilibili/history.js +1 -1
- package/dist/clis/bilibili/me.js +1 -1
- package/dist/clis/bilibili/ranking.js +1 -1
- package/dist/clis/bilibili/search.js +3 -3
- package/dist/clis/bilibili/subtitle.js +1 -1
- package/dist/clis/bilibili/user-videos.js +1 -1
- package/dist/{bilibili.d.ts → clis/bilibili/utils.d.ts} +1 -1
- package/dist/clis/bloomberg/businessweek.d.ts +1 -0
- package/dist/clis/bloomberg/businessweek.js +17 -0
- package/dist/clis/bloomberg/economics.d.ts +1 -0
- package/dist/clis/bloomberg/economics.js +17 -0
- package/dist/clis/bloomberg/feeds.d.ts +1 -0
- package/dist/clis/bloomberg/feeds.js +15 -0
- package/dist/clis/bloomberg/industries.d.ts +1 -0
- package/dist/clis/bloomberg/industries.js +17 -0
- package/dist/clis/bloomberg/main.d.ts +1 -0
- package/dist/clis/bloomberg/main.js +17 -0
- package/dist/clis/bloomberg/markets.d.ts +1 -0
- package/dist/clis/bloomberg/markets.js +17 -0
- package/dist/clis/bloomberg/news.d.ts +1 -0
- package/dist/clis/bloomberg/news.js +105 -0
- package/dist/clis/bloomberg/opinions.d.ts +1 -0
- package/dist/clis/bloomberg/opinions.js +17 -0
- package/dist/clis/bloomberg/politics.d.ts +1 -0
- package/dist/clis/bloomberg/politics.js +17 -0
- package/dist/clis/bloomberg/tech.d.ts +1 -0
- package/dist/clis/bloomberg/tech.js +17 -0
- package/dist/clis/bloomberg/utils.d.ts +34 -0
- package/dist/clis/bloomberg/utils.js +364 -0
- package/dist/clis/bloomberg/utils.test.d.ts +1 -0
- package/dist/clis/bloomberg/utils.test.js +129 -0
- package/dist/clis/boss/batchgreet.d.ts +1 -0
- package/dist/clis/boss/batchgreet.js +147 -0
- package/dist/clis/boss/chatlist.js +2 -2
- package/dist/clis/boss/detail.js +2 -2
- package/dist/clis/boss/exchange.d.ts +1 -0
- package/dist/clis/boss/exchange.js +111 -0
- package/dist/clis/boss/greet.d.ts +1 -0
- package/dist/clis/boss/greet.js +175 -0
- package/dist/clis/boss/invite.d.ts +1 -0
- package/dist/clis/boss/invite.js +158 -0
- package/dist/clis/boss/joblist.d.ts +1 -0
- package/dist/clis/boss/joblist.js +55 -0
- package/dist/clis/boss/mark.d.ts +1 -0
- package/dist/clis/boss/mark.js +141 -0
- package/dist/clis/boss/recommend.d.ts +1 -0
- package/dist/clis/boss/recommend.js +83 -0
- package/dist/clis/boss/search.js +1 -1
- package/dist/clis/boss/send.js +1 -1
- package/dist/clis/boss/stats.d.ts +1 -0
- package/dist/clis/boss/stats.js +116 -0
- package/dist/clis/chaoxing/assignments.js +1 -1
- package/dist/clis/chaoxing/exams.js +1 -1
- package/dist/{chaoxing.d.ts → clis/chaoxing/utils.d.ts} +1 -1
- package/dist/{chaoxing.js → clis/chaoxing/utils.js} +0 -2
- package/dist/clis/chaoxing/utils.test.d.ts +1 -0
- package/dist/{chaoxing.test.js → clis/chaoxing/utils.test.js} +1 -1
- package/dist/clis/chatgpt/read.js +1 -1
- package/dist/clis/chatwise/export.js +1 -1
- package/dist/clis/chatwise/model.js +2 -2
- package/dist/clis/chatwise/screenshot.js +1 -1
- package/dist/clis/codex/export.js +1 -1
- package/dist/clis/codex/model.js +2 -2
- package/dist/clis/codex/screenshot.js +1 -1
- package/dist/clis/coupang/add-to-cart.js +3 -4
- package/dist/clis/coupang/search.js +2 -4
- package/dist/clis/coupang/utils.test.d.ts +1 -0
- package/dist/{coupang.test.js → clis/coupang/utils.test.js} +1 -1
- package/dist/clis/ctrip/search.js +1 -1
- package/dist/clis/cursor/export.js +1 -1
- package/dist/clis/cursor/model.js +2 -2
- package/dist/clis/cursor/screenshot.js +1 -1
- package/dist/clis/jike/comment.js +2 -3
- package/dist/clis/jike/create.js +1 -2
- package/dist/clis/jike/feed.js +0 -1
- package/dist/clis/jike/like.js +1 -2
- package/dist/clis/jike/notifications.js +0 -1
- package/dist/clis/jike/post.yaml +1 -0
- package/dist/clis/jike/repost.js +1 -2
- package/dist/clis/jike/search.js +2 -3
- package/dist/clis/jike/topic.yaml +1 -0
- package/dist/clis/jike/user.yaml +1 -0
- package/dist/clis/jimeng/history.yaml +0 -1
- package/dist/clis/linkedin/search.js +7 -7
- package/dist/clis/linux-do/category.yaml +1 -0
- package/dist/clis/linux-do/search.yaml +4 -3
- package/dist/clis/linux-do/topic.yaml +1 -0
- package/dist/clis/notion/export.js +1 -1
- package/dist/clis/reddit/comment.js +3 -4
- package/dist/clis/reddit/read.js +4 -5
- package/dist/clis/reddit/save.js +2 -3
- package/dist/clis/reddit/saved.js +0 -1
- package/dist/clis/reddit/search.yaml +1 -0
- package/dist/clis/reddit/subscribe.js +0 -1
- package/dist/clis/reddit/upvote.js +2 -3
- package/dist/clis/reddit/upvoted.js +0 -1
- package/dist/clis/reddit/user-comments.yaml +1 -0
- package/dist/clis/reddit/user-posts.yaml +1 -0
- package/dist/clis/reddit/user.yaml +1 -0
- package/dist/clis/reuters/search.js +1 -1
- package/dist/clis/sinafinance/news.d.ts +7 -0
- package/dist/clis/sinafinance/news.js +61 -0
- package/dist/clis/smzdm/search.js +2 -3
- package/dist/clis/stackoverflow/search.yaml +1 -0
- package/dist/clis/steam/top-sellers.yaml +29 -0
- package/dist/clis/twitter/accept.js +2 -2
- package/dist/clis/twitter/article.js +2 -2
- package/dist/clis/twitter/block.d.ts +1 -0
- package/dist/clis/twitter/block.js +88 -0
- package/dist/clis/twitter/delete.js +1 -1
- package/dist/clis/twitter/hide-reply.d.ts +1 -0
- package/dist/clis/twitter/hide-reply.js +66 -0
- package/dist/clis/twitter/like.js +1 -1
- package/dist/clis/twitter/post.js +1 -1
- package/dist/clis/twitter/reply-dm.js +1 -1
- package/dist/clis/twitter/reply.js +2 -2
- package/dist/clis/twitter/search.js +1 -1
- package/dist/clis/twitter/thread.js +2 -2
- package/dist/clis/twitter/trending.d.ts +1 -0
- package/dist/clis/twitter/trending.js +91 -0
- package/dist/clis/twitter/unblock.d.ts +1 -0
- package/dist/clis/twitter/unblock.js +71 -0
- package/dist/clis/v2ex/topic.yaml +1 -0
- package/dist/clis/weibo/hot.js +0 -1
- package/dist/clis/weread/book.js +1 -1
- package/dist/clis/weread/highlights.js +1 -1
- package/dist/clis/weread/notes.js +1 -1
- package/dist/clis/weread/search.js +1 -1
- package/dist/clis/wikipedia/search.d.ts +1 -0
- package/dist/clis/wikipedia/search.js +30 -0
- package/dist/clis/wikipedia/summary.d.ts +1 -0
- package/dist/clis/wikipedia/summary.js +28 -0
- package/dist/clis/wikipedia/utils.d.ts +8 -0
- package/dist/clis/wikipedia/utils.js +18 -0
- package/dist/clis/xiaohongshu/creator-note-detail.d.ts +79 -5
- package/dist/clis/xiaohongshu/creator-note-detail.js +323 -70
- package/dist/clis/xiaohongshu/creator-note-detail.test.d.ts +1 -0
- package/dist/clis/xiaohongshu/creator-note-detail.test.js +258 -0
- package/dist/clis/xiaohongshu/creator-notes-summary.d.ts +28 -0
- package/dist/clis/xiaohongshu/creator-notes-summary.js +92 -0
- package/dist/clis/xiaohongshu/creator-notes-summary.test.d.ts +1 -0
- package/dist/clis/xiaohongshu/creator-notes-summary.test.js +49 -0
- package/dist/clis/xiaohongshu/creator-notes.d.ts +18 -5
- package/dist/clis/xiaohongshu/creator-notes.js +189 -71
- package/dist/clis/xiaohongshu/creator-notes.test.d.ts +1 -0
- package/dist/clis/xiaohongshu/creator-notes.test.js +191 -0
- package/dist/clis/xiaohongshu/creator-profile.js +0 -1
- package/dist/clis/xiaohongshu/creator-stats.js +0 -1
- package/dist/clis/xiaohongshu/download.js +2 -3
- package/dist/clis/xiaohongshu/feed.yaml +0 -1
- package/dist/clis/xiaohongshu/notifications.yaml +0 -1
- package/dist/clis/xiaohongshu/search.js +2 -2
- package/dist/clis/xiaohongshu/user.js +1 -2
- package/dist/clis/yahoo-finance/quote.js +0 -1
- package/dist/clis/youtube/search.js +1 -1
- package/dist/clis/youtube/transcript.js +1 -1
- package/dist/clis/youtube/video.js +1 -1
- package/dist/clis/zhihu/download.js +1 -2
- package/dist/clis/zhihu/question.js +1 -1
- package/dist/clis/zhihu/search.yaml +4 -3
- package/dist/commanderAdapter.d.ts +21 -0
- package/dist/commanderAdapter.js +111 -0
- package/dist/{engine.d.ts → discovery.d.ts} +0 -6
- package/dist/{engine.js → discovery.js} +1 -98
- package/dist/download/index.d.ts +2 -6
- package/dist/download/index.js +19 -46
- package/dist/engine.test.d.ts +1 -1
- package/dist/engine.test.js +8 -7
- package/dist/execution.d.ts +22 -0
- package/dist/execution.js +129 -0
- package/dist/explore.js +121 -107
- package/dist/external-clis.yaml +48 -0
- package/dist/external.d.ts +25 -0
- package/dist/external.js +156 -0
- package/dist/main.js +1 -1
- package/dist/pipeline/steps/browser.js +8 -2
- package/dist/registry.d.ts +2 -0
- package/dist/registry.js +2 -0
- package/dist/runtime.d.ts +5 -0
- package/dist/runtime.js +8 -0
- package/dist/serialization.d.ts +34 -0
- package/dist/serialization.js +63 -0
- package/dist/types.d.ts +4 -1
- package/docs/.vitepress/config.mts +14 -3
- package/docs/adapters/browser/arxiv.md +27 -0
- package/docs/adapters/browser/barchart.md +32 -0
- package/docs/adapters/browser/bloomberg.md +70 -0
- package/docs/adapters/browser/chaoxing.md +39 -0
- package/docs/adapters/browser/grok.md +35 -0
- package/docs/adapters/browser/hf.md +42 -0
- package/docs/adapters/browser/jike.md +45 -0
- package/docs/adapters/browser/jimeng.md +39 -0
- package/docs/adapters/browser/linux-do.md +45 -0
- package/docs/adapters/browser/sinafinance.md +35 -0
- package/docs/adapters/browser/stackoverflow.md +35 -0
- package/docs/adapters/browser/steam.md +26 -0
- package/docs/adapters/browser/twitter.md +3 -0
- package/docs/adapters/browser/weread.md +48 -0
- package/docs/adapters/browser/wikipedia.md +30 -0
- package/docs/adapters/browser/xiaohongshu.md +5 -1
- package/docs/adapters/desktop/chatgpt.md +3 -3
- package/docs/adapters/index.md +13 -0
- package/docs/advanced/download.md +4 -4
- package/docs/developer/architecture.md +17 -4
- package/package.json +1 -1
- package/scripts/check-doc-coverage.sh +69 -0
- package/scripts/copy-yaml.cjs +7 -0
- package/src/browser/cdp.ts +9 -4
- package/src/browser/page.ts +7 -1
- package/src/build-manifest.ts +25 -19
- package/src/cli.ts +253 -119
- package/src/clis/antigravity/serve.ts +323 -50
- package/src/clis/apple-podcasts/commands.test.ts +95 -0
- package/src/clis/apple-podcasts/search.ts +2 -2
- package/src/clis/apple-podcasts/top.ts +12 -2
- package/src/clis/arxiv/paper.ts +21 -0
- package/src/clis/arxiv/search.ts +24 -0
- package/src/clis/arxiv/utils.ts +63 -0
- package/src/clis/bilibili/dynamic.ts +1 -1
- package/src/clis/bilibili/favorite.ts +1 -1
- package/src/clis/bilibili/feed.ts +1 -1
- package/src/clis/bilibili/following.ts +1 -1
- package/src/clis/bilibili/history.ts +1 -1
- package/src/clis/bilibili/me.ts +1 -1
- package/src/clis/bilibili/ranking.ts +1 -1
- package/src/clis/bilibili/search.ts +3 -3
- package/src/clis/bilibili/subtitle.ts +1 -1
- package/src/clis/bilibili/user-videos.ts +1 -1
- package/src/{bilibili.ts → clis/bilibili/utils.ts} +1 -1
- package/src/clis/bloomberg/businessweek.ts +18 -0
- package/src/clis/bloomberg/economics.ts +18 -0
- package/src/clis/bloomberg/feeds.ts +16 -0
- package/src/clis/bloomberg/industries.ts +18 -0
- package/src/clis/bloomberg/main.ts +18 -0
- package/src/clis/bloomberg/markets.ts +18 -0
- package/src/clis/bloomberg/news.ts +136 -0
- package/src/clis/bloomberg/opinions.ts +18 -0
- package/src/clis/bloomberg/politics.ts +18 -0
- package/src/clis/bloomberg/tech.ts +18 -0
- package/src/clis/bloomberg/utils.test.ts +135 -0
- package/src/clis/bloomberg/utils.ts +429 -0
- package/src/clis/boss/batchgreet.ts +167 -0
- package/src/clis/boss/chatlist.ts +2 -2
- package/src/clis/boss/detail.ts +2 -2
- package/src/clis/boss/exchange.ts +126 -0
- package/src/clis/boss/greet.ts +198 -0
- package/src/clis/boss/invite.ts +177 -0
- package/src/clis/boss/joblist.ts +63 -0
- package/src/clis/boss/mark.ts +155 -0
- package/src/clis/boss/recommend.ts +94 -0
- package/src/clis/boss/search.ts +1 -1
- package/src/clis/boss/send.ts +1 -1
- package/src/clis/boss/stats.ts +130 -0
- package/src/clis/chaoxing/assignments.ts +1 -1
- package/src/clis/chaoxing/exams.ts +1 -1
- package/src/{chaoxing.test.ts → clis/chaoxing/utils.test.ts} +1 -1
- package/src/{chaoxing.ts → clis/chaoxing/utils.ts} +1 -3
- package/src/clis/chatgpt/README.zh-CN.md +3 -3
- package/src/clis/chatgpt/read.ts +1 -1
- package/src/clis/chatwise/export.ts +1 -1
- package/src/clis/chatwise/model.ts +2 -2
- package/src/clis/chatwise/screenshot.ts +1 -1
- package/src/clis/codex/export.ts +1 -1
- package/src/clis/codex/model.ts +2 -2
- package/src/clis/codex/screenshot.ts +1 -1
- package/src/clis/coupang/add-to-cart.ts +3 -4
- package/src/clis/coupang/search.ts +2 -4
- package/src/{coupang.test.ts → clis/coupang/utils.test.ts} +1 -1
- package/src/clis/ctrip/search.ts +1 -1
- package/src/clis/cursor/export.ts +1 -1
- package/src/clis/cursor/model.ts +2 -2
- package/src/clis/cursor/screenshot.ts +1 -1
- package/src/clis/jike/comment.ts +2 -3
- package/src/clis/jike/create.ts +1 -2
- package/src/clis/jike/feed.ts +0 -1
- package/src/clis/jike/like.ts +1 -2
- package/src/clis/jike/notifications.ts +0 -1
- package/src/clis/jike/post.yaml +1 -0
- package/src/clis/jike/repost.ts +1 -2
- package/src/clis/jike/search.ts +2 -3
- package/src/clis/jike/topic.yaml +1 -0
- package/src/clis/jike/user.yaml +1 -0
- package/src/clis/jimeng/history.yaml +0 -1
- package/src/clis/linkedin/search.ts +7 -7
- package/src/clis/linux-do/category.yaml +1 -0
- package/src/clis/linux-do/search.yaml +4 -3
- package/src/clis/linux-do/topic.yaml +1 -0
- package/src/clis/notion/export.ts +1 -1
- package/src/clis/reddit/comment.ts +3 -4
- package/src/clis/reddit/read.ts +4 -5
- package/src/clis/reddit/save.ts +2 -3
- package/src/clis/reddit/saved.ts +0 -1
- package/src/clis/reddit/search.yaml +1 -0
- package/src/clis/reddit/subscribe.ts +0 -1
- package/src/clis/reddit/upvote.ts +2 -3
- package/src/clis/reddit/upvoted.ts +0 -1
- package/src/clis/reddit/user-comments.yaml +1 -0
- package/src/clis/reddit/user-posts.yaml +1 -0
- package/src/clis/reddit/user.yaml +1 -0
- package/src/clis/reuters/search.ts +1 -1
- package/src/clis/sinafinance/news.ts +76 -0
- package/src/clis/smzdm/search.ts +2 -3
- package/src/clis/stackoverflow/search.yaml +1 -0
- package/src/clis/steam/top-sellers.yaml +29 -0
- package/src/clis/twitter/accept.ts +2 -2
- package/src/clis/twitter/article.ts +2 -2
- package/src/clis/twitter/block.ts +92 -0
- package/src/clis/twitter/delete.ts +1 -1
- package/src/clis/twitter/hide-reply.ts +70 -0
- package/src/clis/twitter/like.ts +1 -1
- package/src/clis/twitter/post.ts +1 -1
- package/src/clis/twitter/reply-dm.ts +1 -1
- package/src/clis/twitter/reply.ts +2 -2
- package/src/clis/twitter/search.ts +1 -1
- package/src/clis/twitter/thread.ts +2 -2
- package/src/clis/twitter/trending.ts +113 -0
- package/src/clis/twitter/unblock.ts +75 -0
- package/src/clis/v2ex/topic.yaml +1 -0
- package/src/clis/weibo/hot.ts +0 -1
- package/src/clis/weread/book.ts +1 -1
- package/src/clis/weread/highlights.ts +1 -1
- package/src/clis/weread/notes.ts +1 -1
- package/src/clis/weread/search.ts +1 -1
- package/src/clis/wikipedia/search.ts +32 -0
- package/src/clis/wikipedia/summary.ts +28 -0
- package/src/clis/wikipedia/utils.ts +20 -0
- package/src/clis/xiaohongshu/creator-note-detail.test.ts +272 -0
- package/src/clis/xiaohongshu/creator-note-detail.ts +425 -73
- package/src/clis/xiaohongshu/creator-notes-summary.test.ts +54 -0
- package/src/clis/xiaohongshu/creator-notes-summary.ts +120 -0
- package/src/clis/xiaohongshu/creator-notes.test.ts +211 -0
- package/src/clis/xiaohongshu/creator-notes.ts +254 -75
- package/src/clis/xiaohongshu/creator-profile.ts +0 -1
- package/src/clis/xiaohongshu/creator-stats.ts +0 -1
- package/src/clis/xiaohongshu/download.ts +2 -3
- package/src/clis/xiaohongshu/feed.yaml +0 -1
- package/src/clis/xiaohongshu/notifications.yaml +0 -1
- package/src/clis/xiaohongshu/search.ts +2 -2
- package/src/clis/xiaohongshu/user.ts +1 -2
- package/src/clis/yahoo-finance/quote.ts +0 -1
- package/src/clis/youtube/search.ts +1 -1
- package/src/clis/youtube/transcript.ts +1 -1
- package/src/clis/youtube/video.ts +1 -1
- package/src/clis/zhihu/download.ts +1 -2
- package/src/clis/zhihu/question.ts +1 -1
- package/src/clis/zhihu/search.yaml +4 -3
- package/src/commanderAdapter.ts +113 -0
- package/src/daemon.ts +3 -3
- package/src/{engine.ts → discovery.ts} +1 -108
- package/src/download/index.ts +21 -54
- package/src/engine.test.ts +8 -7
- package/src/execution.ts +138 -0
- package/src/explore.ts +135 -109
- package/src/external-clis.yaml +48 -0
- package/src/external.ts +185 -0
- package/src/main.ts +1 -1
- package/src/pipeline/steps/browser.ts +7 -2
- package/src/registry.ts +5 -0
- package/src/runtime.ts +9 -0
- package/src/serialization.ts +79 -0
- package/src/types.ts +1 -1
- package/tests/e2e/browser-public.test.ts +25 -0
- package/tests/e2e/public-commands.test.ts +55 -1
- package/dist/clis/twitter/trending.yaml +0 -46
- package/src/clis/twitter/trending.yaml +0 -46
- /package/dist/{chaoxing.test.d.ts → clis/arxiv/paper.d.ts} +0 -0
- /package/dist/{coupang.test.d.ts → clis/arxiv/search.d.ts} +0 -0
- /package/dist/{bilibili.js → clis/bilibili/utils.js} +0 -0
- /package/dist/{coupang.d.ts → clis/coupang/utils.d.ts} +0 -0
- /package/dist/{coupang.js → clis/coupang/utils.js} +0 -0
- /package/src/{coupang.ts → clis/coupang/utils.ts} +0 -0
package/dist/runtime.js
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
import { BrowserBridge, CDPBridge } from './browser/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Returns the appropriate browser factory based on environment config.
|
|
4
|
+
* Uses CDPBridge when OPENCLI_CDP_ENDPOINT is set, otherwise BrowserBridge.
|
|
5
|
+
*/
|
|
6
|
+
export function getBrowserFactory() {
|
|
7
|
+
return (process.env.OPENCLI_CDP_ENDPOINT ? CDPBridge : BrowserBridge);
|
|
8
|
+
}
|
|
1
9
|
export const DEFAULT_BROWSER_CONNECT_TIMEOUT = parseInt(process.env.OPENCLI_BROWSER_CONNECT_TIMEOUT ?? '30', 10);
|
|
2
10
|
export const DEFAULT_BROWSER_COMMAND_TIMEOUT = parseInt(process.env.OPENCLI_BROWSER_COMMAND_TIMEOUT ?? '60', 10);
|
|
3
11
|
export const DEFAULT_BROWSER_EXPLORE_TIMEOUT = parseInt(process.env.OPENCLI_BROWSER_EXPLORE_TIMEOUT ?? '120', 10);
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Serialization and formatting helpers for CLI commands and args.
|
|
3
|
+
*
|
|
4
|
+
* Used by the `list` command, Commander --help, and build-manifest.
|
|
5
|
+
* Separated from registry.ts to keep the registry focused on types + registration.
|
|
6
|
+
*/
|
|
7
|
+
import type { Arg, CliCommand } from './registry.js';
|
|
8
|
+
export type SerializedArg = {
|
|
9
|
+
name: string;
|
|
10
|
+
type: string;
|
|
11
|
+
required: boolean;
|
|
12
|
+
positional: boolean;
|
|
13
|
+
choices: string[];
|
|
14
|
+
default: unknown;
|
|
15
|
+
help: string;
|
|
16
|
+
};
|
|
17
|
+
/** Stable arg schema — every field is always present (no sparse objects). */
|
|
18
|
+
export declare function serializeArg(a: Arg): SerializedArg;
|
|
19
|
+
/** Full command metadata for structured output (json/yaml). */
|
|
20
|
+
export declare function serializeCommand(cmd: CliCommand): {
|
|
21
|
+
command: string;
|
|
22
|
+
site: string;
|
|
23
|
+
name: string;
|
|
24
|
+
description: string;
|
|
25
|
+
strategy: string;
|
|
26
|
+
browser: boolean;
|
|
27
|
+
args: SerializedArg[];
|
|
28
|
+
columns: string[];
|
|
29
|
+
domain: string | null;
|
|
30
|
+
};
|
|
31
|
+
/** Human-readable arg summary: `<required> [optional]` style. */
|
|
32
|
+
export declare function formatArgSummary(args: Arg[]): string;
|
|
33
|
+
/** Generate the --help appendix showing registry metadata not exposed by Commander. */
|
|
34
|
+
export declare function formatRegistryHelpText(cmd: CliCommand): string;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Serialization and formatting helpers for CLI commands and args.
|
|
3
|
+
*
|
|
4
|
+
* Used by the `list` command, Commander --help, and build-manifest.
|
|
5
|
+
* Separated from registry.ts to keep the registry focused on types + registration.
|
|
6
|
+
*/
|
|
7
|
+
import { fullName, strategyLabel } from './registry.js';
|
|
8
|
+
/** Stable arg schema — every field is always present (no sparse objects). */
|
|
9
|
+
export function serializeArg(a) {
|
|
10
|
+
return {
|
|
11
|
+
name: a.name,
|
|
12
|
+
type: a.type ?? 'string',
|
|
13
|
+
required: !!a.required,
|
|
14
|
+
positional: !!a.positional,
|
|
15
|
+
choices: a.choices ?? [],
|
|
16
|
+
default: a.default ?? null,
|
|
17
|
+
help: a.help ?? '',
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/** Full command metadata for structured output (json/yaml). */
|
|
21
|
+
export function serializeCommand(cmd) {
|
|
22
|
+
return {
|
|
23
|
+
command: fullName(cmd),
|
|
24
|
+
site: cmd.site,
|
|
25
|
+
name: cmd.name,
|
|
26
|
+
description: cmd.description,
|
|
27
|
+
strategy: strategyLabel(cmd),
|
|
28
|
+
browser: !!cmd.browser,
|
|
29
|
+
args: cmd.args.map(serializeArg),
|
|
30
|
+
columns: cmd.columns ?? [],
|
|
31
|
+
domain: cmd.domain ?? null,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
// ── Formatting ──────────────────────────────────────────────────────────────
|
|
35
|
+
/** Human-readable arg summary: `<required> [optional]` style. */
|
|
36
|
+
export function formatArgSummary(args) {
|
|
37
|
+
return args
|
|
38
|
+
.map(a => {
|
|
39
|
+
if (a.positional)
|
|
40
|
+
return a.required ? `<${a.name}>` : `[${a.name}]`;
|
|
41
|
+
return a.required ? `--${a.name}` : `[--${a.name}]`;
|
|
42
|
+
})
|
|
43
|
+
.join(' ');
|
|
44
|
+
}
|
|
45
|
+
/** Generate the --help appendix showing registry metadata not exposed by Commander. */
|
|
46
|
+
export function formatRegistryHelpText(cmd) {
|
|
47
|
+
const lines = [];
|
|
48
|
+
const choicesArgs = cmd.args.filter(a => a.choices?.length);
|
|
49
|
+
for (const a of choicesArgs) {
|
|
50
|
+
const prefix = a.positional ? `<${a.name}>` : `--${a.name}`;
|
|
51
|
+
const def = a.default != null ? ` (default: ${a.default})` : '';
|
|
52
|
+
lines.push(` ${prefix}: ${a.choices.join(', ')}${def}`);
|
|
53
|
+
}
|
|
54
|
+
const meta = [];
|
|
55
|
+
meta.push(`Strategy: ${strategyLabel(cmd)}`);
|
|
56
|
+
meta.push(`Browser: ${cmd.browser ? 'yes' : 'no'}`);
|
|
57
|
+
if (cmd.domain)
|
|
58
|
+
meta.push(`Domain: ${cmd.domain}`);
|
|
59
|
+
lines.push(meta.join(' | '));
|
|
60
|
+
if (cmd.columns?.length)
|
|
61
|
+
lines.push(`Output columns: ${cmd.columns.join(', ')}`);
|
|
62
|
+
return '\n' + lines.join('\n') + '\n';
|
|
63
|
+
}
|
package/dist/types.d.ts
CHANGED
|
@@ -5,7 +5,10 @@
|
|
|
5
5
|
* instead of `any` for browser interactions.
|
|
6
6
|
*/
|
|
7
7
|
export interface IPage {
|
|
8
|
-
goto(url: string
|
|
8
|
+
goto(url: string, options?: {
|
|
9
|
+
waitUntil?: 'load' | 'none';
|
|
10
|
+
settleMs?: number;
|
|
11
|
+
}): Promise<void>;
|
|
9
12
|
evaluate(js: string): Promise<any>;
|
|
10
13
|
getCookies(opts?: {
|
|
11
14
|
domain?: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineConfig } from 'vitepress'
|
|
2
2
|
|
|
3
3
|
export default defineConfig({
|
|
4
|
-
base: '/
|
|
4
|
+
base: '/docs/',
|
|
5
5
|
title: 'OpenCLI',
|
|
6
6
|
description: 'Make any website or Electron App your CLI — AI-powered, account-safe, self-healing.',
|
|
7
7
|
|
|
@@ -54,12 +54,19 @@ export default defineConfig({
|
|
|
54
54
|
{ text: 'YouTube', link: '/adapters/browser/youtube' },
|
|
55
55
|
{ text: 'Xueqiu', link: '/adapters/browser/xueqiu' },
|
|
56
56
|
{ text: 'V2EX', link: '/adapters/browser/v2ex' },
|
|
57
|
+
{ text: 'Bloomberg', link: '/adapters/browser/bloomberg' },
|
|
57
58
|
{ text: 'LinkedIn', link: '/adapters/browser/linkedin' },
|
|
58
59
|
{ text: 'Coupang', link: '/adapters/browser/coupang' },
|
|
59
60
|
{ text: 'BOSS Zhipin', link: '/adapters/browser/boss' },
|
|
60
61
|
{ text: 'Ctrip', link: '/adapters/browser/ctrip' },
|
|
61
62
|
{ text: 'Reuters', link: '/adapters/browser/reuters' },
|
|
62
63
|
{ text: 'SMZDM', link: '/adapters/browser/smzdm' },
|
|
64
|
+
{ text: 'Jike', link: '/adapters/browser/jike' },
|
|
65
|
+
{ text: 'Jimeng', link: '/adapters/browser/jimeng' },
|
|
66
|
+
{ text: 'LINUX DO', link: '/adapters/browser/linux-do' },
|
|
67
|
+
{ text: 'Chaoxing', link: '/adapters/browser/chaoxing' },
|
|
68
|
+
{ text: 'Grok', link: '/adapters/browser/grok' },
|
|
69
|
+
{ text: 'WeRead', link: '/adapters/browser/weread' },
|
|
63
70
|
],
|
|
64
71
|
},
|
|
65
72
|
{
|
|
@@ -72,6 +79,12 @@ export default defineConfig({
|
|
|
72
79
|
{ text: 'Apple Podcasts', link: '/adapters/browser/apple-podcasts' },
|
|
73
80
|
{ text: 'Xiaoyuzhou', link: '/adapters/browser/xiaoyuzhou' },
|
|
74
81
|
{ text: 'Yahoo Finance', link: '/adapters/browser/yahoo-finance' },
|
|
82
|
+
{ text: 'arXiv', link: '/adapters/browser/arxiv' },
|
|
83
|
+
{ text: 'Barchart', link: '/adapters/browser/barchart' },
|
|
84
|
+
{ text: 'Hugging Face', link: '/adapters/browser/hf' },
|
|
85
|
+
{ text: 'Sina Finance', link: '/adapters/browser/sinafinance' },
|
|
86
|
+
{ text: 'Stack Overflow', link: '/adapters/browser/stackoverflow' },
|
|
87
|
+
{ text: 'Wikipedia', link: '/adapters/browser/wikipedia' },
|
|
75
88
|
],
|
|
76
89
|
},
|
|
77
90
|
{
|
|
@@ -137,7 +150,6 @@ export default defineConfig({
|
|
|
137
150
|
{ text: '快速开始', link: '/zh/guide/getting-started' },
|
|
138
151
|
{ text: '安装', link: '/zh/guide/installation' },
|
|
139
152
|
{ text: 'Browser Bridge', link: '/zh/guide/browser-bridge' },
|
|
140
|
-
{ text: '问题排查', link: '/zh/guide/troubleshooting' },
|
|
141
153
|
],
|
|
142
154
|
},
|
|
143
155
|
],
|
|
@@ -154,7 +166,6 @@ export default defineConfig({
|
|
|
154
166
|
text: '开发者指南',
|
|
155
167
|
items: [
|
|
156
168
|
{ text: '贡献指南', link: '/zh/developer/contributing' },
|
|
157
|
-
{ text: '测试', link: '/zh/developer/testing' },
|
|
158
169
|
],
|
|
159
170
|
},
|
|
160
171
|
],
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# arXiv
|
|
2
|
+
|
|
3
|
+
**Mode**: 🌐 Public · **Domain**: `arxiv.org`
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
|
|
7
|
+
| Command | Description |
|
|
8
|
+
|---------|-------------|
|
|
9
|
+
| `opencli arxiv search` | Search arXiv papers |
|
|
10
|
+
| `opencli arxiv paper` | Get arXiv paper details by ID |
|
|
11
|
+
|
|
12
|
+
## Usage Examples
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# Search for papers
|
|
16
|
+
opencli arxiv search "transformer attention" --limit 10
|
|
17
|
+
|
|
18
|
+
# Get paper details by arXiv ID
|
|
19
|
+
opencli arxiv paper 2301.00001
|
|
20
|
+
|
|
21
|
+
# JSON output
|
|
22
|
+
opencli arxiv search "LLM" -f json
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Prerequisites
|
|
26
|
+
|
|
27
|
+
- No browser required — uses public arXiv API
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Barchart
|
|
2
|
+
|
|
3
|
+
**Mode**: 🌐 Public · **Domain**: `barchart.com`
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
|
|
7
|
+
| Command | Description |
|
|
8
|
+
|---------|-------------|
|
|
9
|
+
| `opencli barchart quote` | Stock quote with price, volume, and key metrics |
|
|
10
|
+
| `opencli barchart options` | Options chain with greeks, IV, volume, and open interest |
|
|
11
|
+
| `opencli barchart greeks` | Options greeks overview (IV, delta, gamma, theta, vega) |
|
|
12
|
+
| `opencli barchart flow` | Unusual options activity / options flow |
|
|
13
|
+
|
|
14
|
+
## Usage Examples
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# Get stock quote
|
|
18
|
+
opencli barchart quote --symbol AAPL
|
|
19
|
+
|
|
20
|
+
# View options chain
|
|
21
|
+
opencli barchart options --symbol TSLA
|
|
22
|
+
|
|
23
|
+
# Options greeks overview
|
|
24
|
+
opencli barchart greeks --symbol NVDA
|
|
25
|
+
|
|
26
|
+
# Unusual options flow
|
|
27
|
+
opencli barchart flow --limit 20 -f json
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Prerequisites
|
|
31
|
+
|
|
32
|
+
- No browser required — uses public API
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Bloomberg
|
|
2
|
+
|
|
3
|
+
**Mode**: 🌐 / 🔐 Mixed · **Domains**: `feeds.bloomberg.com`, `www.bloomberg.com`
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
|
|
7
|
+
| Command | Description |
|
|
8
|
+
|---------|-------------|
|
|
9
|
+
| `opencli bloomberg main` | Bloomberg homepage top stories from RSS |
|
|
10
|
+
| `opencli bloomberg markets` | Bloomberg Markets top stories from RSS |
|
|
11
|
+
| `opencli bloomberg economics` | Bloomberg Economics top stories from RSS |
|
|
12
|
+
| `opencli bloomberg industries` | Bloomberg Industries top stories from RSS |
|
|
13
|
+
| `opencli bloomberg tech` | Bloomberg Tech top stories from RSS |
|
|
14
|
+
| `opencli bloomberg politics` | Bloomberg Politics top stories from RSS |
|
|
15
|
+
| `opencli bloomberg businessweek` | Bloomberg Businessweek top stories from RSS |
|
|
16
|
+
| `opencli bloomberg opinions` | Bloomberg Opinion top stories from RSS |
|
|
17
|
+
| `opencli bloomberg feeds` | List the RSS feed aliases used by the adapter |
|
|
18
|
+
| `opencli bloomberg news <link>` | Read a standard Bloomberg story/article page and return title, summary, media links, and article text |
|
|
19
|
+
|
|
20
|
+
## What works today
|
|
21
|
+
|
|
22
|
+
- RSS-backed listing commands work without a browser:
|
|
23
|
+
- `main`
|
|
24
|
+
- `markets`
|
|
25
|
+
- `economics`
|
|
26
|
+
- `industries`
|
|
27
|
+
- `tech`
|
|
28
|
+
- `politics`
|
|
29
|
+
- `businessweek`
|
|
30
|
+
- `opinions`
|
|
31
|
+
- `feeds`
|
|
32
|
+
- `bloomberg news` works on standard Bloomberg story/article pages that expose `#__NEXT_DATA__` and are accessible to your current Chrome session.
|
|
33
|
+
|
|
34
|
+
## Current limitations
|
|
35
|
+
|
|
36
|
+
- Audio pages and some other non-standard Bloomberg URLs may fail.
|
|
37
|
+
- Some Bloomberg pages can return bot-protection or access-gated responses instead of article data.
|
|
38
|
+
- This adapter is for data retrieval/extraction only. It does **not** bypass Bloomberg paywall, login, entitlement, or other access checks.
|
|
39
|
+
|
|
40
|
+
## Usage Examples
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# List supported RSS feed aliases
|
|
44
|
+
opencli bloomberg feeds
|
|
45
|
+
|
|
46
|
+
# Fetch Bloomberg homepage headlines
|
|
47
|
+
opencli bloomberg main --limit 5
|
|
48
|
+
|
|
49
|
+
# Fetch a section feed as JSON
|
|
50
|
+
opencli bloomberg tech --limit 3 -f json
|
|
51
|
+
|
|
52
|
+
# Read a standard article page
|
|
53
|
+
opencli bloomberg news https://www.bloomberg.com/news/articles/2026-03-19/example -f json
|
|
54
|
+
|
|
55
|
+
# Relative article paths also work
|
|
56
|
+
opencli bloomberg news /news/articles/2026-03-19/example
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Prerequisites
|
|
60
|
+
|
|
61
|
+
- RSS commands do not require Chrome.
|
|
62
|
+
- `bloomberg news` requires:
|
|
63
|
+
- Chrome running
|
|
64
|
+
- a Chrome session that can already access the target Bloomberg article page
|
|
65
|
+
- the [Browser Bridge extension](/guide/browser-bridge)
|
|
66
|
+
|
|
67
|
+
## Notes
|
|
68
|
+
|
|
69
|
+
- RSS commands support `--limit` with a maximum of 20 items.
|
|
70
|
+
- If `bloomberg news` fails on a page from RSS, try a different standard story/article link first; not every Bloomberg URL in feeds is a normal article page.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# 超星学习通 (Chaoxing)
|
|
2
|
+
|
|
3
|
+
**Mode**: 🔐 Browser · **Domain**: `mooc2-ans.chaoxing.com`
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
|
|
7
|
+
| Command | Description |
|
|
8
|
+
|---------|-------------|
|
|
9
|
+
| `opencli chaoxing assignments` | 学习通作业列表 |
|
|
10
|
+
| `opencli chaoxing exams` | 学习通考试列表 |
|
|
11
|
+
|
|
12
|
+
## Usage Examples
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# List all assignments
|
|
16
|
+
opencli chaoxing assignments --limit 20
|
|
17
|
+
|
|
18
|
+
# Filter exams by course name
|
|
19
|
+
opencli chaoxing exams --course "高等数学"
|
|
20
|
+
|
|
21
|
+
# Filter exams by status
|
|
22
|
+
opencli chaoxing exams --status ongoing
|
|
23
|
+
|
|
24
|
+
# JSON output
|
|
25
|
+
opencli chaoxing assignments -f json
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Options
|
|
29
|
+
|
|
30
|
+
| Option | Description |
|
|
31
|
+
|--------|-------------|
|
|
32
|
+
| `--course` | Filter by course name (fuzzy match) |
|
|
33
|
+
| `--status` | Filter by status: `all`, `upcoming`, `ongoing`, `finished` |
|
|
34
|
+
| `--limit` | Max number of results (default: 20) |
|
|
35
|
+
|
|
36
|
+
## Prerequisites
|
|
37
|
+
|
|
38
|
+
- Chrome running and **logged into** mooc2-ans.chaoxing.com
|
|
39
|
+
- [Browser Bridge extension](/guide/browser-bridge) installed
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Grok
|
|
2
|
+
|
|
3
|
+
**Mode**: 🔐 Browser · **Domain**: `grok.com`
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
|
|
7
|
+
| Command | Description |
|
|
8
|
+
|---------|-------------|
|
|
9
|
+
| `opencli grok ask` | Send a message to Grok and get response |
|
|
10
|
+
|
|
11
|
+
## Usage Examples
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Ask Grok a question
|
|
15
|
+
opencli grok ask --prompt "Explain quantum computing in simple terms"
|
|
16
|
+
|
|
17
|
+
# Start a new chat session
|
|
18
|
+
opencli grok ask --prompt "Hello" --new
|
|
19
|
+
|
|
20
|
+
# Set custom timeout (default: 120s)
|
|
21
|
+
opencli grok ask --prompt "Write a long essay" --timeout 180
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Options
|
|
25
|
+
|
|
26
|
+
| Option | Description |
|
|
27
|
+
|--------|-------------|
|
|
28
|
+
| `--prompt` | The message to send (required) |
|
|
29
|
+
| `--timeout` | Wait timeout in seconds (default: 120) |
|
|
30
|
+
| `--new` | Start a new chat session (default: false) |
|
|
31
|
+
|
|
32
|
+
## Prerequisites
|
|
33
|
+
|
|
34
|
+
- Chrome running and **logged into** grok.com
|
|
35
|
+
- [Browser Bridge extension](/guide/browser-bridge) installed
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Hugging Face
|
|
2
|
+
|
|
3
|
+
**Mode**: 🌐 Public · **Domain**: `huggingface.co`
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
|
|
7
|
+
| Command | Description |
|
|
8
|
+
|---------|-------------|
|
|
9
|
+
| `opencli hf top` | Top upvoted Hugging Face papers |
|
|
10
|
+
|
|
11
|
+
## Usage Examples
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Today's top papers
|
|
15
|
+
opencli hf top --limit 10
|
|
16
|
+
|
|
17
|
+
# All papers (no limit)
|
|
18
|
+
opencli hf top --all
|
|
19
|
+
|
|
20
|
+
# Specific date
|
|
21
|
+
opencli hf top --date 2025-03-01
|
|
22
|
+
|
|
23
|
+
# Weekly/monthly top papers
|
|
24
|
+
opencli hf top --period weekly
|
|
25
|
+
opencli hf top --period monthly
|
|
26
|
+
|
|
27
|
+
# JSON output
|
|
28
|
+
opencli hf top -f json
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Options
|
|
32
|
+
|
|
33
|
+
| Option | Description |
|
|
34
|
+
|--------|-------------|
|
|
35
|
+
| `--limit` | Number of papers (default: 20) |
|
|
36
|
+
| `--all` | Return all papers, ignoring limit |
|
|
37
|
+
| `--date` | Date in `YYYY-MM-DD` format (defaults to most recent) |
|
|
38
|
+
| `--period` | Time period: `daily`, `weekly`, or `monthly` (default: daily) |
|
|
39
|
+
|
|
40
|
+
## Prerequisites
|
|
41
|
+
|
|
42
|
+
- No browser required — uses public Hugging Face API
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# 即刻 (Jike)
|
|
2
|
+
|
|
3
|
+
**Mode**: 🔐 Browser · **Domain**: `web.okjike.com`
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
|
|
7
|
+
| Command | Description |
|
|
8
|
+
|---------|-------------|
|
|
9
|
+
| `opencli jike feed` | 即刻首页动态流 |
|
|
10
|
+
| `opencli jike search` | 搜索即刻帖子 |
|
|
11
|
+
| `opencli jike post` | 帖子详情及评论 |
|
|
12
|
+
| `opencli jike topic` | 话题详情 |
|
|
13
|
+
| `opencli jike user` | 用户资料 |
|
|
14
|
+
| `opencli jike create` | 发布即刻动态 |
|
|
15
|
+
| `opencli jike comment` | 评论即刻帖子 |
|
|
16
|
+
| `opencli jike like` | 点赞即刻帖子 |
|
|
17
|
+
| `opencli jike repost` | 转发即刻帖子 |
|
|
18
|
+
| `opencli jike notifications` | 即刻通知 |
|
|
19
|
+
|
|
20
|
+
## Usage Examples
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# View feed
|
|
24
|
+
opencli jike feed --limit 10
|
|
25
|
+
|
|
26
|
+
# Search posts
|
|
27
|
+
opencli jike search "AI" --limit 20
|
|
28
|
+
|
|
29
|
+
# View post details and comments
|
|
30
|
+
opencli jike post <post-id>
|
|
31
|
+
|
|
32
|
+
# Create a new post
|
|
33
|
+
opencli jike create --content "Hello Jike!"
|
|
34
|
+
|
|
35
|
+
# Like a post
|
|
36
|
+
opencli jike like <post-id>
|
|
37
|
+
|
|
38
|
+
# JSON output
|
|
39
|
+
opencli jike feed -f json
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Prerequisites
|
|
43
|
+
|
|
44
|
+
- Chrome running and **logged into** web.okjike.com
|
|
45
|
+
- [Browser Bridge extension](/guide/browser-bridge) installed
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# 即梦AI (Jimeng)
|
|
2
|
+
|
|
3
|
+
**Mode**: 🔐 Browser · **Domain**: `jimeng.jianying.com`
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
|
|
7
|
+
| Command | Description |
|
|
8
|
+
|---------|-------------|
|
|
9
|
+
| `opencli jimeng generate` | 即梦AI 文生图 — 输入 prompt 生成图片 |
|
|
10
|
+
| `opencli jimeng history` | 查看生成历史 |
|
|
11
|
+
|
|
12
|
+
## Usage Examples
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# Generate an image
|
|
16
|
+
opencli jimeng generate --prompt "一只在星空下的猫"
|
|
17
|
+
|
|
18
|
+
# Use a specific model
|
|
19
|
+
opencli jimeng generate --prompt "cyberpunk city" --model high_aes_general_v50
|
|
20
|
+
|
|
21
|
+
# Set custom wait timeout
|
|
22
|
+
opencli jimeng generate --prompt "sunset landscape" --wait 60
|
|
23
|
+
|
|
24
|
+
# View generation history
|
|
25
|
+
opencli jimeng history --limit 10
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Options (generate)
|
|
29
|
+
|
|
30
|
+
| Option | Description |
|
|
31
|
+
|--------|-------------|
|
|
32
|
+
| `--prompt` | Image description prompt (required) |
|
|
33
|
+
| `--model` | Model: `high_aes_general_v50` (5.0 Lite), `high_aes_general_v42` (4.6), `high_aes_general_v40` (4.0) |
|
|
34
|
+
| `--wait` | Wait seconds for generation (default: 40) |
|
|
35
|
+
|
|
36
|
+
## Prerequisites
|
|
37
|
+
|
|
38
|
+
- Chrome running and **logged into** jimeng.jianying.com
|
|
39
|
+
- [Browser Bridge extension](/guide/browser-bridge) installed
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# LINUX DO
|
|
2
|
+
|
|
3
|
+
**Mode**: 🔐 Browser · **Domain**: `linux.do`
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
|
|
7
|
+
| Command | Description |
|
|
8
|
+
|---------|-------------|
|
|
9
|
+
| `opencli linux-do hot` | 热门话题 |
|
|
10
|
+
| `opencli linux-do latest` | 最新话题 |
|
|
11
|
+
| `opencli linux-do categories` | 板块列表 |
|
|
12
|
+
| `opencli linux-do category` | 板块话题 |
|
|
13
|
+
| `opencli linux-do search` | 搜索话题 |
|
|
14
|
+
| `opencli linux-do topic` | 话题详情 |
|
|
15
|
+
|
|
16
|
+
## Usage Examples
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# Hot topics this week
|
|
20
|
+
opencli linux-do hot --limit 20
|
|
21
|
+
|
|
22
|
+
# Hot topics by period
|
|
23
|
+
opencli linux-do hot --period daily
|
|
24
|
+
opencli linux-do hot --period monthly
|
|
25
|
+
|
|
26
|
+
# Latest topics
|
|
27
|
+
opencli linux-do latest --limit 10
|
|
28
|
+
|
|
29
|
+
# List all categories
|
|
30
|
+
opencli linux-do categories
|
|
31
|
+
|
|
32
|
+
# Search topics
|
|
33
|
+
opencli linux-do search "NixOS"
|
|
34
|
+
|
|
35
|
+
# View topic details
|
|
36
|
+
opencli linux-do topic 12345
|
|
37
|
+
|
|
38
|
+
# JSON output
|
|
39
|
+
opencli linux-do hot -f json
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Prerequisites
|
|
43
|
+
|
|
44
|
+
- Chrome running and **logged into** linux.do
|
|
45
|
+
- [Browser Bridge extension](/guide/browser-bridge) installed
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# 新浪财经 (Sina Finance)
|
|
2
|
+
|
|
3
|
+
**Mode**: 🌐 Public · **Domain**: `finance.sina.com.cn`
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
|
|
7
|
+
| Command | Description |
|
|
8
|
+
|---------|-------------|
|
|
9
|
+
| `opencli sinafinance news` | 新浪财经 7×24 小时实时快讯 |
|
|
10
|
+
|
|
11
|
+
## Usage Examples
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Latest financial news
|
|
15
|
+
opencli sinafinance news --limit 20
|
|
16
|
+
|
|
17
|
+
# Filter by type
|
|
18
|
+
opencli sinafinance news --type 1 # A股
|
|
19
|
+
opencli sinafinance news --type 2 # 宏观
|
|
20
|
+
opencli sinafinance news --type 6 # 国际
|
|
21
|
+
|
|
22
|
+
# JSON output
|
|
23
|
+
opencli sinafinance news -f json
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Options
|
|
27
|
+
|
|
28
|
+
| Option | Description |
|
|
29
|
+
|--------|-------------|
|
|
30
|
+
| `--limit` | Max results, up to 50 (default: 20) |
|
|
31
|
+
| `--type` | News type: `0`=全部, `1`=A股, `2`=宏观, `3`=公司, `4`=数据, `5`=市场, `6`=国际, `7`=观点, `8`=央行, `9`=其它 |
|
|
32
|
+
|
|
33
|
+
## Prerequisites
|
|
34
|
+
|
|
35
|
+
- No browser required — uses public API
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Stack Overflow
|
|
2
|
+
|
|
3
|
+
**Mode**: 🌐 Public · **Domain**: `stackoverflow.com`
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
|
|
7
|
+
| Command | Description |
|
|
8
|
+
|---------|-------------|
|
|
9
|
+
| `opencli stackoverflow hot` | Hot questions |
|
|
10
|
+
| `opencli stackoverflow search` | Search questions |
|
|
11
|
+
| `opencli stackoverflow bounties` | Questions with active bounties |
|
|
12
|
+
| `opencli stackoverflow unanswered` | Unanswered questions |
|
|
13
|
+
|
|
14
|
+
## Usage Examples
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# Hot questions
|
|
18
|
+
opencli stackoverflow hot --limit 10
|
|
19
|
+
|
|
20
|
+
# Search questions
|
|
21
|
+
opencli stackoverflow search "async await" --limit 20
|
|
22
|
+
|
|
23
|
+
# Active bounties
|
|
24
|
+
opencli stackoverflow bounties --limit 10
|
|
25
|
+
|
|
26
|
+
# Unanswered questions
|
|
27
|
+
opencli stackoverflow unanswered --limit 10
|
|
28
|
+
|
|
29
|
+
# JSON output
|
|
30
|
+
opencli stackoverflow hot -f json
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Prerequisites
|
|
34
|
+
|
|
35
|
+
- No browser required — uses public Stack Exchange API
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Steam
|
|
2
|
+
|
|
3
|
+
**Mode**: 🌐 Public · **Domain**: `store.steampowered.com`
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
|
|
7
|
+
| Command | Description |
|
|
8
|
+
|---------|-------------|
|
|
9
|
+
| `opencli steam top-sellers` | Top selling games on Steam |
|
|
10
|
+
|
|
11
|
+
## Usage Examples
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Quick start
|
|
15
|
+
opencli steam top-sellers
|
|
16
|
+
|
|
17
|
+
# Limit results
|
|
18
|
+
opencli steam top-sellers --limit 5
|
|
19
|
+
|
|
20
|
+
# JSON output
|
|
21
|
+
opencli steam top-sellers -f json
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Prerequisites
|
|
25
|
+
|
|
26
|
+
- No login required (public API)
|
|
@@ -24,6 +24,9 @@
|
|
|
24
24
|
| `opencli twitter unfollow` | |
|
|
25
25
|
| `opencli twitter bookmark` | |
|
|
26
26
|
| `opencli twitter unbookmark` | |
|
|
27
|
+
| `opencli twitter block` | |
|
|
28
|
+
| `opencli twitter unblock` | |
|
|
29
|
+
| `opencli twitter hide-reply` | |
|
|
27
30
|
| `opencli twitter download` | |
|
|
28
31
|
| `opencli twitter accept` | |
|
|
29
32
|
| `opencli twitter reply-dm` | |
|