Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jackwener/opencli
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.4.0
Choose a base ref
...
head repository: jackwener/opencli
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.4.1
Choose a head ref
  • 13 commits
  • 90 files changed
  • 7 contributors

Commits on Mar 25, 2026

  1. ci: add cross-platform E2E and smoke test support (Linux/macOS/Window…

    …s) (#411)
    
    * ci: add cross-platform support for E2E and smoke tests
    
    Make headed browser tests (E2E and smoke) runnable on Linux, macOS,
    and Windows:
    
    - setup-chrome action: only install xvfb on Linux (macOS/Windows
      have native GUI sessions and don't need a virtual display)
    - e2e-headed.yml: add OS matrix, use xvfb-run wrapper only on Linux
    - ci.yml smoke-test: add OS matrix, use xvfb-run wrapper only on Linux
    
    The browser-actions/setup-chrome action already supports all three
    platforms natively.
    
    * ci: exclude Windows from E2E/smoke matrix (Chrome install hangs)
    
    browser-actions/setup-chrome hangs indefinitely during Chrome MSI
    installation on Windows runners (observed 10+ min with no progress).
    This is a known limitation of Windows CI runners.
    
    Keep Linux + macOS for headed browser tests. Windows is still covered
    by build, unit-test, and adapter-test jobs.
    ByteYue authored Mar 25, 2026
    Configuration menu
    Copy the full SHA
    a9571b1 View commit details
    Browse the repository at this point in the history
  2. chore: release v1.4.0 (#413)

    * chore: release v1.4.0
    
    * docs: sync command references across SKILL.md, README, and docs
    
    SKILL.md:
    - Add 12 missing sites: apple-podcasts, arxiv, bloomberg, coupang,
      dictionary, doubao, jd, linkedin, pixiv, web, weixin, xiaoyuzhou
    - Add 36 missing commands across 6 existing sites (twitter, hackernews,
      yollomi, xueqiu, linux-do, v2ex)
    
    README (EN + zh-CN):
    - Add linkedin timeline command
    
    docs/:
    - Add 13 missing adapters to vitepress sidebar navigation
    - Add 6 missing adapters to docs/adapters/index.md overview table
    - Update xueqiu commands with fund-holdings, fund-snapshot
    jackwener authored Mar 25, 2026
    Configuration menu
    Copy the full SHA
    15369fa View commit details
    Browse the repository at this point in the history
  3. feat(extension): add popup UI, privacy policy, and CSP for Chrome Web…

    … Store (#415)
    
    - Add popup.html/popup.js showing daemon connection status
      (Connected / Reconnecting / No daemon connected)
    - Add message listener in background.ts to expose WebSocket state
    - Add PRIVACY.md with full privacy policy covering all permissions
    - Add content_security_policy to manifest.json
    - Update description to be clearer for CWS reviewers
    jackwener authored Mar 25, 2026
    Configuration menu
    Copy the full SHA
    4812486 View commit details
    Browse the repository at this point in the history
  4. feat: add filter option for twitter search (#410)

    * feat: add filter option for twitter search
    
    * test: add tests
    
    * docs: 📝 update
    
    * fix(twitter): default search filter safely
    
    ---------
    
    Co-authored-by: jackwener <[email protected]>
    stormslowly and jackwener authored Mar 25, 2026
    Configuration menu
    Copy the full SHA
    554329f View commit details
    Browse the repository at this point in the history
  5. feat: add url field to 9 search adapters (67% -> 97% coverage) (#414)

    * feat(tiktok): add video URL to search results
    
    Add a 'url' field to the TikTok search adapter output, constructed from
    the author's uniqueId and the video id returned by the API. This allows
    downstream consumers (AI agents, pipelines, scripts) to link directly to
    each video instead of only having the author handle.
    
    The URL format is: https://www.tiktok.com/@{author}/video/{videoId}
    
    Co-authored-by: Copilot <[email protected]>
    
    * feat: add url field to 9 search adapters missing it
    
    Add url output to search commands that were missing direct links:
    
    YAML adapters:
    - hackernews: surface existing url from map step into columns
    - zhihu: pass computed url through map step into columns
    - linux-do: construct url from topic id
    - instagram: construct profile url from username
    - xueqiu: pass computed url through map step into columns
    
    TS adapters:
    - arxiv: surface existing url from parseEntries into return + columns
    - apple-podcasts: add collectionViewUrl from iTunes API
    - medium: add url to columns (already computed in utils)
    - weread: construct book url from bookId
    
    This brings search adapter url coverage from 67% to 97% (32/33).
    The only adapter without url is dictionary (word lookup, no URL concept).
    
    Co-authored-by: Copilot <[email protected]>
    
    * fix(weread): use query arg in search
    
    ---------
    
    Co-authored-by: Allen Song (Beyondsoft) <[email protected]>
    Co-authored-by: Copilot <[email protected]>
    Co-authored-by: jackwener <[email protected]>
    4 people authored Mar 25, 2026
    Configuration menu
    Copy the full SHA
    9245bf4 View commit details
    Browse the repository at this point in the history
  6. feat(douyin): add Douyin creator center adapter (14 commands, 8-phase…

    … publish pipeline) (#416)
    
    * feat(douyin): add Douyin creator center adapter (14 commands, 8-phase publish pipeline)
    
    - publish: 8-phase pipeline (STS2 → TOS multipart upload w/ resume → ImageX cover → transcode poll → safety check → create_v2)
    - draft: save as draft (phases 1-6 + is_draft:1, no timing)
    - videos/drafts/delete/profile/update: content management
    - hashtag (search/suggest/hot) / location / activities / collections / stats: discovery & analytics
    - _shared: tos-upload (AWS Sig V4, multipart, resume), imagex-upload, transcode poller (encode=2), browser-fetch, sts2, creation-id, timing, text-extra
    - 124 tests, tsc clean
    
    * fix(douyin): accept unix timestamp strings
    
    * docs(douyin): add browser adapter guide
    
    ---------
    
    Co-authored-by: jackwener <[email protected]>
    nianyi778 and jackwener authored Mar 25, 2026
    Configuration menu
    Copy the full SHA
    39ca833 View commit details
    Browse the repository at this point in the history
  7. feat(weibo,youtube): add Weibo commands and YouTube channel/comments (#…

    …418)
    
    Weibo: add feed, me, user, post, comments commands with cookie-based
    auth and proper AuthRequiredError handling.
    
    YouTube: add channel info and video comments via InnerTube API.
    
    Also remove internal source references from file headers.
    jackwener authored Mar 25, 2026
    Configuration menu
    Copy the full SHA
    3e0c18f View commit details
    Browse the repository at this point in the history
  8. fix: remove incorrect gws external CLI entry (#419)

    brew install gws installs a git workspace manager, not Google
    Workspace CLI. The npm package @nicholasgasior/gws doesn't exist
    either. Remove the misleading entry entirely.
    jackwener authored Mar 25, 2026
    Configuration menu
    Copy the full SHA
    41a630d View commit details
    Browse the repository at this point in the history
  9. fix: remove nonexistent readwise external CLI entry (#420)

    The npm package @readwiseio/readwise-cli returns 404 and the
    GitHub repo readwiseio/readwise-cli doesn't exist.
    jackwener authored Mar 25, 2026
    Configuration menu
    Copy the full SHA
    46177e8 View commit details
    Browse the repository at this point in the history
  10. chore: trim adapter test suite to bilibili, zhihu, v2ex only (#421)

    Remove other adapter sites from vitest config to keep test runs
    focused and avoid flaky failures from live site changes.
    jackwener authored Mar 25, 2026
    Configuration menu
    Copy the full SHA
    03d94ba View commit details
    Browse the repository at this point in the history
  11. fix(test): limit default e2e to bilibili/zhihu/v2ex, gate extended br…

    …owser tests (#423)
    
    Split browser-public.test.ts: core sites (bilibili, zhihu, v2ex) run
    by default; all other 20+ site tests moved to browser-public-extended
    and gated behind OPENCLI_E2E=1 to prevent AI agents from launching
    dozens of browser instances.
    jackwener authored Mar 25, 2026
    Configuration menu
    Copy the full SHA
    dba93c2 View commit details
    Browse the repository at this point in the history
  12. fix(extension): improve UX when daemon is not running (#424)

    - Show helpful hint in popup when disconnected: "This is normal. The
      extension connects automatically when you run any opencli command."
    - Stop eager reconnect after 6 attempts (reaching 60s backoff) to
      reduce ERR_CONNECTION_REFUSED noise in console; keepalive alarm
      still retries every ~24s at low frequency.
    jackwener authored Mar 25, 2026
    Configuration menu
    Copy the full SHA
    bf5f327 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    2bfd3ee View commit details
    Browse the repository at this point in the history
Loading