Skip to content
CAI
Software that uses CAICheck a score

jackwener/OpenCLI

45.4

Weak · 25 September 2026

183.2k

lines of production code

JavaScript

with TypeScript

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a comprehensive command-line interface that provides read and write access to a vast array of external services, including package registries, academic databases, social platforms, and enterprise tools. It enables users to query, search, and manage data across these diverse sources through a unified set of CLI commands. The system also includes an autonomous research framework that automates browser interactions and iteratively improves its own capabilities.

Features

1688 adapter adds asset extraction, download, and authentication support

The 1688 adapter now includes a new \assets.js\ module that extracts product images and videos, specifically handling detail images inside the \v-detail-e\ shadow DOM with lazy-render scrolling. A new \download.js\ command allows users to batch-download these extracted images and videos. Additionally, \auth.js\ implements cookie-based authentication for 1688.com, and \item.js\ and \search.js\ provide detailed item and search result parsing with comprehensive test coverage.

clis/1688 · high confidence

Add 1point3acres CLI adapter with authentication and content commands

Introduces a new CLI adapter for the 1point3acres (一亩三分地) forum, providing commands to browse public content (latest, hot, digest, forum listings, thread details, user profiles) and access authenticated features (search, notifications). The adapter includes a new \auth.js\ module that implements identity verification by detecting Discuz X user-panel markup and validating session cookies, ensuring the CLI correctly handles login states for protected endpoints.

clis/1point3acres · high confidence

Add 51job CLI adapter for job search, details, and company info

Introduces a new CLI adapter for the 51job (前程无忧) platform, providing four commands: \search\ for keyword-based job queries with filters (location, salary, experience, etc.), \hot\ for recommended job feeds, \detail\ for full job descriptions and requirements by job ID, and \company\ for company profiles and their active job listings by company ID. The adapter handles 51job's Aliyun WAF protection by executing API requests within a browser context and uses structured data attributes for reliable parsing of job cards.

clis/51job · high confidence

Add Apple Podcasts CLI commands for search, top charts, and episodes

This change introduces a new Apple Podcasts adapter with three commands: \search\ to find podcasts via the iTunes Search API, \top\ to retrieve country-specific podcast charts from Apple's Marketing Tools API (with a 15-second timeout), and \episodes\ to list recent episodes for a given podcast ID. The implementation includes utility functions for formatting durations and dates, and is accompanied by comprehensive test coverage for all commands and utilities.

clis/apple-podcasts · high confidence

Add Band.us and BOSS Zhipin site adapters

New commands are now available for Band.us and BOSS Zhipin. The Band adapter provides \band bands\ to list user groups, \band mentions\ to filter @mentions, \band posts\ to list posts within a group, and \band post\ to export post content with optional photo downloads. The BOSS Zhipin adapter adds \boss chatlist\ and \boss chatmsg\ to view and retrieve chat history for both recruiter and job-seeker identities, \boss batchgreet\ to send bulk greeting messages, and \boss auth\ to verify session status.

clis/boss · high confidence

Add Beike (Ke.com) adapter for second-hand, rental, community, and transaction data

Introduces a new CLI adapter for Beike (ke.com) with four commands: ershoufang (second-hand listings), zufang (rentals), xiaoqu (community info), and chengjiao (transaction records). The adapter uses browser-based cookie authentication (checking for lianjia\_token) and includes updated DOM selectors to handle the 2026-8 site redesign, specifically targeting .typeShowUser for identity verification. Users can now query real estate data by city and district, with support for price and room filters on listings.

clis/ke · high confidence

Add Bloomberg Businessweek section feed and standardize Bloomberg CLI commands

The Bloomberg CLI adapter now includes a dedicated command for Bloomberg Businessweek top stories. Because Bloomberg's RSS feed for Businessweek is empty, this command uses a browser-based approach to parse the section page's embedded Next.js data, supporting a --limit argument (1–20) and returning title, summary, link, and media links. The rest of the Bloomberg adapter (main, markets, economics, industries, tech, politics, opinions, green, crypto, pursuits) continues to rely on RSS feeds via a shared utility that includes retry logic for transient feed errors. All commands are implemented in JavaScript, use the opencli registry, and include comprehensive tests for parsing, validation, and error handling.

clis/bloomberg · high confidence

Add Booking.com hotel search adapter

Introduces a new CLI adapter for searching hotel listings on Booking.com. The implementation includes input validation for destinations, dates, and pagination, constructs canonical search URLs, and extracts hotel details such as name, price, ratings, and review counts from the search results page.

clis/booking · high confidence

Add CLI adapters and tests for DefiLlama, endoflife.date, Go proxy, and OSV.dev

New command-line adapters have been added to query external data sources: DefiLlama (top protocols and single protocol details), endoflife.date (product release and EOL cycles), Go proxy (module details and version lists), and OSV.dev (vulnerability queries and details). Each adapter includes a corresponding test file that validates input validation, error handling for HTTP status codes (400, 404, 429), and correct data mapping. The implementation uses shared utility functions for fetching and argument parsing within each domain.

(repo-wide) · high confidence

Add CLI commands for Product Hunt, Sina Blog, Substack, and Yollomi

New CLI commands have been added for four external services. The Product Hunt adapter provides commands to browse categories, view top posts, and fetch latest or daily launches, utilizing both browser interception and public Atom feeds. The Sina Blog adapter adds commands to search articles, view hot posts, fetch individual article details, and list user articles. The Substack adapter introduces commands to browse feeds by category, view publication archives, and search for posts or publications. Finally, the Yollomi adapter adds a suite of AI image tools, including text-to-image generation, image editing, face swapping, background generation, and object removal, along with a command to list available AI models.

(repo-wide) · high confidence

Add Chaoxing (学习通) CLI for assignments and exams

New CLI commands for the Chaoxing (学习通) platform have been added to retrieve course assignments and exams. The \clis/chaoxing/assignments.js\ and \clis/chaoxing/exams.js\ modules allow users to list assignments and exams with filtering by course name and status (e.g., pending, submitted, graded), while \clis/chaoxing/auth.js\ provides authentication support for the site. Shared logic for session management, course navigation, and DOM parsing is centralized in \clis/chaoxing/utils.js\, which is covered by unit tests in \clis/chaoxing/utils.test.js\.

clis/chatgpt · high confidence

Add CoinGecko read adapters for crypto market data

Added eight new read-only adapters for the CoinGecko API in the \clis/coingecko\ directory, enabling users to query cryptocurrency market data via the command line. The new commands include \top\ (top coins by market cap), \coin\ (single coin details), \trending\ (trending coins), \categories\ (crypto categories), \exchanges\ (exchange rankings), \derivatives\ (perpetual/futures tickers), and \global\ (aggregate market stats). These adapters use the public CoinGecko API endpoints, support optional parameters like currency and limit, and handle rate limiting and errors gracefully.

clis/coingecko · high confidence

This change introduces a new set of CLI commands for interacting with Atlassian Confluence, complementing the existing Jira support. Users can now retrieve page details, search content using CQL, and create or update pages by providing Markdown or storage XHTML files. The implementation includes shared utilities for handling Atlassian authentication (supporting both Cloud and Data Center deployments), normalizing URLs, and converting content formats, along with comprehensive test coverage for these new capabilities.

_clis/\atlassian, clis/confluence · high confidence

Add Coupang CLI adapter with product search, detail, and add-to-cart commands

This change introduces a new CLI adapter for Coupang, adding commands to search for products, retrieve product details, and add items to the cart. The implementation uses a browser-based strategy to interact with the Coupang website, extracting data from JSON-LD, bootstrap state, and DOM elements. It includes robust error handling with typed errors (ArgumentError, AuthRequiredError, CommandExecutionError) and validates inputs like product IDs and pagination arguments. The adapter also handles authentication by checking for specific session cookies and verifying the user's identity on the Coupang mypage.

clis/coupang · high confidence

Add Flomo memos reader and authentication adapter

Users can now read memos from Flomo using the \flomo memos\ command, which retrieves memo content, tags, images, and metadata via the Flomo web API using an active browser session cookie. This change introduces the Flomo site adapter, including authentication logic in \clis/flomo/auth.js\ to verify login status and extract user identity, and the memos reader implementation in \clis/flomo/memos.js\ that supports pagination via limit, since timestamp, and slug arguments. Tests in \clis/flomo/memos.test.js\ validate argument parsing, memo normalization, and error handling for authentication and API failures.

clis/flomo · high confidence

Add GeoGebra browser adapter suite for geometric construction

Users can now control the GeoGebra Geometry applet via the command line using a new suite of browser-based adapters. This adds commands to create geometric objects (points, lines, circles, polygons, triangles, and hexagons), inspect object properties, list canvas contents, and execute raw GeoGebra commands. The implementation relies on a shared utility module to manage the browser session, wait for the applet to load, and unwrap the browser bridge envelopes returned by the page.

clis/geogebra · high confidence

Users can now retrieve trending GitHub repositories via the \github-trending/repos\ command. This new feature fetches public trending data from GitHub without requiring authentication, supporting filters for programming language and time range (daily, weekly, monthly), with a configurable result limit up to 25 repositories.

clis/github-trending · high confidence

Add Google Scholar search, citation, and profile commands

Users can now search Google Scholar, retrieve paper citations in BibTeX, EndNote, RefMan, or RefWorks formats, and view author profiles with publication stats. The search command supports limiting results and deduplicates based on outer result cards to prevent duplicate entries. The citation command allows selecting the output format and targeting specific search results by index. The profile command supports both author names and Scholar user IDs, displaying h-index, i10-index, total citations, and a list of papers with citation counts and years.

clis/google-scholar · high confidence

Add HLTV browser-based CLI adapters for match, player, and team data

This change introduces a suite of new read-only CLI commands under the \hltv\ site adapter, enabling users to fetch structured data from HLTV via a headless browser. The new commands include \event-matches\ for listing event stats, \match-map\ and \match-series\ for detailed match and series breakdowns, \player-matches\, \player-summary\, \player-form\, \player-map-pool\, \player-duel\, \player-teammate-impact\, and \player-vs-team\ for various player performance and comparison metrics, \team-matches\ and \team-map-pool\ for team statistics, and \search\ for finding players, teams, events, and articles. All commands utilize the \Strategy.UI\ pattern, requiring browser navigation to parse the HLTV interface, and are supported by a shared \utils.js\ module for URL parsing, limit normalization, and data extraction.

clis/hltv · high confidence

Add Huodongxing events adapter

Introduces a new CLI adapter for the Huodongxing platform that allows users to search and list events via the command line. The adapter supports filtering by date range, city, tags, and event type (online/offline), and handles parsing of Huodongxing's specific date formats (including relative terms like 'today' and 'tomorrow') to provide accurate results. It also includes logic to deduplicate event cards and validate input arguments before making requests.

clis/huodongxing · high confidence

Add Indeed job search and job detail adapters for the US site

New CLI commands \indeed search\ and \indeed job\ (aliased as \detail\ and \view\) are now available to query and view US Indeed listings. Because Indeed blocks non-browser requests with Cloudflare challenges, both commands run in a real browser session using cookie-based authentication. The search command accepts keyword, location, recency (1/3/7/14 days), sort order (relevance or date), and pagination controls, returning structured results with rank, id, title, company, location, salary, tags, and a link to the job. The job command takes a 16-character hex job key from the search results and fetches the full posting, including title, company, location, salary, job type, and description. Input validation ensures required fields are present and correctly formatted, and errors surface clear guidance when Cloudflare challenges or missing content are encountered.

