Releases: jackwener/OpenCLI
Releases · jackwener/OpenCLI
v1.7.11
What's Changed
- fix(extension): remove popup status-row left border accent by @jackwener in #1267
- fix(build-manifest): fail loud on import errors and refuse stale dist by @jackwener in #1268
- fix(release): build before manifest drift check by @jackwener in #1269
- feat(browser): polish adapter author verify workflow by @jackwener in #1270
- feat(instagram): add collection-delete adapter by @jackwener in #1271
- fix(browser): route type and keys through native input by @jackwener in #1274
- chore: bump version to 1.7.11 by @jackwener in #1275
Full Changelog: v1.7.10...v1.7.11
v1.7.10
What's Changed
- feat(instagram): add collection-create + collection filter for saved (#1192) by @jackwener in #1260
- feat(daemon): surface stale versions and restart by @jackwener in #1261
- feat(browser): pass trace through verify by @jackwener in #1263
- feat(extension): polish popup UI — merged card, copy contextId, version surfacing by @jackwener in #1262
- chore: bump version to 1.7.10 (extension 1.0.4) by @jackwener in #1266
Full Changelog: v1.7.9...v1.7.10
v1.7.9
What's Changed
- fix(web): preserve button text in web read output by @Benjamin-eecs in #1185
- fix(browser): keep text/javascript API responses in network output by @jackwener in #1195
- docs: update extension install to Chrome Web Store by @jackwener in #1194
- fix(toutiao): fix NON_TITLE_LINES scope error in articles parser by @sontjer in #1179
- fix(doubao): use ID selector for send button by @wjjsn in #1188
- fix(youtube): channel videos-tab fallback reads wrong tab from InnerTube response by @darthjaja6 in #1164
- fix(doubao): update message selectors for DOM restructure by @wjjsn in #1190
- fix(twitter): preserve text when posting images by @hanzili in #1180
- fix: separate author name from date text in search results by @yaokuku123 in #1173
- fix(uiverse): harden navigation retries and preview lookup by @CissiBot in #1171
- feat(google-scholar): add cite and profile commands, fix search dedup by @Benjamin-eecs in #1176
- feat(browser): bind current tab to bound workspace by @jackwener in #1196
- chore(deps): bump jsdom from 29.0.2 to 29.1.0 by @dependabot[bot] in #1199
- fix(deepseek): fix send button detection and file upload by @Benjamin-eecs in #1166
- fix(jd): separate main and detail image extraction by @Xeron2000 in #1205
- feat(browser): manage owned workspaces as tab leases by @jackwener in #1204
- feat(web): make read render-aware by @jackwener in #1209
- feat(zlibrary): add search and info commands by @ZepPellN in #1211
- fix(zhihu): fix identity detection, comment, answer, and search by @Benjamin-eecs in #1207
- fix(chatgpt-app): support Traditional Chinese UI labels by @m72900024 in #1220
- fix(chatgpt): fix image generation detection and output path by @Benjamin-eecs in #1218
- feat(deepseek): add vision mode support by @Benjamin-eecs in #1216
- feat(boss): add --jobType filter, fix experience codes, surface bossOnline by @huanghuoguoguo in #1231
- fix(twitter/following): limit>50 now works via cursor pagination by @Astro-Han in #1233
- feat(facebook): add marketplace read commands by @hanzili in #1221
- feat(browser): support multiple Chrome profiles by @jackwener in #1235
- feat(zhihu) add collection list and list collection content by @lakako in #1234
- feat(update-check): show extension update notice on exit by @jackwener in #1236
- refactor(adapter): split browser command signatures by @jackwener in #1237
- refactor(cli): move external management under external by @jackwener in #1238
- fix: stabilize manifest paths on Windows by @jackwener in #1239
- docs: clarify OpenCLI extension paths by @jackwener in #1240
- refactor: simplify diagnostics and low-use errors by @jackwener in #1241
- chore: enforce Node 21 baseline by @jackwener in #1242
- docs: refresh stale entry and developer docs by @jackwener in #1244
- docs: narrow smart-search skill trigger scope by @jackwener in #1248
- feat(observation): add runtime trace capture by @jackwener in #1255
- feat(claude): add Claude adapter by @Benjamin-eecs in #1252
- feat(weibo): add favorites + publish CLI commands by @hszhsz in #1253
- refactor(trace): retire diagnostic repair path by @jackwener in #1257
- feat(trace): prune retained artifacts by @jackwener in #1258
- chore: bump version to 1.7.9 (extension 1.0.3) by @jackwener in #1259
New Contributors
- @sontjer made their first contribution in #1179
- @wjjsn made their first contribution in #1188
- @darthjaja6 made their first contribution in #1164
- @hanzili made their first contribution in #1180
- @yaokuku123 made their first contribution in #1173
- @ZepPellN made their first contribution in #1211
- @m72900024 made their first contribution in #1220
- @huanghuoguoguo made their first contribution in #1231
- @lakako made their first contribution in #1234
- @hszhsz made their first contribution in #1253
Full Changelog: v1.7.8...v1.7.9
v1.7.8
What's Changed
- fix(sinafinance): match stock symbol in addition to name by @Benjamin-eecs in #1158
- feat(powerchina): add procurement search adapter by @leozejia in #1155
- fix(deepseek): fix history titles and resume conversation on ask by @Benjamin-eecs in #1153
- feat(toutiao): add articles adapter for 头条号 creator dashboard by @arronfly in #1148
- fix(amazon): fall back discussion to product page by @leozejia in #1154
- feat(weixin): add create-draft and drafts commands for Official Account by @Benjamin-eecs in #1095
- fix(chatgpt-app): use AX send flow and support zh-CN generating state by @961882 in #1135
- chore(extension): restore pre-1.6.8 neon terminal icons by @jackwener in #1177
- chore: bump version to 1.7.8 by @jackwener in #1178
New Contributors
Full Changelog: v1.7.7...v1.7.8
v1.7.7
1.7.7 (2026-04-23)
Features
- 51job — comprehensive adapter:
search,hot,detail,company. (#1132) - weread —
ai-outlinecommand for AI-generated book outlines. (#1141) - web/download — video/audio/iframe download +
--stdoutstreaming. (#1146) - download — hardened HTML→Markdown pipeline with better element handling. (#1143)
- verify — fixture-based value validation + skill docs for COOKIE pitfalls. (#1131)
- agent-native retrospective — analyze / verify guards / fixture content checks. (#1133)
- twitter — expose
has_mediaandmedia_urlscolumns. (#1115)
Bug Fixes
- core — quality audit fixes: elapsed=0 display, daemon error handler state reset, cause chain truncation guard, download cookie expiry, launcher async kill, verbose error logging. (#1151)
- daemon — allow extension ping CORS for reachability probing. (#1150)
- deepseek — separate thinking process from response in
--thinkmode. (#1142) - deepseek — use position-based model selection instead of text matching. (#1123)
- weread/book — add fallback selectors for reader page without cover. (#1138)
- xiaoyuzhou — correct podcast-episodes API endpoint. (#1129)
- bilibili — resolve full video URLs and preserve full description. (#1118)
Docs
- Fix stale references in READMEs and autofix skill doc. (#1130)
- Restore and rewrite
opencli-usageas orientation skill. (#1128)
What's Changed
- docs: add CHANGELOG entry for 1.7.6 by @jackwener in #1127
- docs(skills): restore and rewrite opencli-usage as orientation skill by @jackwener in #1128
- feat(twitter): expose has_media and media_urls columns by @Dylanwooo in #1115
- fix(deepseek): use position-based model selection instead of text matching by @Benjamin-eecs in #1123
- fix(bilibili): resolve full video URLs and preserve full description by @haoliangli in #1118
- docs: fix stale references in READMEs and autofix skill by @jackwener in #1130
- feat(verify): fixture-based value validation + skill docs for COOKIE pitfalls by @jackwener in #1131
- feat: agent-native retrospective — analyze / verify guards / fixture content checks by @jackwener in #1133
- fix(xiaoyuzhou): correct podcast-episodes API endpoint by @CrisJing in #1129
- fix(weread/book): add fallback selectors for reader page without cover by @lw-yang in #1138
- feat(weread): add ai-outline command by @lw-yang in #1141
- feat(51job): comprehensive adapter (search / hot / detail / company) by @jackwener in #1132
- feat(download): harden HTML→Markdown pipeline by @jackwener in #1143
- fix(deepseek): separate thinking process from response in --think mode by @kagura-agent in #1142
- feat(web,download): absorb #1048 — video/audio/iframe + --stdout by @jackwener in #1146
- fix(daemon): allow Browser Bridge ping probe via targeted CORS by @jackwener in #1150
- fix: quality audit bug fixes across core modules by @jackwener in #1151
- chore: bump version to 1.7.7 by @jackwener in #1152
New Contributors
- @Dylanwooo made their first contribution in #1115
- @CrisJing made their first contribution in #1129
- @lw-yang made their first contribution in #1138
Full Changelog: v1.7.6...v1.7.7
v1.7.6
What's New
Features
--liveand--focusflags — keep automation windows open after command execution (#1122)- Bilibili video — new
bilibili videocommand (#1110) - DeepSeek file upload —
--fileflag for ask command (#1093) - Agent-native browser payload — network bodies, html tree budgets, extract command (#1104)
- Network
--filter— field filtering for agent-native request discovery (#1103) - Selector-first find —
get/click/type/selectbrowser commands (#1112) - Compound expansion — cascading stale-ref retry + bbox dedup (#1116)
- Twitter tweets — new tweets command (#1106 timeout fix)
Improvements
- opencli-browser skill restored and upgraded (#1119)
- YouTube — fall back to Videos tab when Home tab has no videos (#1109)
Extension (1.0.2)
- CDP improvements for compound expansion and target resolution
What's Changed
- fix(jianyu): block inaccessible detail links and verification pages by @leozejia in #918
- docs: add CHANGELOG entry for 1.7.5 by @jackwener in #1097
- feat(twitter): add tweets command for fetching user's recent posts by @jackwener in #1098
- fix(jianyu): keep accessible detail urls in search by @jackwener in #1099
- feat(browser): rewrite network for agent-native discovery by @jackwener in #1100
- feat(browser): remove silent html truncation, add --as json by @jackwener in #1102
- feat(browser): network --filter for agent-native request discovery by @jackwener in #1103
- feat(browser): agent-native payload — network bodies, html tree budgets, extract command by @jackwener in #1104
- feat(browser): selector-first find + get/click/type/select (A2+A3) by @jackwener in #1112
- fix(youtube): fall back to Videos tab when Home tab has no videos by @kagura-agent in #1109
- feat(deepseek): add file upload support via --file flag by @Benjamin-eecs in #1093
- feat(bilibili): add video command by @haoliangli in #1110
- fix(twitter): add 5s network timeout to resolveTwitterQueryId by @fuleinist in #1106
- feat(browser): compound expansion + cascading stale-ref + bbox 0.99 dedup by @jackwener in #1116
- docs(skills): restore and upgrade opencli-browser skill by @jackwener in #1119
- feat(cli): add --live and --focus flags for automation window lifecycle by @jackwener in #1122
- docs: sync --live and --focus window docs by @jackwener in #1125
- chore: bump version to 1.7.6, extension to 1.0.2 by @jackwener in #1126
New Contributors
- @haoliangli made their first contribution in #1110
- @fuleinist made their first contribution in #1106
Full Changelog: v1.7.5...v1.7.6
v1.7.5
What's New
Features
- DeepSeek adapter — browser-based ask, history, new, read, status (#1088)
- Eastmoney adapters — 13 finance adapters: quote, rank, kline, sectors, etf, holders, money-flow, northbound, longhu, kuaixun, convertible, index-board, announcement (#1091)
- Twitter GraphQL lists — list-tweets, list-add, list-remove (#1076)
- Download saved path —
web readandweixin downloadnow show saved file location (#1042) - Cross-origin iframe — CDP execution context support for iframed content (#1084)
Improvements
- Multi-tab routing — hardened target isolation and tab routing (#1072)
- Skill consolidation — 6 skills merged into 3, removed mechanical commands (#1094)
- Docs rewrite — browser sections rewritten for AI Agent use case (#1080)
Extension (1.0.1)
Bug Fixes
- Per-workspace idle timeout for browser sessions (#1064)
- Xiaoyuzhou: migrate from broken SSR to authenticated API (#1059)
- Xiaohongshu: detect draft save success (#1060)
- Zsxq: separate content from title (#1079)
What's Changed
- feat(nowcoder): add 牛客网 adapter with 16 commands by @Cosmostima in #1036
- fix(xiaohongshu): verify title input sticks on publish by @Astro-Han in #1050
- fix(twitter): repair lists scraping from detail pages by @Astro-Han in #1053
- fix(xiaohongshu): detect current draft save success by @Astro-Han in #1060
- docs: add adapter docs for eastmoney, tdx, ths (fix CI) by @jackwener in #1061
- fix(xiaoyuzhou): migrate from broken SSR scraping to authenticated API (fixes #1023) by @kagura-agent in #1059
- fix(antigravity): implement configurable timeout and auto-reconnect for serve by @deepziyu in #859
- refactor(antigravity): keep timeout parsing local by @jackwener in #1063
- fix(extension): per-workspace idle timeout for browser sessions by @jackwener in #1064
- refactor: clean up design debt — deprecated APIs, arg validation, dead plugin code by @jackwener in #1065
- fix(e2e): accept CONFIG_ERROR in xiaoyuzhou E2E guard by @jackwener in #1066
- feat: add Chinese academic & policy database adapters by @Muuuun in #243
- fix(zsxq): separate content field from title, remove title truncation by @Pandas886 in #1079
- feat(twitter): GraphQL-based lists + list-tweets + list-add/remove by @huanghe in #1076
- docs: rewrite browser sections — browser is for AI Agents by @jackwener in #1080
- fix(browser): harden multi-tab routing and target isolation by @freemandealer in #1072
- feat(browser): add cross-origin iframe support via CDP execution contexts by @xzygis in #1084
- feat(output): optimize table formatting with width capping and key/value layout by @Benjamin-eecs in #1081
- revert: undo #1081 output renderer patch by @jackwener in #1085
- feat(download): show saved file path in web read and weixin download output by @Benjamin-eecs in #1042
- feat(deepseek): add DeepSeek browser adapter by @Benjamin-eecs in #1088
- chore(clis/eastmoney): mirror 13 adapters + _secid helper as Phase A oracle by @jackwener in #1091
- refactor: consolidate 6 skills into 3, remove mechanical commands by @jackwener in #1094
- chore: bump version to 1.7.5, extension to 1.0.1 by @jackwener in #1096
New Contributors
- @Cosmostima made their first contribution in #1036
- @Pandas886 made their first contribution in #1079
- @huanghe made their first contribution in #1076
- @xzygis made their first contribution in #1084
Full Changelog: v1.7.4...v1.7.5
v1.7.4
What's Changed
- chore: prune legacy config switches by @jackwener in #998
- fix: remove duplicate extension zip from releases by @jackwener in #1001
- docs: clean up README Highlights section by @jackwener in #1008
- docs: sync Highlights cleanup to zh-CN README and docs site by @jackwener in #1009
- chore(deps): bump vitest from 4.1.2 to 4.1.4 by @dependabot[bot] in #1005
- chore(deps): bump @types/node from 25.5.2 to 25.6.0 by @dependabot[bot] in #1004
- chore(deps): bump undici from 8.0.2 to 8.1.0 by @dependabot[bot] in #1003
- chore(ci): bump softprops/action-gh-release from 2.6.1 to 3.0.0 by @dependabot[bot] in #1002
- Add bookmark_count field to bookmarks command by @forvendettaw in #1010
- fix(twitter): register lists command in manifest by @jackwener in #1011
- feat: Ref-Backed Locator for browser actions by @jackwener in #1016
- fix(chatgpt): support Chinese UI for model selector by @mademing68092354-glitch in #1006
- fix(plugin): install monorepo sub-plugin deps when not hoisted by @Benjamin-eecs in #1007
- feat(bilibili): favorite command supports specifying fid by @xavier-cai in #1013
- feat(uiverse): add Uiverse code and preview adapters by @CissiBot in #1000
- fix(xiaohongshu): require signed note URLs by @Astro-Han in #996
- Feat/douban book subject by @warkcod in #993
- feat(grok): add image command for grok.com image generation by @flizzywine in #906
- fix(doubao): harden ask response parsing by @Astro-Han in #933
- fix: auto-restart stale daemon and improve connection error messages by @jackwener in #1028
- fix(deamon&extension): preserve network capture and surface extension mismatch diagnostics by @freemandealer in #1030
- fix(external): use safe npm install for dws by @jackwener in #1033
- feat: add hot stock ranking adapters for eastmoney, tdx, ths by @dividduang in #1025
- feat(binance): depth shows both bids and asks by @harveyyue in #1019
- feat(xiaoyuzhou): add episode download and transcript support by @eeee0717 in #1031
- feat(youtube): add feed, history, watch-later, subscriptions, playlist, like, unlike, subscribe, unsubscribe by @sunbird89629 in #1029
- chore: bump version to 1.7.4 by @jackwener in #1045
New Contributors
- @forvendettaw made their first contribution in #1010
- @mademing68092354-glitch made their first contribution in #1006
- @Benjamin-eecs made their first contribution in #1007
- @xavier-cai made their first contribution in #1013
- @CissiBot made their first contribution in #1000
- @flizzywine made their first contribution in #906
- @freemandealer made their first contribution in #1030
- @dividduang made their first contribution in #1025
Full Changelog: v1.7.3...v1.7.4
v1.7.3
What's Changed
- feat(discord-app): add delete command to remove a message by ID by @himself65 in #976
- feat(maimai): add talent search with multi-dimensional filters by @ivanxia1988 in #977
- feat(ke): add Beike (贝壳找房) adapter by @runzhliu in #975
- feat(bilibili): add feed-detail and enhance feed command by @harveyyue in #974
- feat(clis/chatgptweb): add ChatGPT web image generation command by @asimons81 in #973
- fix(xiaohongshu): harden anti-detection flows by @Astro-Han in #980
- fix(douban): classify tv search results correctly by @Astro-Han in #979
- fix: address code audit findings (C1-C4, I1, I4, I6) by @jackwener in #981
- fix: code audit round 2 — safety, hot-reload, error diagnostics by @jackwener in #982
- feat: decouple extension version from CLI version by @jackwener in #985
- fix: clean up stale .yaml adapter files from older versions (#953) by @jackwener in #986
- docs: document undocumented environment variables by @jackwener in #983
- Remove unused OPENCLI_SKIP_FETCH env var by @jackwener in #987
- Rename chatgpt adapters: desktop → chatgpt-app, web → chatgpt by @jackwener in #989
- Fix automation window not closing on command failure by @jackwener in #992
- refactor: unify OPENCLI_VERBOSE and DEBUG=opencli by @jackwener in #991
- feat(mubu): add Mubu adapter with 5 commands by @SherlockSalvatore in #964
- chore: bump version to 1.7.3 by @jackwener in #997
New Contributors
- @ivanxia1988 made their first contribution in #977
- @runzhliu made their first contribution in #975
- @asimons81 made their first contribution in #973
- @SherlockSalvatore made their first contribution in #964
Full Changelog: v1.7.2...v1.7.3
v1.7.2
What's Changed
- migrate: move binance adapters from src/clis/ to clis/ by @jackwener in #967
- refactor: smart sync adapters — hash-based diff instead of full copy by @jackwener in #966
- fix: include adapter tests in default npm test by @jackwener in #969
- fix(zsxq): accept topic_id as string in getTopicFromResponse by @fgksgf in #963
- feat(twitter): add lists command to retrieve user lists by @isanwenyu in #958
- feat(weibo): support for-you and following feed types by @iiilin in #959
- fix(zsxq): update topic test for group_id parameter by @jackwener in #971
- chore: bump version to 1.7.2 by @jackwener in #972
New Contributors
- @fgksgf made their first contribution in #963
- @isanwenyu made their first contribution in #958
- @iiilin made their first contribution in #959
Full Changelog: v1.7.1...v1.7.2