Skip to content

Releases: jackwener/OpenCLI

v1.8.0

19 May 19:33
ce432c2

Choose a tag to compare

What's Changed

  • 微博新增用户搜索导出博文命令opencli weibo search_by_user 1670458304 --start 2025-06-01 --end 2025-06-02 by @chonglinghuc in #1379
  • Fix YouTube transcript caption fetching by @sczhengyabin in #1499
  • fix(chatgpt): unwrap page.evaluate envelope across browser commands by @ele-yufo in #1580
  • feat: add Flomo memos reader adapter by @Pandas886 in #1549
  • feat(douyin): restore publish and delete flow by @jackwener in #1587
  • docs(readme): tighten tagline & emphasize browser control by @jackwener in #1596
  • feat: add Youdao Notes shared note reader adapter by @Pandas886 in #1547
  • feat(linkedin): add messaging commands by @hanzili in #1597
  • fix(adapters): surface silent empty fallbacks by @jackwener in #1603
  • feat(bilibili): add summary command for the official AI video summary by @asimovVong in #1590
  • fix(audit): ignore sentinels in thrown errors by @jackwener in #1604
  • fix(barchart): surface greeks fetch failures by @jun0315 in #1599
  • docs(readme): simplify Highlights from 9 to 5 bullets by @jackwener in #1605
  • fix(electron-apps): move codex CDP port off 9222 to avoid browser-bridge collision by @Benjamin-eecs in #1630
  • fix(adapters): drop silent-sentinel row fallbacks across 6 read commands by @Benjamin-eecs in #1631
  • fix(weibo/publish): replace brittle CSS-module hash with placeholder selector by @Benjamin-eecs in #1625
  • feat(xiaohongshu): add delete-note command to remove published notes by @Benjamin-eecs in #1624
  • feat(weibo): add delete command to remove user's own posts by @Benjamin-eecs in #1620
  • fix(lesswrong): drop "Unknown" silent sentinel in author column by @Benjamin-eecs in #1611
  • feat(twitter): rewrite download profile path on GraphQL UserMedia with cursor pagination by @Benjamin-eecs in #1636
  • build: tsc 重建后恢复 dist/src/main.js 的 +x 权限 by @huanghe in #1644
  • feat(weread-official): integrate WeRead official Agent Gateway as new CLI namespace by @jackwener in #1648
  • feat(linkedin): consolidate messaging and Sales Navigator commands by @hanzili in #1647
  • feat(xianyu): add inbox, messages, and reply commands by @jun0315 in #1639
  • feat(zhihu): paginate search results by @lenovobenben in #1615
  • fix(browser): goto 重试时回收陈旧 page identity + 把 -32000 "Cannot find default execution context" 归类为可重试 by @huanghe in #1645
  • fix: keep media filenames in output directory by @hiSandog in #1642
  • feat(12306): add full read adapter (stations / trains / train / price / me / passengers / orders) by @Benjamin-eecs in #1637
  • docs(readme): fix skill attribution — 'operate any website' uses opencli-browser, not opencli-adapter-author by @jackwener in #1654
  • fix(youtube/transcript): 把 timedtext URL 匹配限定到当前 videoId,修跨视频字幕串台 by @huanghe in #1655
  • fix(twitter/lists): 跳过 "Discover new Lists" 推荐区块,避免被当成用户的 list 抓取 by @huanghe in #1652
  • fix(adapters): drop silent-sentinel row fallbacks across Apple Podcasts, Reddit, and Gitee by @Benjamin-eecs in #1634
  • feat(suno): add suno.com music-generation adapter by @ele-yufo in #1638
  • fix(zhihu): decode numeric entities in answer detail by @lenovobenben in #1629
  • feat(reddit): 新增 subscribed 命令 + 在 listing 命令上暴露 id / created_utc / selftext by @huanghe in #1651
  • chore(deps): bump undici from 6.25.0 to 8.3.0 by @dependabot[bot] in #1661
  • chore(deps): bump ws from 8.20.0 to 8.20.1 by @dependabot[bot] in #1662
  • chore(deps): bump @types/node from 25.6.0 to 25.9.0 by @dependabot[bot] in #1664
  • chore(deps): bump tsx from 4.21.0 to 4.22.2 by @dependabot[bot] in #1663
  • feat(twitter): 新增 list-create 命令(GraphQL CreateList mutation) by @huanghe in #1656
  • feat(twitter): 在 read 命令上暴露 card binding_values(链接预览卡片) by @huanghe in #1660
  • fix(cli): escape leading-dash positional values via argv preprocessor by @Benjamin-eecs in #1658
  • feat(linkedin-learning): add search / trending / course read commands by @Benjamin-eecs in #1657
  • docs(readme): tighten skill attribution (T1) + remove redundant Highlights (T2) by @jackwener in #1666
  • feat(reddit/subscribed): 接入 LoginWallError 嗅探(#1650 的第一个 caller) by @huanghe in #1668
  • feat(twitter): 在 read 命令上暴露 quoted_tweet(被引用的推文) by @huanghe in #1667
  • feat(zhihu): include answer links in question results by @lenovobenben in #1670
  • feat(twitter): 在 read 命令上暴露 bio(用户简介) by @huanghe in #1675
  • fix(xhs,youtube): 把合法空数据语义切到 EmptyResultError by @huanghe in #1674
  • feat(reddit): 在 listing 命令上暴露 post_hint / url / preview / gallery 4 个媒体路由列 by @huanghe in #1676
  • fix(deps): restore Node 20 compatibility by @jackwener in #1673
  • feat(twitter): add device-follow command for /i/timeline notification stream by @Benjamin-eecs in #1672
  • fix(chatgpt): detect generated image surfaces by @jackwener in #1677
  • feat(zhihu): add answer comments reader by @lenovobenben in #1671
  • docs(readme): curate built-in commands + add wrangler external CLI by @jackwener in #1679
  • fix(adapters): migrate empty-data throws to EmptyResultError across 5 commands (#1674 follow-up) by @Benjamin-eecs in #1678
  • feat(linkedin): add people-search command by @Benjamin-eecs in #1649
  • docs(readme): shrink CLI Hub + Core Concepts + merge Update into Install by @jackwener in #1681
  • chore(skills): remove smart-search by @jackwener in #1683
  • feat(booking): add search adapter for Booking.com hotel listings by @jackwener in #1680
  • chore(release): 1.8.0 by @jackwener in #1682

New Contributors

Full Changelog: v1.7.22...v1.8.0

v1.7.22

15 May 09:31
aae6e82

Choose a tag to compare

What's Changed

Full Changelog: v1.7.21...v1.7.22

v1.7.21

14 May 11:37
9ccc896

Choose a tag to compare

What's Changed

  • fix(ci): add Windows native binding lock entries by @jackwener in #1563
  • fix(xiaohongshu,rednote): unwrap page.evaluate envelope in search adapter by @cyqiris in #1561
  • fix(extension): reuse existing adapter tab group by @GreyC in #1541
  • feat: add DuckDuckGo, Brave, and Yahoo web search adapters by @Pandas886 in #1546
  • test(extension): cover adapter group tiebreaker by @jackwener in #1566
  • feat(boss): support job-seeker chatlist and chatmsg by @GreyC in #1539
  • fix(facebook/feed): add fallback extraction for empty article nodes by @GreyC in #1538
  • fix(social): use ephemeral adapter site sessions by @jackwener in #1569
  • chore(release): 1.7.21 by @jackwener in #1571

New Contributors

Full Changelog: v1.7.20...v1.7.21

v1.7.20

14 May 08:34
8c88a3c

Choose a tag to compare

What's Changed

  • feat(external)!: drop -cli suffix from tg/discord/wx subcommand names by @jackwener in #1544
  • fix(extension): keep active daemon websocket by @GreyC in #1540
  • docs(browser): clarify named session lifecycle by @GreyC in #1542
  • fix(extension): coalesce daemon websocket connects by @jackwener in #1554
  • feat(twitter/list-tweets): include media via extractMedia (parity with timeline/search) by @huanghe in #1464
  • feat(twitter): add extractMedia parity to bookmarks + bookmark-folder by @jackwener in #1555
  • fix(daemon): report unknown browser command results by @jackwener in #1558
  • refactor(notion): replace built-in CDP adapter with external ntn CLI by @jackwener in #1559
  • fix(cli): show external CLI package aliases by @jackwener in #1560
  • chore(release): 1.7.20 by @jackwener in #1562

New Contributors

Full Changelog: v1.7.19...v1.7.20

v1.7.19

13 May 18:34
feab24f

Choose a tag to compare

What's Changed

  • fix(xiaohongshu+rednote): scroll until enough rows for --limit > 13 (#1471) by @jackwener in #1487
  • docs(skill/adapter-author): aria-label / placeholder / title are locale-dependent (#1474) by @jackwener in #1488
  • feat(ctrip): add hotel-search + flight browser-mode commands (#1481) by @jackwener in #1489
  • chore(scripts): auto-refresh dist/ before build-manifest by @jackwener in #1490
  • feat(reddit): add whoami, home, subreddit-info read commands by @jackwener in #1491
  • refactor(browser): replace --session flag with positional by @jackwener in #1505
  • feat(browser): add function form page.evaluate by @jackwener in #1508
  • refactor(env): remove OPENCLI_KEEP_TAB by @jackwener in #1509
  • refactor(extension): remove lease key session backdoor by @jackwener in #1510
  • fix(xueqiu/kline,earnings-date): format dates in Asia/Shanghai instead of UTC by @Benjamin-eecs in #1498
  • fix(browser): drop session injection from extension exec results by @hansnow in #1518
  • ci(e2e): drop e2e-headed from pull_request trigger by @jackwener in #1521
  • ci(adapter-test): gate off pull_request by @jackwener in #1522
  • fix(google/search): wrap evaluate return to fix Array.isArray check by @lyingflatDDD in #1523
  • fix(twitter): make reply submission robust by @darthjaja6 in #1511
  • fix(twitter): repair search and tweets readback by @darthjaja6 in #1512
  • feat(reddit/read): --expand-more via /api/morechildren + 7-kind typed errors by @jackwener in #1492
  • fix: clamp download progress percentages by @hiSandog in #1520
  • fix(xiaohongshu+rednote/search): fall back to href-based note cards when section.note-item class is dropped by @Benjamin-eecs in #1507
  • feat(zhihu): paginate question answers and recommendations by @lenovobenben in #1517
  • chore: drop util.styleText to support Node v20+ by @jackwener in #1524
  • fix(xiaohongshu): parseLikes should handle 2.1w / 1.5万 / 1.2k shortforms by @John15Wil in #1504
  • fix(google-scholar/search): wrap evaluate return to fix serialization by @lyingflatDDD in #1525
  • feat(zhihu): add answer-detail to fetch a single answer's full content by @jackwener in #1528
  • fix(twitter): raise cursor pagination guard by @jackwener in #1532
  • fix(twitter): repair list-add / list-tweets / lists / following after 2026-05 changes by @ppop123 in #1503
  • feat(twitter): default tweets to logged-in user + fix sibling envelope-unwrap silent bug by @jackwener in #1531
  • chore(release): 1.7.19 by @jackwener in #1543

New Contributors

Full Changelog: v1.7.18...v1.7.19

v1.7.18

11 May 18:51
23e1161

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.7.17...v1.7.18

v1.7.17

11 May 18:25
c1af68b

Choose a tag to compare

What's Changed

  • refactor(browser): replace workspace with explicit sessions by @jackwener in #1461
  • refactor(adapter): rename site browser reuse to persistent sessions by @jackwener in #1462
  • refactor(doctor): drop --no-live / --sessions + dead protocol chain by @jackwener in #1470
  • feat(chatgpt): support local image uploads by @E2ern1ty in #1476
  • chore(release): 1.7.17 by @jackwener in #1483

Full Changelog: v1.7.16...v1.7.17

v1.7.16

10 May 19:27
b56bebd

Choose a tag to compare

What's Changed

  • perf(adapters): hoist cookie reads to page.getCookies (Tier 1, 25 files) by @jackwener in #1450
  • perf(twitter): drop redundant goto+wait — framework auto pre-navs (PR C) by @jackwener in #1451
  • refactor(browser): split interactive and automation windows by @jackwener in #1453
  • perf(twitter): enable browserSession reuse:site on 17 read-only adapters (PR B) by @jackwener in #1454
  • perf(deepseek): replace fixed-sleep waits with selector-based readiness by @jackwener in #1449
  • perf(claude): replace fixed-sleep waits with selector-based readiness (D2) by @jackwener in #1452
  • fix(chatgpt): add Chinese locale selectors for image command by @cd233ljx in #1354
  • feat(openreview): add author command for ID-explicit publication lookup by @Benjamin-eecs in #1365
  • fix(xiaohongshu): fallback to base64 upload when CDP setFileInput returns 'Not allowed' by @DevEverything01 in #1374
  • perf(reddit): opt 13 browser adapters into shared site-tab lease by @jackwener in #1455
  • chore(extension): rename adapter tab group by @jackwener in #1457
  • feat(help): structured help for daemon/plugin/adapter/profile namespaces by @jackwener in #1407
  • feat(external): register tg-cli, discord-cli, wx-cli by @jackwener in #1458
  • docs(readme): list tg-cli, discord-cli, wx-cli in External CLI sections by @jackwener in #1459
  • perf(chatgpt): replace fixed-sleep waits with selector-based readiness (D3) by @jackwener in #1456
  • chore(release): 1.7.16 by @jackwener in #1460

New Contributors

Full Changelog: v1.7.15...v1.7.16

v1.7.15

10 May 15:13
8f0958a

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.7.14...v1.7.15

v1.7.14

07 May 17:31
dc7b88d

Choose a tag to compare

What's Changed

Full Changelog: v1.7.13...v1.7.14