clis/indeed · high confidence

Add Internet Archive read-only adapter commands

Users can now query the Internet Archive directly via four new read-only commands: \archive search\ for full-text item discovery, \archive item\ for retrieving metadata of a specific item by identifier, \archive wayback\ for finding the closest Wayback Machine snapshot for a URL, and \archive snapshots\ for listing historical Wayback Machine snapshots via the CDX API. All commands are restricted to read access on the archive.org domain and include input validation and error handling for malformed responses.

clis/archive · high confidence

Add JD.com shopping CLI commands

New commands have been added for the JD.com site: \search\ to find products, \detail\ to view product information, \reviews\ to read user feedback, \cart\ to view the shopping cart, \add-cart\ to add items to the cart, and \auth\ to manage login sessions. These commands use browser automation to scrape data from JD.com and require a logged-in session for cart and auth operations.

clis/jd · high confidence

Add Jianyu (jianyu360.cn) procurement search and detail extraction

Introduces support for the Jianyu bidding platform, enabling users to search for procurement notices and extract detailed evidence fields. The \search\ command filters out navigation noise and blocks inaccessible detail links (such as those requiring verification or login), while the \detail\ command extracts structured data like project codes, budgets, and deadlines from individual notice pages. Authentication is handled via the \userid\_secure\ cookie, with specific logic to detect and reject anonymous or blocked access attempts.

clis/jianyu · high confidence

Add Juejin (掘金) read-only adapter for article feeds

Users can now retrieve content from the Juejin developer community via two new read-only CLI commands: 'juejin/recommend' fetches the homepage recommended article feed with pagination, and 'juejin/hot' retrieves the hot article ranking, optionally scoped to a specific category. Both commands operate against the public api.juejin.cn endpoints without requiring authentication or a browser session, returning structured data including article IDs, titles, view counts, and direct links to the posts.

clis/juejin · high confidence

This change introduces a new LinkedIn Learning adapter to the CLI, enabling users to authenticate via LinkedIn cookies and execute three new read commands: \linkedin-learning search\ to find courses, videos, and learning paths by keyword; \linkedin-learning trending\ to browse personalized course recommendations; and \linkedin-learning course\ to retrieve detailed metadata for a specific course by slug or URL. The implementation includes shared API fetch helpers, authentication verification logic, and comprehensive test coverage for the new functionality.

clis/linkedin-learning · high confidence

Add Lobste.rs CLI adapters for listings, domain filtering, and story reading

New CLI commands have been added for the Lobste.rs site, enabling users to fetch the hottest, newest, most active, or tag-filtered stories, as well as filter stories by source domain. These listing commands now expose the story's short\_id and created\_at fields in the output. Additionally, a new 'read' command allows users to retrieve a specific story by its short\_id and view its threaded comment tree, with options to control depth, limit, and reply count.

clis/lobsters · high confidence

Add Maimai talent search and authentication

Users can now authenticate with Maimai (maimai.cn) via a browser-based login probe and search for candidates using the new \search-talents\ command. This command supports multi-dimensional filtering by keyword, position, company, school, location, work experience, education, and industry, returning structured candidate profiles including skills, mutual connections, and active status.

clis/maimai · high confidence

Add Mercury reimbursement workflow commands

New CLI commands have been added to the Mercury adapter to support expense reimbursement workflows. The \mercury/reimbursement-plan\ command validates input arguments (receipt, amount, currency, date, merchant, category, notes) and outputs a deterministic plan without opening a browser, ensuring safety by confirming the final submit is never clicked. The \mercury/reimbursement-draft\ command automates the creation of a reimbursement draft in the Mercury web interface by uploading a receipt, filling OCR fields, and stopping at the Review step. A \mercury/check-login\ command was also added to verify the active browser profile's login status and readiness for reimbursement actions.

clis/mercury · high confidence

Add MiniMax music generation CLI command

Users can now generate music via the MiniMax API using the new \minimax music\ command. This feature supports legacy paid accounts with models music-3.0 and music-2.6, allowing generation via prompt or lyrics (with optional lyrics optimization). It supports both global and China regions, with options for instrumental tracks, audio format selection (mp3, wav, pcm), and output formats (URL or inline hex). The command includes safeguards such as requiring the \--execute\ flag to prevent accidental billing, input validation, and file collision prevention for local hex outputs.

clis/minimax · high confidence

Add Mubu integration with five new CLI commands

Introduces a new adapter for the Mubu note-taking service, providing five new CLI commands: \doc\ to read a specific document (exporting to Markdown or plain text), \docs\ to list documents and folders (with support for starred items and folder filtering), \notes\ to retrieve daily quick notes with flexible date range filtering (day, month, year, or custom from/to), \recent\ to show recently edited documents, and \search\ to perform global keyword searches across documents and folders. The implementation uses browser-based XHR requests to interact with the Mubu API, requiring a logged-in session.

clis/mubu · high confidence

Add Nowcoder adapter with 16 commands

Introduces a new adapter for the Nowcoder platform, providing 16 CLI commands to access public and authenticated data. The adapter includes commands for searching and viewing interview experiences, retrieving detailed content and moments, browsing hot topics, trending posts, and search suggestions, as well as accessing company information, job listings, salary disclosures, and practice progress. It also supports checking unread notifications and managing user authentication via the 't' session cookie.

clis/nowcoder · high confidence

Add PowerChina procurement search and authentication

Introduces a new 'search' command for the PowerChina site that retrieves procurement announcements via an internal API with browser-based fallback, and adds the necessary authentication logic (login/whoami) to support it. The search command handles keyword variations, deduplicates results, filters navigation noise, and throws EmptyResultError when no relevant data is found.

clis/powerchina · high confidence

Add PubMed CLI commands for article search, details, and metadata

This change introduces a new set of public-read CLI commands for the PubMed site, including \search\, \article\, \author\, \citations\, \related\, \clinical-trial\, \review\, \mesh\, and \journal\. These commands allow users to search for articles using advanced filters (author, journal, year, article type, etc.), retrieve detailed article metadata by PMID, find related articles and citation relationships, and filter specifically for clinical trials or review articles. The implementation relies on the NCBI E-utilities API (esearch, efetch, elink) and includes utilities for rate limiting, XML/JSON parsing, and input validation.

clis/pubmed · high confidence

Add Qianwen (Qwen) CLI adapter with chat, history, and image generation commands

Introduces a new CLI adapter for the Qianwen AI service, providing commands to manage conversations and generate content. The \ask\ command sends prompts and waits for replies, featuring a baseline anchoring mechanism to prevent returning stale assistant answers from previous turns. The \send\ command allows fire-and-forget message submission, while \detail\ and \read\ retrieve conversation transcripts, with an option to output assistant replies as Markdown. Users can also list recent conversations via \history\, start new chats with \new\, and generate images using the \image\ command, which supports downloading assets locally. Authentication is handled via cookie persistence, with \auth\ commands verifying login status and identity.

clis/qwen · high confidence

Add Qoder IDE adapter

Introduces a new adapter for the Qoder IDE (an Electron-based, VSCode-derived AI IDE) to enable CLI automation. This location provides the core UI-interaction logic, including utility scripts for DOM manipulation (clicking, text injection, visibility checks) and command definitions for managing the IDE's interface. Users can now control Qoder via commands to start new quests, send and read messages, list conversation history, search the palette, and toggle UI elements like the sidebar and bottom panel.

clis/qoder · high confidence

Add Semantic Scholar academic graph adapter

Introduces a new Semantic Scholar adapter for the CLI, providing four commands: \paper\ for retrieving detailed paper information including AI-generated TLDRs and influential citation counts, \citations\ for listing papers that cite a given work, \recommendations\ for fetching AI-curated related papers, and \search\ for free-text paper discovery. The implementation handles various paper identifiers (DOIs, arXiv IDs, paper IDs), respects rate limits with automatic retry logic, and supports optional API key authentication via the \SEMANTIC\_SCHOLAR\_API\_KEY\ environment variable.

clis/semanticscholar · high confidence

Add Suno music-generation adapter with generation, listing, and download commands

This change introduces a new adapter for suno.com, enabling users to generate music via the CLI, list their library clips, and download generated audio files. The \generate\ command supports both simple prompt-based and custom lyric/tag-based modes, with options for model selection, creative sliders, and format control (including a paid-format guard for WAV downloads). The \list\ command retrieves recent clips with pagination, while \download\ fetches specific clips by ID or URL. Authentication is handled via Clerk cookies, and the \status\ command provides a health check of login state, plan, credits, and captcha readiness.

clis/suno · high confidence

Add THS hot stock ranking CLI command

A new \ths/hot-rank\ command is available to retrieve the current hot stock list from Tonghuashun (THS). It fetches data from the public THS API, returning stock rank, name, change percentage, heat index, and combined concept/popularity tags. Users can control the number of results via the \--limit\ argument (default 20, max 100). The command is registered as a public strategy with no browser requirement.

clis/ths · high confidence

Add Toutiao CLI adapters for articles, hot board, and recommend feed

New commands are available for the Toutiao site: \toutiao articles\ retrieves the creator dashboard article list and metrics (requiring a logged-in browser session), while \toutiao hot\ and \toutiao recommend\ fetch public trending topics and channel recommendation feeds respectively (no login required). The articles command includes a fix to prevent silently dropping rows when statistics fail to render, ensuring partial data is surfaced instead.

clis/toutiao · high confidence

Add Trae CN desktop adapter commands

Introduces a new CLI adapter for the Trae CN desktop application, providing commands to interact with its browser-based interface via Chrome DevTools Protocol (CDP). Users can now manage tasks (new, read, send, ask, export), monitor long-running agent activity (watch, activity), approve system prompts (approve), and inspect connection status (status, targets, model, select-model). The adapter also includes setup instructions and utilities for screenshots and dumps, enabling automated control and observation of Trae CN workflows.

clis/trae-cn · high confidence

Add Trae SOLO adapter with CLI commands for UI automation and local state inspection

This change introduces a new adapter for the Trae SOLO application, providing a suite of CLI commands to interact with its interface and inspect its local configuration. The adapter includes UI-driven commands (using browser automation) to list and search skills, view automation history, switch between Code and Work modes, and manage AI model selection. It also provides local file-system commands to read user settings, inspect installed skills, and query the VSCode-style state database (state.vscdb) and renderer storage (localStorage/IndexedDB) without requiring the application to be in the foreground.

clis/trae-solo · high confidence

Add Trip.com international adapter with multi-service CLI commands

Introduces a new international Trip.com adapter in the \clis/trip\ directory, providing CLI commands for searching one-way and round-trip flights, hotels, attractions, car rentals, tours, trains, airport transfers, and flight+hotel packages, along with destination search and a deals listing. The implementation uses browser-based DOM extraction for most services (relying on stable data-testid anchors and class fields) and public API fetches for destination suggestions and package pricing, with shared utility functions for argument parsing, URL building, and extraction logic.

clis/trip · high confidence

Add Uiverse CLI commands for code export and preview capture

