Skip to content

OpenCLI

v1.8.0 Feature

This release adds 5 notable features for engineering teams evaluating rollout.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai-agent ai-agents ai-tools cli

Affected surfaces

deps

Summary

AI summary

Broad release touches twitter, readme, deps, and adapters.

Changes in this release

Security Medium

Detect generated image surfaces in chatGPT interactions

Detect generated image surfaces in chatGPT interactions

Source: granite4.1:30b@2026-05-20-audit

Confidence: low

Feature Medium

Decode numeric entities in Zhihu answer detail

Decode numeric entities in Zhihu answer detail

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Add subscribed command and expose id, created_utc, selftext for Reddit listing

Add subscribed command and expose id, created_utc, selftext for Reddit listing

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Integrate LoginWallError sniffing for Reddit subscribed commands (#1650)

Integrate LoginWallError sniffing for Reddit subscribed commands (#1650)

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Add Flomo memos reader adapter

Add Flomo memos reader adapter

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Restore publish and delete flow for Douyin

Restore publish and delete flow for Douyin

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Simplify README Highlights from 9 to 5 bullets

Simplify README Highlights from 9 to 5 bullets

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Add Youdao Notes shared note reader adapter

Add Youdao Notes shared note reader adapter

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Add messaging commands for LinkedIn

Add messaging commands for LinkedIn

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Fix chatGPT page.evaluate envelope across browser commands

Fix chatGPT page.evaluate envelope across browser commands

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Add summary command for Bilibili official AI video summary

Add summary command for Bilibili official AI video summary

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Move codex CDP port off 9222 to avoid browser-bridge collision

Move codex CDP port off 9222 to avoid browser-bridge collision

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Drop silent-sentinel row fallbacks across 6 read commands

Drop silent-sentinel row fallbacks across 6 read commands

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Replace brittle CSS-module hash with placeholder selector for Weibo publish

Replace brittle CSS-module hash with placeholder selector for Weibo publish

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Add delete-note command to remove published notes on Xiaohongshu

Add delete-note command to remove published notes on Xiaohongshu

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Add delete command to remove user's own posts on Weibo

Add delete command to remove user's own posts on Weibo

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Drop "Unknown" silent sentinel in LessWrong author column

Drop "Unknown" silent sentinel in LessWrong author column

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Rewrite Twitter download profile path using GraphQL UserMedia with cursor pagination

Rewrite Twitter download profile path using GraphQL UserMedia with cursor pagination

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Restore dist/src/main.js +x permission after TypeScript rebuild

Restore dist/src/main.js +x permission after TypeScript rebuild

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Integrate WeRead official Agent Gateway as new CLI namespace

Integrate WeRead official Agent Gateway as new CLI namespace

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Consolidate LinkedIn messaging and Sales Navigator commands

Consolidate LinkedIn messaging and Sales Navigator commands

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Add inbox, messages, and reply commands for Xianyu

Add inbox, messages, and reply commands for Xianyu

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Paginate Zhihu search results

Paginate Zhihu search results

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Retry goto with recycled page identity; classify -32000 error as retryable

Retry goto with recycled page identity; classify -32000 error as retryable

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Keep media filenames in output directory during fixes

Keep media filenames in output directory during fixes

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Add full read adapter for 12306 (stations, trains, train, price, me, passengers, orders)

Add full read adapter for 12306 (stations, trains, train, price, me, passengers, orders)

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Fix skill attribution in README — 'operate any website' uses opencli-browser

Fix skill attribution in README — 'operate any website' uses opencli-browser

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Limit timedtext URL matching to current videoId for YouTube transcript captions

Limit timedtext URL matching to current videoId for YouTube transcript captions

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Skip "Discover new Lists" block in Twitter lists to avoid mis-capturing user lists

Skip "Discover new Lists" block in Twitter lists to avoid mis-capturing user lists

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Drop silent-sentinel row fallbacks across Apple Podcasts, Reddit, and Gitee

Drop silent-sentinel row fallbacks across Apple Podcasts, Reddit, and Gitee

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Feature Medium

Add suno.com music-generation adapter

Add suno.com music-generation adapter

Source: granite4.1:8b-q6_K@2026-05-20

Confidence: low

Bugfix Medium

Fix YouTube transcript caption fetching

Fix YouTube transcript caption fetching

Source: granite4.1:30b@2026-05-20-audit

Confidence: low

Other Low

Tighten tagline & emphasize browser control in README

Tighten tagline & emphasize browser control in README

Source: granite4.1:30b@2026-05-20-audit

Confidence: low

Full changelog

What's Changed

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

New Contributors

  • @chonglinghuc made their first contribution in https://github.com/jackwener/OpenCLI/pull/1379
  • @sczhengyabin made their first contribution in https://github.com/jackwener/OpenCLI/pull/1499
  • @ele-yufo made their first contribution in https://github.com/jackwener/OpenCLI/pull/1580
  • @asimovVong made their first contribution in https://github.com/jackwener/OpenCLI/pull/1590
  • @jun0315 made their first contribution in https://github.com/jackwener/OpenCLI/pull/1599

Full Changelog: https://github.com/jackwener/OpenCLI/compare/v1.7.22...v1.8.0

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track OpenCLI

Get notified when new releases ship.

Sign up free

About OpenCLI

Make Any Website & Tool Your CLI. A universal CLI Hub and AI-native runtime. Transform any website, Electron app, or local binary into a standardized command-line interface. Built for AI Agents to discover, learn, and execute tools seamlessly via a unified AGENT.md integration.

All releases →

Related context

Earlier breaking changes

  • v1.7.19 OPENCLI_KEEP_TAB environment variable removed
  • v1.7.19 Browser --session flag replaced with <sessionname> positional argument
  • v1.7.17 Drop --no-live and --sessions CLI options from doctor command

Beta — feedback welcome: [email protected]