Introduces two new CLI commands for the Uiverse site: 'code' and 'preview'. The 'code' command exports component source code (HTML, CSS, React, or Vue) by parsing the component URL, resolving the post ID via Remix loader data, and extracting the code either through the browser's export dialog or direct API calls. The 'preview' command captures a screenshot of the component's preview element, locating it via the HTML structure and saving the result as a PNG. Both commands include navigation hardening to start from the Uiverse home page instead of about:blank, and are supported by shared utilities for input parsing, language inference, and file handling.

clis/uiverse · high confidence

Add Upwork job search, feed, and detail commands

Users can now interact with Upwork through three new CLI commands: \upwork search\ for keyword-based job discovery with filters for location, category, and sort order; \upwork feed\ (aliased as \best-matches\) to view personalized job recommendations in 'best-matches' or 'most-recent' tabs; and \upwork detail\ (aliased as \job\ or \view\) to retrieve full job posting information including title, description, budget, client stats, and applicant count using a job ciphertext ID. All commands require an authenticated browser session via cookie strategy to bypass Cloudflare challenges and access the Nuxt/Vuex state directly, ensuring reliable data extraction without DOM scraping.

clis/upwork · high confidence

Add WeChat Channels publish adapter

Users can now publish videos to WeChat Channels (视频号) via the CLI. This change introduces a new publish adapter that automates the creator center workflow: uploading a video file, filling in the title and description, adding hashtags, and optionally scheduling the post or saving it as a draft. The adapter handles authentication by verifying the WeChat Channels session cookie and identity, and it manages the complex UI interactions required by the platform's shadow DOM (wujie micro-frontend).

clis/wechat-channels · high confidence

Add Youdao Notes shared note reader adapter

Users can now read content from public Youdao Notes by providing a share URL. This new CLI command in the youdao adapter navigates to the specified note, extracts the title, full content, summary, and keywords using a browser-based JavaScript extractor, and returns the data in a structured format. It validates that the URL is a legitimate Youdao share link and handles errors such as missing notes or authentication requirements.

clis/youdao · high confidence

Add Yuanbao browser-based CLI commands

Introduces a new set of browser-driven commands for the Tencent Yuanbao AI chat service, including \ask\, \send\, \read\, \detail\, \history\, \new\, and \status\. These commands allow users to interact with Yuanbao conversations directly from the CLI by automating the web interface, handling authentication via cookies, and parsing chat transcripts into structured text or markdown.

clis/yuanbao · high confidence

Add Z-Library search and book info commands

Users can now search for books and retrieve detailed information (title, PDF/EPUB links) from Z-Library using the new \zlibrary/search\ and \zlibrary/info\ CLI commands. The search command accepts a query and optional limit, while the info command takes a specific book URL; both require browser automation with cookies and validate that URLs belong to the configured Z-Library domain.

clis/zlibrary · high confidence

This change introduces a new set of CLI commands for the ZSXQ platform, including \groups\ (list joined groups), \topics\ (list topics in a group), \topic\ (fetch a single topic with comments), \search\ (search topics by keyword), and \dynamics\ (list recent activity). It also adds \auth.js\ to handle ZSXQ-specific authentication via an API probe rather than cookie inspection, and \utils.js\ with helper functions for parsing API responses and extracting topic details. Tests are included for the search, topics, topic, and utils modules to verify argument handling, error mapping, and content separation.

clis/zsxq · high confidence

Add browser-backed Gmail read commands

Introduces a new set of Gmail CLI commands that operate via browser interception to read email data. This includes commands for searching threads, listing inbox/unread/starred/sent/drafts/trash/spam/snoozed/important items, viewing thread details, listing labels, and listing attachment metadata. Authentication is handled via browser session cookies, requiring a persistent browser context to access Gmail's internal interfaces.

clis/gmail · high confidence

Add browser-based search adapters for Baidu Scholar, Wanfang, and Gov-Law

New CLI commands have been added to search academic and legal databases using headless browsers. The Baidu Scholar adapter queries xueshu.baidu.com to retrieve paper titles, authors, journals, and citation counts. The Wanfang adapter searches s.wanfangdata.com.cn for papers, extracting source, year, and citation data. The Gov-Law adapter interacts with flk.npc.gov.cn, supporting both keyword search and a 'recent laws' view by navigating the site's Vue Router; it includes specific error handling if the underlying web framework changes. All three adapters are registered as public, browser-based strategies with input validation for search queries.

clis/baidu-scholar, clis/gov-law, clis/wanfang · high confidence

Add news adapters for AIbase and UISDC

New CLI commands have been added to fetch daily news from AIbase and UISDC. The \aibase news\ command retrieves the AIbase daily report, returning rank, title, and URL for up to 50 items (default 20). The \uisdc news\ command fetches the latest AI and design industry news from UISDC, returning rank, title, summary, and URL for up to 50 items (default 20). Both commands use browser-based extraction and validate the limit argument before navigation.

clis/aibase, clis/uisdc · high confidence

Add read-only Manus (manus.im) adapter with authentication and data commands

This change introduces a new read-only adapter for the Manus AI agent platform (manus.im) within the CLI. It adds authentication support via \clis/manus/auth.js\, which registers login and whoami commands to verify Manus session cookies and identity. The adapter provides several read-only commands: \status\ (user profile and credit summary), \list\ (list sessions/tasks with optional archived filtering), \read\ (view details of a specific session), \credits\ (detailed credit balance and refresh schedule), \connectors\ (list available integrations), and \skills\ (list user and system skills). All commands use a browser-based strategy to interact with the Manus Connect-RPC API, requiring the user to be logged in to manus.im.

clis/manus · high confidence

Add rednote.com adapter mirroring xiaohongshu read commands

Users can now read data from rednote.com (the international version of xiaohongshu) using the same CLI commands available for xiaohongshu. This change introduces a new set of adapters in the \clis/rednote\ directory—including \note\, \comments\, \download\, \feed\, \search\, \user\, and \notifications\—which reuse the DOM-extraction logic from the existing xiaohongshu implementation but target the \www.rednote.com\ domain. The entry also includes \auth.js\ to handle rednote-specific session verification and \navigation.test.js\ to verify that these commands correctly disable pre-navigation steps.

clis/rednote · high confidence

Add web search adapters for Brave, DuckDuckGo, and Yahoo

Users can now search Brave, DuckDuckGo, and Yahoo directly from the CLI. The new \clis/brave/search.js\ adapter queries search.brave.com, while \clis/duckduckgo/search.js\ and \clis/duckduckgo/suggest.js\ provide search and autocomplete capabilities for html.duckduckgo.com and duckduckgo.com respectively. The \clis/yahoo/search.js\ adapter searches search.yahoo.com. All search commands use browser-based extraction to parse results, handle pagination, and decode redirect URLs, with \clis/duckduckgo/suggest.js\ using a direct HTTP fetch for suggestions.

clis/brave, clis/duckduckgo, clis/yahoo · high confidence

Amazon adapter now supports multiple marketplaces and includes new product data commands

The Amazon adapter has been rewritten in JavaScript and now respects the marketplace specified in the input (e.g., amazon.co.uk) instead of forcing navigation to amazon.com, ensuring review and product data are fetched from the correct regional store. This update also introduces new commands to retrieve Amazon product facts (product.js), seller and buy-box details (offer.js), and customer review summaries (discussion.js), alongside existing ranking commands like bestsellers, new releases, and movers & shakers.

clis/amazon · high confidence

AutoResearch framework with multi-layer browser evaluation suites

The autoresearch area now provides a complete autonomous iteration engine and a comprehensive set of evaluation suites to measure and improve browser automation capabilities. The engine (engine.ts) implements an 8-phase loop that autonomously iterates on code changes, verifying progress against a metric and rolling back if needed. This is supported by a configuration module (config.ts) for defining goals, scopes, and verification commands. The framework includes five distinct evaluation layers: Layer 1 (browse-tasks.json/eval-browse.ts) tests deterministic browser command reliability; Layer 2 (eval-skill.ts) evaluates LLM-driven skill completion via Claude Code; Layer 4 (eval-save.ts) tests the 'Save as CLI' pipeline for crystallizing browser exploration into reusable adapters; Layer 5 (eval-publish.ts) validates end-to-end content creation and publishing workflows; and specialized suites for V2EX (eval-v2ex.ts) and combined testing (eval-all.ts). Baseline scores are tracked in baseline-browse.txt and baseline-skill.txt.

autoresearch · high confidence

Bilibili adapter adds authentication, comment, creator analytics, and download commands

The Bilibili CLI adapter now includes a full authentication flow (login and identity verification via \auth.js\), commands to post and fetch comments with support for replies and pinned posts (\comment.js\, \comments.js\), a creator analytics command to retrieve manuscript-level metrics from the creator center (\creator-stats.js\), and a download command that supports multi-part videos and blocks paid content before downloading (\download.js\).

clis/bilibili · high confidence

Detect and report local adapter overrides of packaged commands

The CLI now detects when user-installed adapters in \~/.opencli/clis shadow built-in packaged commands and reports them via the doctor tool. This prevents silent command conflicts and helps users resolve issues by running opencli adapter reset \<site\> or removing local copies.

src · high confidence

Discord app CLI commands and browser automation logic

The Discord app CLI now includes a full set of browser-based commands for interacting with Discord: read, send, search, delete, goto, channels, servers, threads, thread-read, members, and status. These commands automate Discord's UI via browser evaluation scripts to list channels/servers/threads/members, read and search messages, send and delete messages, and navigate to specific channels or threads. The implementation includes URL parsing, DOM extraction scripts, and error handling for empty results and malformed outputs.

clis/discord-app · high confidence

Douban adapter adds authentication, subject details, and media commands

The Douban adapter in clis/douban now includes a full set of new commands: auth (login/whoami with cookie-based identity verification), subject (movie/book details), book-hot, movie-hot, top250, search, photos, download, marks, and reviews. The auth module registers site-specific login/whoami/poll flows that verify Douban session cookies (dbcl2/ck) and extract user identity, falling back to cookie-derived IDs when page navigation no longer exposes /people/\<uid\>. The subject command fetches detailed metadata for movies and books, while movie-hot and book-hot expose chart data (movie-hot now includes id and votes, dropping unparseable fields). The download command retrieves movie poster/still images with configurable limits and photo-id filtering. The marks and reviews commands export personal watchlist ratings/comments and user reviews, supporting full-content retrieval. Search supports movie, book, and music types with type-specific classification. All commands use cookie-based access, and tests verify identity resolution, navigation behavior, and field exposure.

clis/douban · high confidence

Douyin CLI: New commands for activities, collections, drafts, and profile

This change introduces several new read-only commands for the Douyin site integration. The \activities\ command retrieves official creator center activities, \collections\ lists user mix collections, \drafts\ fetches the draft video list, and \profile\ displays account details (uid, nickname, follower/following counts). Each command is registered with the CLI registry, uses the COOKIE authentication strategy, and includes corresponding unit tests to verify registration, argument handling, and data mapping.

clis/douyin · high confidence

Expand Ctrip adapter to cover additional travel verticals

The Ctrip adapter now supports a broader range of travel services beyond the initial offerings. New commands have been added for searching bus tickets, ferries, cruises, round-trip flights, hotels (search and details), attractions, tour packages, and flight-plus-hotel packages. Additionally, a dedicated authentication module has been introduced to handle Ctrip-specific login verification and session management.

clis/ctrip · high confidence

Hacker News CLI gains story reader and exposes item IDs in listings

The Hacker News adapter now includes a \read\ command that fetches a specific story and its threaded comment tree (with configurable depth, limit, and reply counts) via the public Firebase API, outputting structured rows for the post and comments. Additionally, all existing listing commands (top, new, best, show, ask, jobs, search) now surface the unique item ID alongside standard metadata like title and score, enabling users to reference or pass specific items to the new reader.

clis/hackernews · high confidence

Introduce ChatWise CLI integration with robust message injection and response polling

Adds a new set of CLI commands for the ChatWise application, including \ask\, \send\, \read\, \export\, \history\, and \model\. The \ask\ command enables sending prompts and waiting for AI responses with a configurable timeout, while \send\ handles message injection. To ensure reliability, the implementation uses a scoring algorithm in \utils.js\ to identify the main composer input, prioritizing it over auxiliary editors and preventing text from being injected into the wrong fields. Additional commands allow users to view conversation history, export chats to Markdown, and switch AI models.

clis/chatwise · high confidence

Introduce Doubao CLI integration with persistent browser sessions

Adds a new Doubao adapter to the CLI, providing commands to manage authentication, send and read messages, view conversation history, and retrieve meeting summaries and transcripts. The implementation uses persistent browser sessions and robust DOM selectors to handle the site's 2026-05 UI refactor, ensuring reliable interaction with the chat interface.

clis/doubao · high confidence

Introduce OpenCLI Chrome Extension for browser automation bridge

The OpenCLI Chrome Extension is now available to connect Chrome tabs to the local OpenCLI daemon, acting as a transport and browser-control layer for CLI commands. It uses Chrome Extension APIs (debugger, tabs, cookies, downloads) to execute commands in Chrome tab leases, manage automation containers, and report tab metadata. The extension includes a popup UI for status monitoring and a copy button for context IDs, along with a background service worker for handling automation tasks. This enables seamless integration between the OpenCLI CLI tool and Chrome browser for automated workflows.

extension · high confidence

Introduce OpenCLI Chrome Extension with daemon transport and CDP automation

The extension/src area now contains the core OpenCLI Chrome Extension implementation, replacing the previous Playwright MCP dependency with a lightweight daemon and extension architecture. The background service worker (background.ts) manages the WebSocket connection to the local opencli daemon, handling reconnection, keepalives, and console log forwarding. The CDP module (cdp.ts) provides browser automation capabilities via the chrome.debugger API, including screenshot capture, network capture, and command execution with timeouts and retry logic. A command journal (journal.ts) ensures exactly-once execution semantics by persisting command states to chrome.storage.session, preventing duplicate execution during transport retries. The extension also implements page identity mapping (identity.ts) to translate between Chrome tab IDs and CDP target IDs, and defines a shared protocol (protocol.ts) for communication between the CLI, daemon, and extension.

extension/src · high confidence

Introduce Spotify CLI integration for authentication and playback control

This change adds a new Spotify CLI client (clis/spotify) that enables users to authenticate via OAuth and interact with their Spotify account. The implementation includes an 'auth' command to handle the OAuth flow (opening a browser, listening on localhost:8888, and storing tokens) and a 'status' command to display current playback information. It introduces credential management via environment variables or a local .env file, with validation to prevent placeholder values. The code is written in JavaScript and includes utility functions for parsing credentials and mapping Spotify API responses, along with corresponding unit tests for the utility logic.

clis/spotify · high confidence

Introduce WeRead Official Agent Gateway CLI

Added a new \weread-official\ CLI skill that connects to the WeRead agent gateway (\i.weread.qq.com/api/agent/gateway\) using a Bearer API key (\WEREAD\_API\_KEY\). The skill registers eight read-only commands—\search\, \shelf\, \book\, \notes\, \review\, \readdata\, \discover\, and \list-apis\—to expose book metadata, shelf contents, reading progress, notes, reviews, reading statistics, and recommendations. It includes a test suite verifying command registration and gateway interactions.

clis/weread-official · high confidence

Introduce macOS ChatGPT Desktop CLI integration with image attachment and temporary chat support

This change adds a new \chatgpt-app\ CLI site for macOS that automates the native ChatGPT Desktop application via AppleScript and Accessibility APIs. Users can now send prompts, read responses, switch models, and check status directly from the command line. Key new capabilities include attaching local images to prompts (using pasteboard injection and verification) and opening temporary privacy-protected chats. The implementation supports localized UI labels for English, Simplified Chinese (zh-CN), and Traditional Chinese (zh-TW) for model selection, sending, and temporary chat menus.

clis/chatgpt-app · high confidence

Introduce paperreview CLI for submitting and reviewing academic papers

This change adds the \paperreview\ CLI tool, enabling users to submit PDF papers for review, fetch review status and results, and submit feedback. The \submit\ command handles the full workflow: validating the PDF, requesting a presigned upload URL, uploading the file to S3, and confirming the submission, with support for \--dry-run\ and \--prepare-only\ modes. The \review\ command fetches review details by token, handling asynchronous processing states. The \feedback\ command allows users to rate the helpfulness and criticality of a review. All commands include a \--timeout\ argument and are implemented in JavaScript with comprehensive test coverage.

clis/paperreview · high confidence

Jike adapter now requires authentication and supports write actions

The Jike adapter has been rewritten to enforce identity checks, preventing anonymous or silent-empty results for read commands like feed, search, and notifications. It now includes new write capabilities for creating posts, commenting, liking, and reposting, alongside structured API-based retrieval for search and notifications.

clis/jike · high confidence

New 'web read' command for extracting web content to Markdown

The \clis/web/read.js\ module introduces a new CLI command that fetches web pages and exports them as Markdown. It uses browser-side heuristics to identify main content (e.g., \\<article\>\, \\<main\>\) and pipes the result through the existing article-download pipeline. Key capabilities include waiting for specific selectors across same-origin iframes, capturing network diagnostics for debugging, and handling output via \--stdout\ (suppressing result rows) or disk writing. The command supports frame modes (\same-origin\, \all-same-origin\, \none\) and wait strategies (\domstable\, \networkidle\), with tests verifying selector waiting, network capture, and output behavior.

clis/web · high confidence

New 12306 adapter with full read capabilities and session-based auth

The 12306 (China Railway) adapter now supports a complete set of read-only commands: \stations\ (search by name, telecode, or pinyin), \trains\ (check availability between stations), \train\ (view stop details), \price\ (lookup ticket prices by seat class), \me\ (view account summary), \passengers\ (list saved passengers), and \orders\ (list in-progress orders). The adapter introduces a new \auth\ command to verify 12306 login status via session cookies. To handle 12306's dynamic API routing, the \trains\ command automatically detects and retries on rotated query endpoints (e.g., \queryG\, \queryO\, \queryZ\). Sensitive data in account, passenger, and order views is masked by default, with an \--include-sensitive\ flag to opt in. All commands require a browser session for authenticated endpoints, while station, train, and price lookups are anonymous.

clis/12306 · high confidence

New 36kr and Wikipedia CLI adapters

This change introduces new command-line adapters for two new data sources. For 36kr, it adds commands to fetch article details (using browser interception), retrieve trending hot-lists (using browser scraping with Shanghai-time routing), pull latest news via RSS, and search articles via browser scraping. For Wikipedia, it adds commands to retrieve full plain-text article extracts with an optional paragraph cap, fetch article summaries, search for articles, retrieve random articles, and list trending articles by view count. All adapters are implemented in JavaScript and include corresponding test coverage.

clis/wikipedia · high confidence

New Antigravity automation commands for OpenCLI

Added a comprehensive set of commands to automate the Antigravity desktop app via OpenCLI, including sending messages, reading chat history, extracting code blocks, switching models, managing conversation history (delete, rename, mark-read), and clearing context. The update also introduces a new \serve\ command that proxies Anthropic-compatible API requests to the Antigravity UI via Chrome DevTools Protocol, along with supporting utilities for storage inspection and UI state dumping.

clis/antigravity · high confidence

New AutoResearch CLI commands for debugging, fixing, and planning

The autoresearch/commands directory now includes four new CLI tools: debug.ts provides hypothesis-driven debugging for specific failing tasks by iteratively testing hypotheses with Claude Code; fix.ts automatically detects and iteratively resolves build errors, test failures, and browse task failures; plan.ts offers an interactive configuration wizard to generate run commands from presets or custom settings; and run.ts serves as the main autonomous iteration loop that executes configuration-driven improvement cycles using Claude Code for atomic changes.

autoresearch/commands · high confidence

New BBC News and Hugging Face CLI adapters

This update introduces new command-line adapters for BBC News and Hugging Face. For BBC News, users can now fetch general headlines (\bbc news\) or filter by specific sections like technology or politics (\bbc topic\) using public RSS feeds. For Hugging Face, the CLI now supports browsing top papers (\hf top\), searching for specific papers by arXiv ID (\hf paper\), and listing top models, datasets, and spaces with sorting and filtering options. Additionally, Hugging Face authentication commands (\hf login\, \hf whoami\) have been added to support authenticated access.

clis/hf · high confidence

New Barchart CLI commands for quotes, options chains, greeks, and unusual activity

Added four new commands to the Barchart CLI integration: \quote\ for stock price and key metrics, \options\ for strike-level chains with greeks, \greeks\ for a focused view of option sensitivity metrics, and \flow\ for tracking unusual options activity. These commands use the Barchart core API with CSRF-based authentication and include robust error handling for network failures, malformed responses, and empty results.

clis/barchart · high confidence

New Binance CLI commands for market data and order book access

This change introduces a suite of new CLI commands for the Binance site, including \asks\, \depth\, \gainers\, \klines\, \losers\, \pairs\, \price\, \prices\, \ticker\, \top\, and \trades\. These commands allow users to retrieve specific market data such as order book depth (now showing both bids and asks in the \depth\ command), recent trades, candlestick data, and top gainers/losers. The \depth\ command specifically provides a combined view of bid and ask prices, addressing the previous limitation where only one side was shown. Additionally, the \pairs\ command filters results to show only active trading pairs. All commands are registered with read access and use the public Binance API.

clis/binance · high confidence

New CI gates and developer tooling for adapter quality and installation hygiene

The repository introduces a suite of new scripts to enforce conventions and improve the installation experience. \check-doc-coverage.sh\ and \check-listing-id-pairing.mjs\ add CI gates and advisory reports to ensure adapters have documentation and that listing commands expose round-trippable IDs for detail lookups. \check-silent-column-drop.mjs\ and \check-typed-error-lint.mjs\ enforce strict baselines to prevent silent data loss and silent error handling in adapter outputs. Additionally, \fetch-adapters.js\ implements a hash-based sparse sync to manage local adapter overrides, while \postinstall.js\ automates shell completion setup and prunes unnecessary test files from dependencies to reduce package size.

scripts · high confidence

New CLI adapters for Chinese car platforms: Autohome, Dongchedi, and Guazi

This change introduces three new CLI adapters for Chinese automotive data sources, all operating without login or browser automation. The Autohome adapter (clis/autohome) provides commands to list car series by brand with guide prices and to retrieve aggregate owner ratings (koubei) including dimension scores and reliability metrics. The Dongchedi adapter (clis/dongchedi) adds commands for searching car series, retrieving detailed series information and specifications, listing available trims, viewing owner reviews, and analyzing rating breakdowns. The Guazi adapter (clis/guazi) is also included as part of this release. All adapters use public HTTP requests to parse server-rendered content and are fully unit-tested against frozen fixtures.

clis/autohome, clis/dongchedi, clis/guazi · high confidence

New CLI adapters for Flathub, Lichess, NuGet, and OEIS

This release adds four new read-only adapters to the CLI tool, enabling users to query the Flathub app registry (search and app details), the Lichess chess platform (user profiles and per-game-type leaderboards), the NuGet package index (search and full version history), and the OEIS integer sequence database (search and sequence details). Each adapter includes dedicated validation for input arguments, handles API rate limiting and missing resources gracefully, and provides round-trip linking to the respective web services.

(repo-wide) · high confidence

New CLI adapters for openFDA and wttr.in

Added two new read adapters to the CLI registry: openFDA (supporting drug-label and food-recall queries) and wttr.in (supporting current weather and multi-day forecasts). These adapters provide structured, tabular output for FDA drug labels, food recall enforcement actions, and global weather conditions, including shared utility functions for API fetching and error handling.

clis/openfda, clis/wttr · high confidence

New CLI commands for CNKI, Dictionary, Doubao, and IMDb

Added new command-line interface commands for four services: CNKI academic search (clis/cnki/search.js), Dictionary lookups including definitions, examples, and synonyms (clis/dictionary/), Doubao desktop app interaction for sending messages, reading history, and managing chats (clis/doubao-app/), and comprehensive IMDb data retrieval for titles, people, reviews, and charts (clis/imdb/). These commands are implemented in JavaScript and include corresponding test coverage for the CNKI and IMDb utility functions.

(repo-wide) · high confidence

New CLI commands for Medium and Steam data access

Added new CLI adapters for Medium and Steam. For Medium, users can now retrieve article feeds, search for articles, fetch posts by tag, and list articles by user via the \clis/medium\ commands. For Steam, users can search the storefront, retrieve detailed app information (including price, release date, and genres), and view top-selling games via the \clis/steam\ commands. These additions expand the CLI's ability to interact with these platforms' public APIs and storefronts.

clis/medium, clis/steam · high confidence

New Chess.com CLI commands for game analysis, details, history, and player stats

This change introduces a new Chess.com adapter in the \clis/chess\ directory, adding four new commands: \analyze\ opens a game in the browser's analysis board; \game\ fetches single-game details (players, result, ECO, time control) via a callback endpoint; \games\ retrieves a player's recent game history from monthly archives; and \stats\ displays player ratings and win/loss records across different game types (rapid, blitz, bullet, daily, etc.). These commands are supported by shared utility functions in \utils.js\ for API interaction, URL parsing, and data mapping, along with comprehensive test coverage for all new functionality.

clis/chess · high confidence

New Claude adapter with persistent browser sessions and model selection

A new Claude adapter has been added to the CLI, providing commands to interact with claude.ai using persistent browser sessions. Users can now send prompts and wait for responses (\claude ask\), send prompts without waiting (\claude send\), start new chats (\claude new\), read current conversation messages (\claude read\), view conversation history (\claude history\), and inspect specific conversations by ID (\claude detail\). The adapter supports switching between Sonnet, Opus, and Haiku models via the \--model\ flag (with guidance for paid-tier requirements), enabling Adaptive Thinking with \--think\, and attaching files with \--file\. It also includes a \claude status\ command to check login state and page availability, and \claude auth\ commands for managing authentication. The implementation replaces fixed sleeps with selector-based readiness checks for more reliable page interactions.

clis/claude · high confidence

New Codex CLI commands for conversation management and interaction

This change introduces a suite of new CLI commands for the Codex desktop application, enabling users to manage conversations and interact with the AI directly from the terminal. The new commands include \ask\ to send prompts and wait for responses, \send\ to inject text or slash commands (with optional picker selection via \--pick\), \read\ to retrieve conversation history, \history\ and \projects\ to list visible threads and projects, \pin\/\unpin\, \rename\, and \archive\ to manage conversation state, \model\ to switch the active AI model or reasoning level, \export\ to save conversations to Markdown, \extract-diff\ to pull code review diffs, and \screenshot\/\dump\ for debugging. These commands rely on UI automation (browser strategy) to interact with the Codex sidebar and composer, supporting selection by project, conversation title, index, or thread ID.

clis/codex · high confidence

New DBLP bibliography adapter with search, paper detail, author, and venue commands

Users can now query the DBLP computer science bibliography directly via four new CLI commands: \dblp search\ for free-text publication lookup, \dblp paper\ (aliased as \detail\/\view\) for fetching a single record by its canonical key, \dblp author\ for listing an author's publications by name or PID, and \dblp venue\ for searching the venue registry by name or acronym. These commands interact with DBLP's public API without authentication, returning structured rows with fields like title, authors, venue, year, DOI, and open-access URLs.

clis/dblp · high confidence

New DeepSeek browser adapter with full conversation lifecycle commands

This change introduces a complete browser-based adapter for DeepSeek, adding a suite of CLI commands to interact with the platform. Users can now send prompts and receive responses via the \ask\ command (supporting \--model\ selection for instant/expert/vision, \--think\ mode for DeepThink separation, \--search\ toggling, and \--file\ for attachments), manage sessions with \new\ and \send\, and inspect history or specific conversations using \history\ and \detail\. Authentication is handled via a \login\ command that verifies Bearer tokens from localStorage, while \status\ and \usage\ commands provide page availability checks and detailed platform usage metrics (balance, spending, API calls) from the DeepSeek platform dashboard. The implementation replaces fixed sleeps with selector-based readiness checks and uses position-based model selection to improve reliability.

clis/deepseek · high confidence

Adds a new Dianping adapter that supports searching for shops and retrieving shop details via a browser-based cookie strategy. The adapter introduces a live city resolver that falls back to dynamic lookup on www.dianping.com for cities not present in the static map, supporting both pinyin slugs and Chinese names. It also includes a dedicated authentication module that verifies the user's session by checking for the 'dper' cookie and validating the member profile page, ensuring the user is logged in before performing searches or shop lookups.

clis/dianping · high confidence

New Gemini CLI commands for asking, deep research, and conversation management

This update introduces a suite of new browser-based commands for the Gemini site, including \ask\ (to send prompts with optional model and thinking-level selection), \deep-research\ (to initiate and confirm deep research runs), \deep-research-result\ (to export deep research report URLs), \auth\ (to verify Google session identity), and read-only commands \status\, \history\, \detail\, and \read\ for inspecting conversations. The \ask\ command enforces strict validation for model IDs (requiring canonical formats like \2.5-flash\) and supports \--thinking\ levels, while \deep-research\ handles tool selection, submission retries, and confirm-button detection. All commands use persistent browser sessions and cookie-based authentication.

clis/gemini · high confidence

New Gitee adapter and expanded Reddit media and authentication commands

Users can now interact with Gitee via new \gitee search\, \gitee trending\, and \gitee user\ commands, along with a \gitee auth\ flow that probes the \/api/v5/user\ endpoint to verify identity. For Reddit, the \reddit auth\ command now uses a \/api/me.json\ probe to verify sessions, and the \reddit comment\ command allows posting comments. Additionally, the Reddit \frontpage\, \home\, and \hot\ commands now expose four new media columns (\post\_hint\, \url\_overridden\_by\_dest\, \preview\_image\_url\, \gallery\_urls\) to provide richer context for image and gallery posts.

clis/reddit · high confidence

This change introduces five new Google search adapters in the \clis/google\ directory, expanding the CLI's capabilities. The \images\ adapter uses browser-based DOM extraction to retrieve image results from Google Images, including logic to resolve original URLs from preview cards and handle dynamic layouts. The \search\ adapter provides standard web search results via browser extraction, supporting featured snippets and 'People Also Ask' sections. Additionally, \news\ and \trends\ adapters fetch data from public RSS feeds, while \suggest\ retrieves search suggestions via a public JSON API. A shared \utils.js\ module with an RSS parser and corresponding tests are also added to support these new features.

clis/google · high confidence

New Grok CLI commands for chat, history, and export

The Grok CLI now includes a full set of browser-based commands for interacting with grok.com. Users can send and wait for responses with \ask\, fire-and-forget sends with \send\, and manage conversations via \new\, \delete\, \pin\, and \unpin\. Conversation content is accessible through \read\ (current chat) and \detail\ (specific ID), while \history\ lists recent conversations. Data portability is supported with \export\ (metadata) and \export-all\ (full transcripts), and image generation is handled by the \image\ command. Authentication is managed via \auth\, and all commands require a persistent browser session.

clis/grok · high confidence

This change introduces a new set of read-only Jira CLI commands (\issue\, \search\, \comments\, \attachments\, \links\) that allow users to retrieve Jira data via REST APIs. The \issue\ command provides detailed issue metadata with support for custom field selection and inline comments, while \search\ enables JQL-based issue retrieval. Additional commands expose issue attachments, comments, and linked issues as structured rows. The implementation handles both Jira Cloud and Server/DC deployments, normalizes rich text (ADF/HTML) to Markdown, and respects environment variables for custom field mappings (e.g., acceptance criteria, story points).

clis/jira · high confidence

New Kimi (kimi.com) web adapter with full chat, usage, and audit capabilities

Users can now interact with the Kimi web application via a new adapter located in clis/kimi. This adds a suite of browser-automated commands including chat management (new, history, detail, read, send, ask, regenerate, react, share, copy-message, history-rename), model switching, and UI navigation (mode switching for ppt/docs/deep-research/etc., sidebar toggle, settings, account view). It also introduces a usage command that reads membership quota details from the subscription page, storage inspection tools (localStorage, sessionStorage, cookies, IndexedDB), and audit extras for actions like signing out, upgrading, dismissing banners, and listing templates. Authentication is handled via cookie-based login and identity verification against the /api/user endpoint, with comprehensive tests validating command registration, usage parsing, chat ID extraction, and SVG-based click helpers.

clis/kimi · high confidence

New LinkedIn commands for company data, connections, messaging, and connection requests

This update introduces several new LinkedIn CLI commands: \linkedin company\ reads company profile details (industry, size, headquarters, founded, website, specialties, followers, and about text); \linkedin connections\ lists your first-degree connections with name, occupation, and profile URL; \linkedin inbox\ lists messaging conversations and unread counts by leveraging the page's internal API; and \linkedin connect\ sends connection requests with safety checks to verify the recipient's identity and profile URL before sending. These commands are supported by new authentication helpers in \auth.js\ and comprehensive test suites for the new functionality.

clis/linkedin · high confidence

New Midjourney CLI adapter with ten commands and action support

This change introduces the \clis/midjourney\ adapter, adding a complete set of ten commands (\action\, \describe\, \download\, \generate\, \history\, \login\, \quota\, \settings\, \status\, \whoami\) to the OpenCLI registry. The adapter enables users to generate images, manage job history, handle downloads, and perform specific creation actions like upscaling, varying, and animating directly from the command line. It includes robust budget guards, model routing logic, and authentication utilities to interact with the Midjourney web interface.

clis/midjourney · high confidence

New NotebookLM CLI commands for creating notebooks, adding sources, and generating audio/slides

This change introduces a new set of browser-automated CLI commands for Google NotebookLM, including \create\ (to create new notebooks with titles and emojis), \add-source\ (to add URLs, text, or local files as sources), \generate-audio\ (to trigger Audio Overview generation), and \generate-slides\ (to trigger Slide Deck generation with configurable length and language). It also adds \list\, \get\, \current\, \history\, \note-list\, and \notes-get\ for reading notebook metadata, conversation history, and notes. Authentication is handled via Google SSO cookies (SID + SAPISID) with a dedicated \auth\ command, and all write operations require the \--execute\ flag to prevent accidental remote changes. Compatibility aliases (\select\ for \open\, \metadata\ for \get\, \notes-list\ for \note-list\) are registered for existing command names.

clis/notebooklm · high confidence

New OpenReview CLI commands for searching, browsing, and reviewing papers

This change introduces a new public OpenReview adapter in the CLI, adding five read-only commands: \search\ (full-text paper search), \venue\ (list papers by venue name or invitation ID), \author\ (list submissions by author profile ID), \paper\ (show full metadata for a single paper), and \reviews\ (display the full review thread including paper, reviews, rebuttals, and decisions). All commands use the public OpenReview v2 API without authentication, parse the v2 note format, and present structured output with columns like title, authors, venue, and PDF links.

clis/openreview · high confidence

New Pinterest CLI adapter for board and pin management

This change introduces a new CLI adapter for Pinterest under \clis/pinterest\, providing commands to manage boards (create, update, delete, list pins and sections, create/delete sections) and pins (create from URL, delete, download original images). The adapter uses cookie-based authentication and implements full CRUD operations for boards and sections, pin creation with optional section assignment, and pin downloading, all accompanied by comprehensive test coverage.

clis/pinterest · high confidence

New Stack Overflow CLI adapters for browsing and reading questions

This change introduces a comprehensive set of read-only Stack Overflow adapters to the CLI, enabling users to browse and inspect content directly from the command line. New commands include \stackoverflow search\ and \stackoverflow tag\ for finding questions by query or tag, \stackoverflow hot\, \stackoverflow bounties\, and \stackoverflow unanswered\ for curated lists, and \stackoverflow related\ to discover duplicate or similar threads. A new \stackoverflow read \<id\>\ command provides a detailed, threaded view of a specific question, including its answers and comments, with proper HTML-to-text conversion and entity decoding. Additionally, \stackoverflow user\ allows searching for user profiles by name. All adapters use the public Stack Exchange API, surface consistent metadata (such as \question\_id\, views, and scores) for agent consumption, and include robust error handling for API quotas and network issues.

clis/stackoverflow · high confidence

New Twitter CLI commands for article extraction, DM acceptance, and user blocking

This change introduces several new Twitter adapter commands: the \article\ command fetches long-form Twitter articles and exports them as Markdown; the \accept\ command automatically accepts direct message requests that match specific keywords; and the \block\ command provides a programmatic way to block users. It also adds \archive.js\ and \auth.js\ to support resumable JSONL archiving and robust session verification (including a settle-window fix for profile link detection). Comprehensive tests are included for these new capabilities.

clis/twitter · high confidence

New WeChat Official Account draft management and Sogou search capabilities

This update introduces new commands for the WeChat (Weixin) adapter: \create-draft\ allows users to programmatically create drafts with title, content, and cover image uploads (including a fallback for browser file-input limitations); \drafts\ lists existing drafts from the Official Account backend; and \search\ enables searching for WeChat articles via Sogou. Additionally, the \download\ command now robustly handles pasted URLs by stripping various typographic and CJK quotation marks, and correctly formats timestamps in UTC+8.

clis/weixin · high confidence

New WeRead CLI commands for AI outlines, book search, and authentication

This update introduces several new capabilities for the WeRead adapter. Users can now generate AI-generated book outlines using the new \weread ai-outline\ command, which supports configurable depth and raw output modes. A new \weread book-search\ command allows searching for books by title and performing in-book text searches, with support for ranking results and pagination. Additionally, the adapter now includes \weread auth\ commands (login/whoami) to verify and poll WeRead session status, and the existing \weread book\ command has been enhanced with fallback selectors to retrieve metadata even when the reader page lacks a cover image.

clis/weread · high confidence

New Xianyu CLI commands for inbox, chat, messages, and item publishing

The Xianyu CLI now supports a full suite of interaction commands: \inbox\ lists recent private conversations with unread filtering and optional ID resolution; \messages\ retrieves chat history for a specific conversation by item/user ID or inbox rank; \chat\ opens a conversation and optionally sends a message, with improved detection of the send button and textarea activation; \item\ fetches detailed product information via the mtop API; and \publish\ allows users to list new items by filling out the form with title, description, price, condition, category, location, and images. Authentication is handled via \auth.js\, which verifies Xianyu identity by checking cookies and DOM state on goofish.com.

clis/xianyu · high confidence

New Xueqiu adapter with authentication, comments, and Danjuan fund support

This change introduces a complete new adapter for the Xueqiu (雪球) platform, adding a suite of CLI commands including stock quotes, K-line charts, earnings dates, watchlists, groups, hot stocks, feeds, and discussions (comments). It implements a dedicated authentication flow for xueqiu.com that validates the xq\_a\_token cookie and verifies identity via the portfolio API, ensuring proper login state. The adapter also adds support for Danjuan (蛋卷基金) fund holdings and snapshots, fetching account and holding data in a single browser round-trip. Date formatting for K-lines and earnings is localized to the Asia/Shanghai timezone. Comprehensive unit tests are included for the comment parsing, response classification, and date formatting utilities.

clis/xueqiu · high confidence

New YouTube CLI commands for feed, history, channel, search, and interactions

This change introduces a comprehensive set of new CLI commands for the YouTube adapter, including \feed\, \history\, \channel\, \search\, \comments\, \playlist\, \like\, \subscribe\, \unsubscribe\, \watch-later\, and \subscriptions\. These commands enable users to retrieve personalized homepage feeds, authenticated watch history, channel details and recent videos, search results with filters, video comments, and playlist contents. It also adds write capabilities to like, subscribe, unsubscribe, and manage watch-later lists. The implementation relies on the InnerTube API with authenticated session cookies (SAPISID/SID) and supports pagination for large result sets like history and search. A new \auth.js\ module handles YouTube-specific authentication verification, checking for Google session cookies and validating the logged-in state via \ytcfg\ and avatar presence.

clis/youtube · high confidence

New arXiv CLI commands for paper lookup, search, and browsing

Users can now interact with arXiv via four new commands: \arxiv paper\ retrieves full details (including abstract, all authors, PDF link, and comments) for a specific ID; \arxiv search\ finds papers by keyword; \arxiv recent\ lists recent submissions filtered by category; and \arxiv author\ lists papers by a specific author. The adapter parses the public Atom XML API to surface comprehensive metadata, with input validation for categories and result limits.

clis/arxiv · high confidence

New browser-based CLI commands for Dribbble

This change introduces a new set of browser-driven CLI commands for the Dribbble platform, including \shot\, \shot-detail\, \profile\, \portfolio\, \collection\, \designer\, \member\, and \service\, along with \login\ and \whoami\ for authentication. These commands use a UI strategy to scrape public data from Dribbble, handling session cookies for authenticated searches (like 'following') and distinguishing empty states from selector drift to provide accurate results.

clis/dribbble · high confidence

New declarative pipeline steps for browser interaction, data fetching, and downloads

This change introduces a new set of pipeline steps in src/pipeline/steps that enable declarative browser automation, HTTP fetching, and file downloading. The browser step provides primitives for navigation, clicking, typing, filling forms, waiting, pressing keys, taking snapshots, and evaluating JavaScript. The fetch step supports both single and batch HTTP requests, with batch mode optimized to run inside the browser via a single evaluate() call to reduce IPC overhead, and includes validation for concurrency limits. The download step handles direct HTTP downloads and yt-dlp video downloads, with improved cookie handling that scopes cookies to each target domain to ensure authenticated downloads work correctly across multiple sites. Additional steps include intercept for declarative XHR interception, tap for Store Action Bridge integration with Pinia/Vuex, and transform steps for selecting, mapping, filtering, sorting, and limiting data.

src/pipeline/steps · high confidence

New dev.to CLI commands for listing and reading articles

Added five new commands to the dev.to adapter: \top\ (top articles of the day), \tag\ (articles by tag), \user\ (articles by username), \latest\ (newest articles across all tags), and \read\ (full article body by ID). These commands surface the article ID, reading time, and publication date in listings, and the \read\ command allows fetching the full markdown body with a configurable max-length truncation.

clis/devto · high confidence

New gov-policy CLI commands for searching and listing Chinese government policies

Added two new browser-based CLI commands, \gov-policy search\ and \gov-policy recent\, to the registry. The \search\ command queries the Chinese government website's search engine for policy documents, returning ranked results with titles, descriptions, dates, and URLs. The \recent\ command lists the latest State Council policy releases, returning titles, dates, sources, and URLs. Both commands include input validation for query strings and result limits, handle browser navigation and rendering waits, and use frozen HTML fixtures with JSDOM to ensure the in-browser DOM extractors remain stable against page structure changes.

clis/gov-policy · high confidence

New linux.do CLI adapter with comprehensive site commands

This change introduces a new adapter for the linux.do forum, adding a suite of CLI commands including \auth\ (login/whoami), \feed\ (latest/hot/top topics with tag and category filtering), \search\, \categories\, \tags\, \topic\ (summary), \topic-content\ (full markdown body), \user-posts\, and \user-topics\. The implementation relies on a shared \feed.js\ module for JSON API fetching with metadata caching and a \format.js\ module for time and HTML processing. Authentication is handled via browser cookies and the Discourse \/session/current.json\ endpoint, ensuring the CLI operates within the user's active session.

clis/linux-do · high confidence

New pipeline execution engine with dynamic step registry and sandboxed template engine

The \src/pipeline\ module introduces a new execution architecture for YAML-based automation workflows. The \executor.ts\ file implements the \executePipeline\ function, which runs steps sequentially using a dynamic \registry.ts\ that allows core and third-party plugins to register custom operations (e.g., navigate, click, map, sort). The engine includes retry logic for transient browser errors and fails fast on unknown steps. The \template.ts\ module provides a sandboxed expression engine using \node:vm\ for safe evaluation of \${{ ... }}\ expressions, supporting pipe filters (e.g., \upper\, \join\), chained \\|\|\ fallbacks, and path resolution, with security hardening against prototype pollution and sandbox escapes. Comprehensive tests in \executor.test.ts\, \template.test.ts\, and \transform.test.ts\ validate the new behavior.

src/pipeline · high confidence

New read adapters for Docker Hub, Homebrew, Maven, OpenAlex, Packagist, and RubyGems

This update adds six new read-only adapters to the CLI, enabling users to query public package registries and repositories directly from the command line. The new capabilities include searching and fetching metadata for Docker Hub images, Homebrew formulae and casks (including popularity rankings), Maven Central artifacts, OpenAlex scholarly works, Packagist PHP packages, and RubyGems gems. Each adapter provides structured output for key details such as version history, download counts, licenses, and descriptions, with specific commands like \dockerhub image\, \homebrew popular\, \maven artifact\, \openalex work\, \packagist package\, and \rubygems gem\.

(repo-wide) · high confidence

New read adapters for crates.io, npm, PyPI, MDN, and NVD

This update adds new read-only adapters for five external data sources, enabling the CLI to fetch structured metadata and statistics. For Rust packages (crates.io), it provides commands to retrieve single crate details (version, downloads, license) and search results. For JavaScript (npm), it adds package metadata retrieval, search, and download statistics over configurable time windows. For Python (PyPI), it offers package metadata and download counts (recent totals or full history). It also introduces MDN Web Docs search with multi-locale support and NIST NVD CVE detail retrieval including CVSS scores and CWE identifiers.

(repo-wide) · high confidence

New shared CLI utilities and command factories for desktop, search, and authentication

The \clis/\_shared\ directory now provides reusable JavaScript modules that standardize how CLI adapters interact with the underlying system. \desktop-commands.js\ introduces factory functions to generate consistent screenshot, status, new-session, and dump commands for Electron-based desktop apps, reducing duplication across adapters. \site-auth.js\ adds a helper to register \whoami\ and \login\ commands that handle cookie-based authentication, including polling for login completion and timeout handling. \search-adapter.js\ supplies validation and error-handling utilities for search queries and result parsing. \common.js\ offers general numeric and string normalization helpers. These changes enable adapter authors to build features faster with consistent behavior and error handling.

_clis/\shared · high confidence

Pixiv adapter adds authentication, bookmark listing, and download commands

The Pixiv adapter now supports full account interaction: it registers site-specific login and identity verification (checking the PHPSESSID cookie and fetching user metadata), lists a user's illustration and novel bookmarks with pagination and visibility filters, and provides commands to download individual illustrations or batch-download bookmarks (with safety checks like --execute, staging directories, and rollback on failure).

clis/pixiv · high confidence

Reuters CLI: new search, article-detail, and auth commands

The Reuters adapter now provides three new commands: \reuters search\ for querying news articles, \reuters article-detail\ for retrieving full article text and metadata, and \reuters auth\ for managing login state. These commands use a cookie-based strategy to run inside an authenticated browser session, bypassing anti-bot challenges like Datadome. The search command accepts a query and a limit (1-40), while the article-detail command takes a specific URL. Both commands return structured data including title, date, section, authors, and body text. The auth command verifies login status by checking subscription state and user ID in local storage.

clis/reuters · high confidence

Runtime trace capture with automatic redaction and retention

The \src/observation\ module now captures runtime traces (actions, network requests, console output, screenshots, and state) into scoped profile directories. When exporting a session, sensitive data such as authorization headers, cookies, and URL query parameters (e.g., tokens, passwords) are automatically redacted before being written to disk. The system also enforces retention policies by default (7-day age limit, 20 traces per profile, 500MB storage cap), automatically pruning older artifacts while protecting the currently exported trace.

src/observation · high confidence

Slock CLI commands now enforce strict API base URL usage and support attachment operations

The slock CLI now guarantees that all API requests are routed through the SLOCK\_API\_BASE environment variable rather than hardcoded paths, preventing cross-origin and authentication failures when the CLI runs on a different host than the API. This change introduces new commands for managing attachments (upload, download, and retrieving signed URLs) and bookmarks (add, list, remove), alongside channel management commands (create, join, leave, archive, unarchive, info, and file listing). The attachment download command uses a two-step process to bypass CORS restrictions by resolving a signed CDN URL in the browser and fetching bytes in Node. Bookmark operations now correctly handle the server's response shape, and channel unarchive provides a helpful hint when using channel names for archived channels.

clis/slock · high confidence

Weibo adapter rewritten in JavaScript with expanded CLI commands

The Weibo adapter in \clis/weibo\ has been converted from TypeScript to JavaScript, introducing a suite of new commands: \weibo me\ for profile info, \weibo feed\ for for-you and following timelines, \weibo comments\ for post comments, \weibo favorites\ for user favorites, \weibo hot\ for trending topics, \weibo post\ for individual posts, \weibo search\ for user-based search, and \weibo user\ for user profiles. Write capabilities are now available with \weibo publish\ (posting text and images) and \weibo delete\ (removing own posts). Authentication is handled via a new \auth.js\ module that resolves the user ID before probing profile endpoints to avoid HTTP 400 errors, and all read adapters now correctly unwrap Browser Bridge envelopes for reliable data extraction.

clis/weibo · high confidence

Xiaohongshu Ask command with citation sources

Added a new \xiaohongshu/ask\ command that queries Xiaohongshu's 'Dian Dian' AI assistant and returns structured answers with citation sources. The command registers as a browser-backed write command, supports configurable \--timeout\ (1–180s) and \--source-limit\ (1–50) arguments, and normalizes source data into note IDs, titles, authors, and signed URLs with \xsec\_token\. It handles engagement metadata (like counts, user IDs, publish dates) and safely parses Chinese numeric formats (e.g., '1.2万'). The implementation uses the site's own webpack conversation store from an authenticated tab and includes comprehensive tests for source normalization, URL building, and error handling.

clis/xiaohongshu · high confidence

Xiaoyuzhou CLI now uses authenticated API for reliable podcast access

The Xiaoyuzhou adapter has been rewritten to replace the previous broken server-side rendering (SSR) scraping with a direct, authenticated API integration. This change introduces a new credential management system (storing tokens in \~/.opencli/xiaoyuzhou.json) and a suite of new commands: \xiaoyuzhou/podcast\ to view profiles, \xiaoyuzhou/podcast-episodes\ to list episodes, \xiaoyuzhou/episode\ to view details, \xiaoyuzhou/download\ to save audio files, \xiaoyuzhou/transcript\ to export transcript JSON and text, and \xiaoyuzhou/history\ to retrieve playback history with progress tracking. The implementation includes automatic token refresh, robust error handling for authentication failures, and comprehensive test coverage for all new commands.

clis/xiaoyuzhou · high confidence

Zhihu adapter adds answer detail, comment, and collection read commands

The Zhihu adapter introduces three new read capabilities: fetching a single answer's full content via the new \answer-detail\ command (supporting optional content length capping and robust ID parsing), listing answer comments with preserved reply hierarchies via the \answer-comments\ command (with configurable root and reply limits), and viewing the contents of a user's collection via the \collection\ command (supporting pagination and multiple content types like answers, articles, and pins). These commands rely on new shared helper modules for answer target parsing, HTML stripping, and pagination normalization to ensure consistent data handling across the new features.

clis/zhihu · high confidence

Removals

Removed Zhihu hot list and search commands

The Zhihu CLI module no longer supports the 'hot' (hot list) and 'search' commands. The configuration file for the hot list (hot.yaml) and the TypeScript implementation for search (search.ts) have been deleted, meaning users can no longer retrieve Zhihu trending topics or perform keyword searches via this CLI tool.

src/clis/zhihu · high confidence

Behavioural changes

Douyin adapter layer converted to JavaScript with new shared utilities

The Douyin adapter layer in clis/douyin/\_shared has been converted from TypeScript to JavaScript. This change introduces a suite of new shared modules including browserFetch for executing API calls within a Chrome browser context, imagexUpload for cover image uploads, tos-upload for TOS multipart video uploads with resume support, and transcode for polling video processing status. It also adds utilities for STS2 credential retrieval, public API fetching, text hashtag parsing, and timing validation, along with comprehensive test coverage for all new components.

_clis/douyin/\shared · high confidence

East Money CLI adapters and convertible bond data corrections

This update introduces a suite of new East Money CLI adapters (quote, kline, rank, sectors, money-flow, northbound, holders, convertible, announcement, etf, index-board, kuaixun, longhu, and hot-rank) along with a shared symbol-resolution helper (\_secid.js) that normalizes A-share, HK, and US ticker inputs into the platform's internal secid format. For the convertible bond command, the output columns previously mislabeled as ytm and remainingYears have been corrected to reflect their true semantics (pure-bond premium % and putback trigger price), and the sort options have been updated to remove the incorrect yield-to-maturity sort.

clis/eastmoney · high confidence

Facebook adapter rewritten in JavaScript with expanded command set and robust DOM extraction

The Facebook adapter in \clis/facebook\ has been converted from TypeScript to JavaScript and significantly expanded with new commands for adding friends, viewing events, browsing groups, joining groups, accessing Marketplace listings and inbox, and viewing memories. The core feed and notifications extractors have been rewritten to handle modern Facebook DOM structures, including fallback extraction for empty article nodes, anti-scrape decoy filtering, and proper handling of unread badges and time-ago suffixes. Authentication is now handled via a dedicated \auth.js\ module that verifies the \c\_user\ cookie and validates session state. Comprehensive test coverage has been added for all new commands and extraction logic.

clis/facebook · high confidence

Hupu adapter rewritten in JavaScript with new hot listing columns and auth support

The Hupu adapter files (hot, detail, auth, like, unlike, reply, search, mentions) have been converted from TypeScript to JavaScript. The hot listing command now uses a robust DOM walk (querySelectorAll) instead of brittle regex, exposing new columns for lights, replies, forum section, and hot status, while enforcing a strict 1-100 limit. A new auth module enables login and identity verification for cookie-based commands like likes, replies, and mentions.

clis/hupu · high confidence

Improved authentication status reporting and daemon diagnostics

The \opencli auth status\ command now uses a fast 'quick check' for sites that support it, avoiding full browser sessions unless the \--full\ flag is provided, and safely masks sensitive identity fields in the output. The new \opencli auth refresh\ command maintains persistent browser sessions to keep authentication tokens valid, tracking touch timestamps to throttle refreshes within a 24-hour window. Additionally, \opencli daemon status\ now provides specific, actionable error messages for extension connection issues—distinguishing between a missing default profile, a disconnected profile, and a truly disconnected extension—instead of a generic 'disconnected' message.

src/commands · high confidence

Instagram adapter refactors: shared helpers, protocol capture, and like/unlike fixes

The Instagram adapter in clis/instagram/\_shared has been restructured with new shared modules: navigation.js provides a reusable home-page navigation helper; runtime-info.js extracts app ID, CSRF token, and AJAX headers from page HTML and cookies; protocol-capture.js installs browser-side patches to record fetch/XHR traffic for debugging private API calls; private-publish.js implements the private API flow for uploading media (images, videos, carousels, stories) with retry logic and config derivation; post-like.js replaces the previous web\_profile\_info-based approach with a feed-by-username read and DOM-based like/unlike controls that correctly distinguish action-bar icons from comment-row icons, supporting English and Chinese labels. Tests were added for all new helpers (navigation, post-like, private-publish, protocol-capture, runtime-info, user-id). These changes improve reliability for business/professional accounts, enable media publishing via the private API, and provide better debugging and test coverage for the Instagram integration.

clis/instagram · high confidence

LessWrong adapter rewritten in JavaScript with improved author display

The LessWrong adapter has been converted from TypeScript to JavaScript, introducing a new helper module for GraphQL requests and data processing. A key behavioral change is that the author column now displays an empty string when a user's display name is missing or the user object is null, replacing the previous 'Unknown' silent sentinel. This ensures cleaner output for deleted or anonymized accounts across commands like frontpage, top, and user-posts.

clis/lesswrong · high confidence

Removal of TypeScript CLI adapter auto-registration index

The centralized index file that automatically imported and registered TypeScript CLI adapters for Bilibili, GitHub, and Zhihu has been removed. This change eliminates the automatic self-registration mechanism for these specific adapters, implying that the CLI system's initialization or discovery logic has been altered to no longer rely on this specific import chain for these services.

src/clis · high confidence

SMZDM search now exposes interaction metrics and update time

The SMZDM search command has been rewritten to scrape the rendered DOM instead of relying on a broken AJAX endpoint, ensuring reliable results. The output now includes interaction metrics (likes, dislikes, favorites, comments) and the update time for each deal, alongside the existing title, price, mall, and URL fields. The command validates the --limit argument (1–100) before navigation and filters out untrusted URLs.

clis/smzdm · high confidence

Sina Finance CLI adapters rewritten in JavaScript with new news and stock commands

The Sina Finance adapter layer has been converted from TypeScript to JavaScript, introducing several new CLI commands: a public 'news' command for 7x24 live financial news, a 'rolling-news' command for rolling financial updates, a 'stock-rank' command for market hot lists (requiring cookie access), and a 'stock' command for real-time quotes across A-shares, Hong Kong, and US markets (using public APIs). The stock command now matches queries by both stock symbol and company name, supporting auto-detection across markets. Tests have been added for the rolling-news and stock commands to verify API integration and error handling.

clis/sinafinance · high confidence

TikTok adapter rewritten with typed errors and page-context APIs

The TikTok adapter has been completely rewritten to replace fragile DOM-link scraping and silent-failure pipelines with a robust page-context API approach and strict error handling. Read commands (explore, following, friends, live, notifications, creator-videos) now fetch data directly from TikTok's internal APIs (e.g., \/api/explore/item\_list/\, \/api/user/list/\) using the live browser session, ensuring reliable pagination and accurate data extraction. Write commands (follow, comment) now use a 'button-walker' pattern that verifies state changes (e.g., button text flipping to 'Following') and throws specific, typed errors (ArgumentError, AuthRequiredError, CommandExecutionError) instead of returning ambiguous status strings. Authentication is now handled via a centralized site-auth module that validates session cookies and extracts user identity from the page's rehydration data.

clis/tiktok · high confidence

Xiaoe adapter rewritten with robust auth, content extraction, and typed errors

The Xiaoe adapter has been refactored from a legacy pipeline-based approach to a modern function-based architecture with stricter error handling and improved data fidelity. Authentication is now handled via a dedicated \auth.js\ module that verifies active admin cookies and identity, ensuring sessions are valid before data extraction. The content extractor (\content.js\) fixes a critical bug where article text was silently dropped; it now correctly returns the full \content\ column alongside metadata like \content\_length\ and \image\_count\, while also validating that content is actually present. Catalog and course listing commands (\catalog.js\, \courses.js\) have been updated to use explicit \func\ forms with \Strategy.COOKIE\ and browser execution, providing typed errors (e.g., \EmptyResultError\) when sessions expire or data is missing, rather than failing silently. Pure helper functions for URL building and content parsing are now shared between live execution and JSDOM tests to ensure consistency.

clis/xiaoe · high confidence

Fixes

Include pre-built extension dist/ in repo for zero-step install

The extension's compiled background script (extension/dist/background.js) is now committed to the repository, allowing users to install the extension directly without needing to run a local build process. This file contains the core browser automation logic, including CDP command execution with timeouts, network capture, and tab debugging capabilities.

extension/dist · high confidence

New article and media download helpers with hardened HTML-to-Markdown conversion

The \src/download\ module introduces dedicated helpers for exporting web content: \article-download.ts\ converts HTML articles to Markdown using TurndownService, while \media-download.ts\ handles batch downloading of images and videos. The Markdown pipeline now robustly handles edge cases that previously caused crashes, such as row-less tables, and correctly strips non-content tags (script, style, noscript, form) while preserving iframes as links. Image downloads are improved by inferring file extensions from Content-Type headers when available, and video platform detection is hardened to match host boundaries (e.g., \youtube.com\) rather than substrings, preventing misclassification of sites like \netflix.com\. Additionally, the download progress bar now clamps percentages to the 0–100 range to prevent rendering errors, and cookie handling ensures cookies are scoped to the target domain and not forwarded across cross-domain redirects.

src/download · high confidence

Release packaging now validates manifest entry files

The extension release script now checks that all files referenced in the manifest (such as the popup, background worker, and icons) are present before creating the package. If any required entry file is missing, the packaging process fails with an error, preventing the creation of broken extension packages.

extension/scripts · high confidence

Test coverage

Added article-extract fixtures for Deno 2, OpenAI Cookbook, and Wikipedia Markdown; Added frozen HTML fixtures for Dianping search and shop pages; Expanded E2E test coverage for browser adapters, daemon transport, and article pipeline.

Dependencies

OpenCLI v1.8.8 release with dependency updates and package restructuring

This release updates the CLI to version 1.8.8 and the browser extension to 1.0.24. The main package has been renamed to @jackwener/opencli, the license changed to Apache-2.0, and the minimum Node.js version raised to 20.18.1. Key dependency upgrades include commander to 14.0.3, js-yaml to 4.3.2, undici to 7.29.0, and TypeScript to 6.0.2. The package now exposes specific module paths (e.g., browser/cdp, download) and includes a postinstall script to fetch adapters.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 37 → 45 (+8.1)
  • Rubric changed (rubric-2026.08.15 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 45 → 36 (-8.6)
  • Architecture 91 (new)
  • Maturity 77 → 78 (+1.0)
  • Readiness 29 → 57 (+28.2)
  • Security 36 → 66 (+30.4)
  • Accessibility 40 (new)

Resolved (180)

  • (anonymous) (cognitive 16) (clis/wttr/forecast.js)
  • (anonymous) (cyclomatic 17) (clis/wttr/forecast.js)
  • Boundary-crossing change coupling: background.ts ↔ daemon-client.ts (extension/src/background.ts)
  • Change coupling: background.ts ↔ cdp.ts (extension/src/background.ts)
  • Change coupling: bookmark-folder.js ↔ bookmarks.js (clis/twitter/bookmark-folder.js)
  • Change coupling: bookmark-folder.js ↔ likes.js (clis/twitter/bookmark-folder.js)
  • Change coupling: bookmark-folder.js ↔ list-tweets.js (clis/twitter/bookmark-folder.js)
  • Change coupling: bookmark-folder.js ↔ timeline.js (clis/twitter/bookmark-folder.js)
  • Change coupling: bookmark-folder.js ↔ tweets.js (clis/twitter/bookmark-folder.js)
  • Change coupling: build-manifest.ts ↔ serialization.ts (src/build-manifest.ts)
  • Change coupling: cli.ts ↔ daemon.ts (src/cli.ts)
  • Change coupling: cli.ts ↔ external.ts (src/cli.ts)
  • Dimension evaluation failed
  • FileTooLong: wechat-channels/publish.js (clis/wechat-channels/publish.js)
  • FileTooLong: youtube/transcript.js (clis/youtube/transcript.js)
  • High CVE: [GHSA redacted] (bun.lock)
  • High CVE: [GHSA redacted] (bun.lock)
  • High CVE: [GHSA redacted] (bun.lock)
  • High CVE: [GHSA redacted] (bun.lock)
  • High CVE: [GHSA redacted] (bun.lock)
  • …and 160 more

New (871)

  • CDPBridge.connect (cognitive 26) (src/browser/cdp.ts)
  • CDPBridge.connect (cyclomatic 17) (src/browser/cdp.ts)
  • CDPPage.screenshot (cognitive 34) (src/browser/cdp.ts)
  • CDPPage.screenshot (cyclomatic 24) (src/browser/cdp.ts)
  • CDPPage.startNetworkCapture (cognitive 34) (src/browser/cdp.ts)
  • CDPPage.startNetworkCapture (cyclomatic 19) (src/browser/cdp.ts)
  • Change coupling: base-page.ts ↔ cli.ts (src/browser/base-page.ts)
  • Change coupling: bridge.ts ↔ daemon-client.ts (src/browser/bridge.ts)
  • Change coupling: daemon.ts ↔ doctor.ts (src/commands/daemon.ts)
  • Change coupling: discovery.ts ↔ validate.ts (src/discovery.ts)
  • ClassTooLong: BasePage (src/browser/base-page.ts)
  • Coverage not measured — JavaScript/TypeScript suite
  • Documentation: no installation or build instructions
  • Engine.run (cognitive 40) (autoresearch/engine.ts)
  • Engine.run (cyclomatic 26) (autoresearch/engine.ts)
  • FileTooLong: _shared/private-publish.js (clis/instagram/_shared/private-publish.js)
  • FileTooLong: browser/base-page.ts (src/browser/base-page.ts)
  • FileTooLong: chatgpt/utils.js (clis/chatgpt/utils.js)
  • FileTooLong: ctrip/utils.js (clis/ctrip/utils.js)
  • FileTooLong: douban/utils.js (clis/douban/utils.js)
  • …and 851 more

Changes since last survey

  • 117 commits — 56 feature/other, 61 fixes

By area

  • (root) — 12 commits
  • clis/twitter — 9 commits
  • src/browser — 9 commits
  • clis/xiaohongshu — 8 commits
  • clis/linkedin — 7 commits
  • clis/instagram — 5 commits
  • clis/zhihu — 4 commits
  • clis/bilibili — 3 commits
  • clis/chatgpt — 3 commits
  • clis/douyin — 2 commits
  • clis/dribbble — 2 commits
  • clis/jike — 2 commits
  • clis/linux-do — 2 commits
  • clis/notebooklm — 2 commits
  • clis/youtube — 2 commits
  • clis/12306 — 1 commit
  • clis/1688 — 1 commit
  • clis/boss — 1 commit
  • clis/codex — 1 commit
  • clis/ctrip — 1 commit

Notable commits

  • fix: chore: npm audit fix for dev-dependency advisories (#2378)
  • fix: fix(1688): extract detail images from shadow DOM with lazy-render scrolling (#2272)
  • fix: fix(adapter): copy shared deps on eject (#2321)
  • fix: fix(adapters): handle recent extraction drift (#2293)
  • fix: fix(args): reject invalid integer values (#2300)
  • fix: fix(boss): restore read-only job search and detail (#2291)
  • fix: fix(browser): prefer the main Electron window over routed auxiliary windows (#2244)
  • fix: fix(browser): preserve structured network captures (#2406)
  • fix: fix(browser): thread the preferred profile through readiness and status checks (#2262)
  • fix: fix(chat): preserve selected models and wait for Kimi replies (#2266)
  • fix: fix(chatgpt): filter Chinese user-upload previews from generated images (#2261)
  • fix: fix(chatgpt): never save in-progress canvas frames as generated images (#2237)
  • fix: fix(chatgpt): use data-turn to detect upload previews vs generated images (#2292)
  • fix: fix(codex): resolve the ChatGPT executable inside Codex.app (#2232)
  • fix: fix(codex): select slash-command picker options from send (#2239)
  • fix: fix(completion): fall back on invalid manifests (#2298)
  • fix: fix(ctrip): read structured flight results (#2393)
  • fix: fix(dianping): correct 4 wrong cityIds in static city map (#2280)
  • fix: fix(discord-app): extract guild ids from navigation items (#2233)
  • fix: fix(discovery): warn when yaml adapters are skipped instead of dropping them silently (#2229)
  • …and 97 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

jackwener/OpenCLI was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 25 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 24136945847afbfad266c6c46a8cd335377f9112 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-dd72cc24c749.