jackwener
2652fa40e5
chore: change license from BSD-3-Clause to Apache-2.0
2026-03-17 01:34:51 +08:00
jackwener
a7c367a61b
docs: update README and SKILL for new Reddit adapters
...
- Reddit: 4 → 15 commands (popular, read, user, user-posts,
user-comments, upvote, save, comment, subscribe, saved, upvoted)
- Twitter: add thread command
- Xiaohongshu: remove non-existent me command
- SKILL.md: expand Reddit examples with full 15-command reference
2026-03-17 01:33:43 +08:00
jackwener
fbec2f6f5d
feat(snapshot): filter contentinfo subtrees, bilibili ad URLs, boilerplate buttons
...
- Add contentinfo to subtree-level noise filtering (biggest single win)
- Reuters: 51% → 62%, Google: 57% → 70%, Netflix: 48% → 60%
- Add cm.bilibili.com/cm/api/fees/ ad URL pattern
- Add 广告 keyword to ad detection
- Add back-to-top / 回到顶部 boilerplate button filtering
- Unify ad/boilerplate/contentinfo into single subtree-skip mechanism
- Add vitest config and comprehensive test suite (33 tests)
- Fixture tests skip gracefully when snapshot files are absent
Bump to v0.7.1
2026-03-17 01:26:49 +08:00
jackwener
c2a5cbe90e
chore(release): 0.7.0
2026-03-16 20:29:27 +08:00
jackwener
34e20d33f2
docs: bump version in SKILL.md to 0.7.0
2026-03-16 20:29:27 +08:00
jackwener
1c496bb85f
docs: add new twitter commands (article, follow, unfollow, bookmark, unbookmark)
...
Also update profile example to use positional argument.
2026-03-16 20:18:50 +08:00
jackwener
0c845d58c8
feat(twitter): implement article, profile, follow, unfollow, bookmark, & unbookmark adapters
...
This commit introduces the long-form Article adapter, a rewritten Profile adapter, and 4 new UI-based Write commands for managing relationships and bookmarks. Also adds support for positional arguments across the dynamic CLI engine.
2026-03-16 20:17:38 +08:00
jackwener
7f55950fed
feat(reddit): add 11 new adapters borrowed from rdt-cli
...
Phase 1 - YAML adapters (read-only):
- popular: /r/popular feed
- read: read post + comments by ID
- user: view user profile (karma, account age)
- user-posts: user's submitted posts
- user-comments: user's comment history
- search: enhanced with sort/time/subreddit params
- subreddit: enhanced with time filter for top/controversial
Phase 2 - TypeScript adapters (write operations):
- upvote: upvote/downvote posts via /api/vote
- save: save/unsave posts via /api/save
- comment: post comments via /api/comment
- subscribe: subscribe/unsubscribe subreddits
- saved: browse saved posts (auto-resolves username)
- upvoted: browse upvoted posts (auto-resolves username)
Reddit adapters: 4 → 15
2026-03-16 19:56:55 +08:00
jackwener
1576396a21
0.6.3
2026-03-16 19:33:25 +08:00
jackwener
77193a0003
Merge PR #20 : feat(boss): add detail adapter + security_id in search
...
Closes #20
Added boss detail command with fixes:
- district/address field dedup
- template string injection safety
- empty jobInfo guard
- IPage-compatible wait
2026-03-16 19:33:17 +08:00
jackwener
05b7f1bccf
fix(boss): improve detail adapter quality
...
- Fix district/address field duplication (district now uses areaDistrict·businessDistrict)
- Fix template string injection risk in evaluate script (use JSON.stringify)
- Add jobInfo empty guard with user-friendly error message
- Replace raw setTimeout with page.wait for IPage compatibility
- Update README docs to include boss detail command
2026-03-16 19:33:00 +08:00
jackwener
9889a6db11
v0.6.2
2026-03-16 18:14:34 +08:00
jackwener
61ea05bff7
fix: URL injection, strictNullChecks, cross-platform build, +34 tests
...
Security:
- Fix URL injection in fetch.ts and bilibili.ts (JSON.stringify instead of string interpolation)
- Fix unused scroll() amount parameter
TypeScript:
- Enable strictNullChecks in tsconfig
- Change CliCommand.func signature to IPage (non-null) for browser adapters
- Fix 93 compile errors across all adapters
Build:
- Remove || true from build-manifest (report failures instead of silencing)
- Replace Unix shell commands with Node.js scripts for cross-platform builds
Code quality:
- Remove error-object special detection from pipeline executor
- Unify error handling to throw pattern
Tests:
- New interceptor.test.ts (11 tests)
- New executor.test.ts (13 tests)
- Rewrite output.test.ts with comprehensive coverage (10 tests)
2026-03-16 18:14:27 +08:00
jackwener
3b2f88b2cf
chore: sync package-lock.json version to 0.6.1
2026-03-16 17:38:13 +08:00
jackwener
7eec7ce89f
fix: restore tests/ in vitest include for CI compatibility
...
vitest run tests/e2e/ intersects the CLI path with include patterns,
so tests/ must be in the include glob for CI to find test files.
2026-03-16 17:37:48 +08:00
jackwener
433ad3a56a
0.6.1
2026-03-16 14:20:22 +08:00
jackwener
50508b954e
docs: expand bilibili commands, add setup hint after install, add doctor to troubleshooting
2026-03-16 14:16:54 +08:00
jackwener
35a843b8bd
docs: use explicit PLAYWRIGHT_MCP_EXTENSION_TOKEN in auto-discover description
2026-03-16 14:16:12 +08:00
jackwener
486e513d07
fix(setup): only pre-select shell RC, let user choose other configs
2026-03-16 14:15:43 +08:00
jackwener
6c64f617c6
docs: add opencli setup to READMEs, remove hardcoded counts, update SKILL.md to v0.6.0
2026-03-16 14:13:38 +08:00
jackwener
cd186bddd3
0.6.0
2026-03-16 14:05:58 +08:00
jackwener
6486a42def
fix(setup): clear screen before TUI to prevent page jumping
2026-03-16 14:04:38 +08:00
jackwener
b308d5594a
refactor(doctor/setup): polish UX and dedup code
...
- Doctor: chalk-colored output ([OK] green, [MISSING] red, etc.)
- Doctor: paths shortened with ~ and tool labels ([Codex], etc.)
- Doctor --fix: skip already-configured files
- TUI: hide cursor during interaction, proper Ctrl+C exit
- Setup: source hint after shell write, dedup shared helpers
- Tests: strip ANSI for assertions
2026-03-16 14:02:02 +08:00
jackwener
6f629260e7
feat: add interactive 'opencli setup' command with TUI checkbox
...
New zero-dependency TUI checkbox component (src/tui.ts) with:
- ↑↓/jk navigation, Space toggle, Tab toggle+move
- 'a' toggle all, Enter confirm, q/Esc cancel
New 'opencli setup' command (src/setup.ts) that:
- Auto-discovers token from Chrome LevelDB extension
- Shows interactive multi-select for config files
- Displays tool names (Codex, Cursor, Claude Code, etc.)
- Color-coded status (green=ok, yellow=mismatch, red=missing)
- Applies changes only to selected files
2026-03-16 13:53:03 +08:00
jackwener
1e0b83bb84
feat(doctor): add Antigravity and Gemini CLI config paths
...
Add ~/.gemini/settings.json (Gemini CLI) and
~/.gemini/antigravity/mcp_config.json (Antigravity) to the
default MCP config scan list.
2026-03-16 13:45:02 +08:00
jackwener
1ff184e24d
feat(doctor): add Claude Code and project .mcp.json config paths
...
Add ~/.claude.json (Claude Code user-scoped MCP config) and
.mcp.json (Claude Code project-scoped MCP config) to the
default config scan list.
2026-03-16 13:43:03 +08:00
jackwener
8e84145ccc
feat(doctor): auto-discover extension token from Chrome LevelDB
...
Scan Chrome/Edge/Chromium localStorage LevelDB files to extract the
Playwright MCP Bridge auth-token directly from the extension's storage.
Uses a fast 'strings | grep' shell pipeline (~200ms) on macOS/Linux
with a pure-Node fallback for Windows.
The discovered token is now shown in 'opencli doctor' output and takes
priority as the recommended token when using '--fix'.
2026-03-16 13:38:48 +08:00
jackwener and CodeBBakGoSu
c77c8a8e3a
feat: add Coupang search and add-to-cart adapters
...
Add browser-backed Coupang adapters for search and add-to-cart workflows.
- coupang search: multi-strategy data collection (API/JSON-LD/bootstrap/DOM), structured fields (price, rating, rocket, delivery), pagination and rocket filter support
- coupang add-to-cart: logged-in browser session reuse, stops before checkout
- coupang.ts: comprehensive data normalization layer with badge/rocket/delivery mapping
- browser-tab.ts: withTemporaryTab utility for isolated tab operations
- Unit tests for core normalization functions
Co-authored-by: CodeBBakGoSu <127713112+CodeBBakGoSu@users.noreply.github.com >
2026-03-16 13:30:42 +08:00
jackwener
9e024d4e46
0.5.2
2026-03-16 13:22:18 +08:00
jackwener
34a9bff2b3
refactor: eliminate code duplication, improve type safety, add tests
...
- NEW: src/interceptor.ts — unified XHR/Fetch interceptor (was duplicated 3x)
- NEW: src/version.ts — centralized PKG_VERSION (was duplicated 2x)
- NEW: src/constants.ts — shared VOLATILE_PARAMS, FIELD_ROLES etc.
- NEW: src/engine.test.ts, src/registry.test.ts — 14 new unit tests
- browser.ts: use shared normalizeEval, interceptor, withTimeoutMs, PKG_VERSION
- intercept.ts, tap.ts: use shared interceptor generators
- cascade.ts: extract shared buildFetchProbeJs (90% dedup)
- engine.ts: use InternalCliCommand (no more 'as any' casts)
- executor.ts: remove all 15 'as StepHandler' type casts
- runtime.ts: add withTimeoutMs, IBrowserFactory interface
- registry.ts: add InternalCliCommand type for internal fields
- validate.ts: add pipeline step name validation
- output.ts: remove 'null as any' and '.filter(() => true)' hacks
- explore.ts, synthesize.ts: use shared constants
- docs: fix V2EX commands (3→6), SKILL.md version, verify example
Tests: 88 passed (was 74), tsc --noEmit: 0 errors
2026-03-16 13:22:12 +08:00
jackwener and KasumiChen
b0c51ddf19
fix: use Playwright MCP --executable-path flag (kebab-case)
...
Extract buildMcpArgs() helper and fix --executablePath → --executable-path
to match the Playwright MCP CLI's expected flag format.
Closes #16
Co-authored-by: KasumiChen <KasumiChen@users.noreply.github.com >
2026-03-16 12:58:18 +08:00
jackwener
141c2cf7d5
0.5.1
2026-03-16 12:54:45 +08:00
jackwener
7ee0c9c96b
fix: tab cleanup regex to match actual Playwright MCP tab format
...
The tab list from Playwright MCP uses '- N: (current) [title](url)' format,
but extractTabEntries only matched 'Tab N ...' format. This caused
_initialTabIdentities to always be empty, so tabs were never cleaned up.
Now supports both formats.
2026-03-16 12:54:44 +08:00
jackwener
76eefed83d
docs: add opencli doctor hint after token setup
2026-03-16 12:47:59 +08:00
jackwener
08ae9c3fed
chore: sync SKILL.md version to 0.5.0
2026-03-16 12:46:30 +08:00
jackwener
5a1581e67a
0.5.0
2026-03-16 12:46:16 +08:00
jackwener
7a24e8d74b
fix: add engines field for Node badge, sync SKILL.md version, fix zh-CN intro
2026-03-16 12:46:15 +08:00
jackwener
95fb841fc7
refactor: remove all CDP code, keep extension-only mode
...
- Remove CDP auto-discovery (discoverChromeEndpoint, isCdpApiAvailable, isPortReachable)
- Remove CDP readiness probe and autoAllowCdpDialog
- Remove forceExtension plumbing from registry, runtime, main, and adapters
- Remove CDP diagnostics from doctor (extractTokenViaCdp, remoteDebugging fields)
- Simplify connect() to always use --extension mode
- Remove CDP env vars (OPENCLI_USE_CDP, OPENCLI_CDP_ENDPOINT, OPENCLI_FORCE_EXTENSION)
- Update README.md, README.zh-CN.md, SKILL.md to remove CDP sections
- Update tests to remove CDP-related assertions
Current state preserved in extension-and-cdp branch.
2026-03-16 12:44:09 +08:00
jackwener
67d50191af
fix: CDP mode hanging when using chrome://inspect remote debugging
...
- Add isCdpApiAvailable() to verify CDP HTTP JSON API before using endpoint
- Chrome's chrome://inspect#remote-debugging writes DevToolsActivePort but
its CDP endpoint is incompatible with Playwright connectOverCDP (init
succeeds but all tool calls hang silently)
- Add CDP readiness probe in connect() to catch unresponsive endpoints
- Skip tab cleanup in close() for CDP mode (no bridge tabs to clean)
- Add PlaywrightMCPMode tracking for extension vs CDP lifecycle policy
2026-03-16 02:28:28 +08:00
jackwener
61a62f80c4
0.4.5
2026-03-16 01:51:27 +08:00
jackwener
f8491f01ae
fix: add 5s timeout for initial tabs fetch during CDP connect
...
CDP mode on @playwright/mcp v0.0.68 hangs on browser_tabs calls.
This timeout prevents the entire connect() from blocking for 30s.
2026-03-16 01:51:22 +08:00
jackwener
4ec454530a
0.4.4
2026-03-15 23:58:15 +08:00
jackwener
e2192a2e8d
docs: rename CLI-CREATOR → CLI-EXPLORER, add CLI-ONESHOT refs to READMEs
...
- Rename CLI-CREATOR.md → CLI-EXPLORER.md (explorer better reflects its purpose)
- Update all references across SKILL.md, README.md, README.zh-CN.md, CLI-ONESHOT.md
- Add quick-mode (CLI-ONESHOT) and full-mode (CLI-EXPLORER) entries in both READMEs
2026-03-15 23:58:10 +08:00
jackwener
db8194337b
Improve browser session lifecycle handling
2026-03-15 23:31:52 +08:00
jackwener
8e5a61458d
docs: add CLI-ONESHOT.md — lightweight one-shot CLI generator guide
...
- CLI-ONESHOT.md: ~150 lines, 4-step flow for single-URL adapter generation
- Update SKILL.md: add quick-mode tip pointing to CLI-ONESHOT.md
- Update CLI-CREATOR.md: add tip pointing to lightweight alternative
2026-03-15 23:30:13 +08:00
jackwener
dca908db90
docs: use bold AND to emphasize required config in zh-CN
2026-03-15 22:13:34 +08:00
jackwener
5a676b9f4b
docs: clarify that both env var and MCP config are required for token
2026-03-15 22:12:59 +08:00
jackwener
797a392250
0.4.3
2026-03-15 21:53:43 +08:00
jackwener
59a02d3a5d
feat(twitter): implement like adapter
2026-03-15 21:53:42 +08:00
jackwener
cef50dc8bf
feat(doctor): print cli version in doctor report
2026-03-15 21:51:21 +08:00
jackwener
1aaafed2db
feat(twitter): implement post, reply, delete, following, followers and notifications adapters
2026-03-15 21:42:48 +08:00
jackwener
ee6669f45d
feat(core): support YAML format output and optimize manifest builder
2026-03-15 21:05:36 +08:00
jackwener
eb9050fadd
feat(v2ex): add daily, me, and notifications session adapters
2026-03-15 20:59:39 +08:00
jackwener
53cd006a23
fix(boss): resolve limit=60 infinite loop and global CLI hangs
...
- search.ts: Added deduplication break condition so if the API returns duplicate pages, it stops instead of looping forever.
- search.ts: Removed unsafe Promise.race around page.goto which caused 'context closed' errors.
- browser.ts: Added robust static cleanup hooks to guarantee process and MCP lock destruction on crashed or ctrl+c'd runs.
2026-03-15 20:33:22 +08:00
jackwener
c9710a656b
feat(boss): add pagination loop to support fetching more than 15 results
...
- The API endpoint only returns 15 results per page.
- Added a loop to fetch multiple pages until the requested limit is reached.
- Added random 1-3 second delays between page fetches to avoid rate limits.
2026-03-15 20:19:30 +08:00
jackwener
4f570fa75e
docs: add instruction to get token by clicking extension icon
2026-03-15 20:08:30 +08:00
jackwener
730285c0ca
docs: set MCP Bridge as primary connection method, CDP as fallback
2026-03-15 20:07:32 +08:00
jackwener
c5915d9ee3
docs: clarify that MCP token needs to be configured in both MCP config and env var
2026-03-15 20:06:32 +08:00
jackwener
b7c8067bc9
docs: restore playwright MCP token configuration guide
2026-03-15 20:05:08 +08:00
jackwener
c28ccd4b23
docs: huge improvement on README structure, badges and readability
2026-03-15 19:59:02 +08:00
jackwener
00f0ac9133
fix(boss): prioritize fresh browser cookie extraction over boss-cli cache
2026-03-15 19:58:46 +08:00
jackwener
64d655ae0d
feat(boss): rewrite search adapter to use boss-cli native cookie extraction
...
- BOSS Zhipin aggressively detects CDP connections and kills pages
- Completely rewrote boss/search.ts to use browser: false (bypassing Playwright)
- Implemented native Python subprocess to extract cookies via browser-cookie3
- Falls back to boss-cli ~/.config/boss-cli/credential.json if available
- Uses direct Node.js fetch with anti-detection headers to avoid bans
2026-03-15 19:55:46 +08:00
jackwener
9c78ffdd39
chore: change license to BSD-3-Clause
2026-03-15 19:54:34 +08:00
jackwener
a6e9c3b611
feat(browser): enhance CDP auto-discovery with port probe & opt-in priority
...
- Add TCP port reachability check to handle stale DevToolsActivePort files
- Make discoverChromeEndpoint() async with port probe before returning
- Change connection priority: extension mode is default, CDP is opt-in
- OPENCLI_CDP_ENDPOINT: explicit CDP endpoint
- OPENCLI_USE_CDP=1: enable DevToolsActivePort auto-discovery
- Default: --extension mode (Playwright MCP Bridge)
- Add verbose logging for CDP discovery when -v flag is used
- Fix indentation inconsistency in connect() method
- Update README.md, README.zh-CN.md, SKILL.md with new connection docs
2026-03-15 19:44:27 +08:00
jackwener
da155e96f0
feat: add forceExtension to bypass CDP detection for anti-bot sites
...
- Added forceExtension flag to CliCommand, CliOptions, browserSession, and PlaywrightMCP.connect()
- BOSS Zhipin detects CDP mode and drops connections; marked boss/search with forceExtension: true
- Also supports OPENCLI_FORCE_EXTENSION=1 env var for global override
- Fixed async discoverChromeEndpoint() placement outside Promise constructor
- Enhanced boss search with city names, experience, degree, salary, etc.
2026-03-15 19:39:39 +08:00
jackwener
15d8c45b95
feat(boss): add city name mapping, experience/degree/salary filters, page support
...
- 30+ Chinese city names → code mapping (e.g. --city 杭州)
- Experience filter: 应届/1-3年/3-5年/5-10年/10年以上
- Degree filter: 大专/本科/硕士/博士
- Salary filter: 3K以下/3-5K/5-10K/10-20K/20-50K/50K以上
- Page number support for pagination
- Area now shows city·district·business district
- Skills column added to output
2026-03-15 19:31:05 +08:00
jackwener
3ac5aa3023
docs: reduce excessive emoji usage across markdown files
2026-03-15 19:30:32 +08:00
jackwener
9a6e157af6
docs: add strong AI Agent prompts to read CLI-CREATOR.md before creating adapters
2026-03-15 19:28:05 +08:00
jackwener
9a45988197
v0.4.2
2026-03-15 19:00:15 +08:00
jackwener and jack4world
2d638e3a0a
fix(manifest): extract TS adapter args at build time for proper CLI registration
...
The manifest builder now statically parses TS source files to extract
args, description, columns, domain, and strategy metadata. Previously
TS adapters had empty args in the manifest, causing commander to reject
their options (e.g. --keyword) before the lazy module could load.
Also includes the xiaohongshu search DOM fallback fix from earlier.
Co-authored-by: jack4world <jack4world@users.noreply.github.com >
2026-03-15 18:59:15 +08:00
jackwener and jack4world
b3850d9c53
fix(xiaohongshu): switch search from broken XHR interception to DOM extraction ( Fixes #10 )
...
Co-authored-by: jack4world <jack4world@users.noreply.github.com >
2026-03-15 18:55:29 +08:00
jackwener
91d7892516
docs(CLI-CREATOR): streamline 840→719 lines — remove redundancies, keep all value
...
- MCP Bridge: 6-step flowchart + step-by-step → compact table (-51 lines)
- Remove duplicate cascade code example (kept full template below)
- Verbose mode + output verification → 3-line compact form
- Step 5 + design philosophy → merged into concise section
2026-03-15 18:49:47 +08:00
jackwener
3f859b3238
docs(CLI-CREATOR): add SDK table, template-first guide, pagination pattern, success story
...
Four practical improvements based on real adapter development experience:
- Real success story: 5-minute following adapter walkthrough
- Step 2.5: template-first + Bilibili SDK reference table
- Pagination pattern with code template (pn+ps)
- Wbi vs fetchJson decision rule
2026-03-15 18:46:13 +08:00
jackwener
2fdab085a7
chore: release v0.4.1
2026-03-15 18:41:14 +08:00
jackwener
7ec04c66cb
docs: deep review fixes — sync command tables to actual 47 commands
...
- Command count 46 → 47 (added following)
- bilibili row: add 'following' command
- github row: remove non-existent 'trending', change mode to Public
- SKILL.md: add following, xueqiu hot/search commands
- Fix github section from 'trending=browser' to 'public'
2026-03-15 18:41:14 +08:00
jackwener
f8ee50b776
feat(bilibili): add following adapter — get user's followed accounts
...
Discovered via Playwright MCP Bridge workflow (CLI-CREATOR.md):
- Navigate to space.bilibili.com/{uid}/fans/follow
- Sniff network: GET /x/relation/followings (Cookie-tier, no Wbi needed)
- Verify API response: total=1342, fields: mid/uname/sign
Also fixed .d.ts loading bug in build-manifest.ts and engine.ts:
- build-manifest now scans .js files in dist/ (not .ts)
- engine.ts skips .d.js declaration stubs
2026-03-15 18:38:34 +08:00
jackwener
53b28637bb
docs(CLI-CREATOR): add mandatory Playwright MCP Bridge workflow for AI agents
...
Critical addition: AI agents MUST use browser_navigate, browser_snapshot,
browser_network_requests, browser_click to discover APIs interactively.
Includes 6-step workflow, concrete tool examples, and common mistakes table.
This directly addresses the root cause of the subtitle API exploration failure.
2026-03-15 18:31:04 +08:00
jackwener
ad9e9605fc
feat: extreme architectural optimizations
...
Phase 1: Smart autoScroll with MutationObserver (single IPC, instant DOM change detection)
Phase 2: Build-time CLI manifest compiler + lazy-loading engine (instant cold start)
Phase 3: Batch IPC fetch (N browser fetches in single evaluate() call)
2026-03-15 18:25:58 +08:00
jackwener
0e1cea84b6
chore: release v0.4.0
2026-03-15 18:16:27 +08:00
jackwener
ee2e0a3bfc
docs: update command tables to 46 commands, add subtitle/dynamic/ranking/frontpage/subreddit/profile/timeline/me/user, update SKILL.md version
2026-03-15 18:16:26 +08:00
jackwener
4fc4c4b92f
fix: apply remaining code review fixes to subtitle.ts and explore.ts
...
- subtitle.ts: URL injection fix (JSON.stringify), --lang option,
debug console.error removal, comment numbering
- explore.ts: clickLabels targeted clicking, empty-value penalty
moved to scoreEndpoint(), removed console.log debug output
- Deleted stale test_subtitle.ts
2026-03-15 18:12:40 +08:00
jackwener
a47d687513
perf: extreme architectural optimizations
...
Phase 1: Smart autoScroll with MutationObserver (single IPC, instant DOM change detection)
Phase 2: Build-time CLI manifest compiler + lazy-loading engine (instant cold start)
Phase 3: Batch IPC fetch (N browser fetches in single evaluate() call)
2026-03-15 18:12:36 +08:00
jackwener
2dacba8244
fix: code review improvements (#1-#8)
...
- #1 Fix URL injection in subtitle.ts via JSON.stringify
- #2 Remove debug console.error from production code
- #3 Delete stale test_subtitle.ts
- #4 Add --lang option for multi-language subtitle selection
- #5 Fix duplicate comment numbering (two '// 4.')
- #6 Add clickLabels targeted clicking + --click flag to explore
- #7 Move empty-value penalty into scoreEndpoint() (affects filtering)
- #8 Add cascade request code template to CLI-CREATOR.md
2026-03-15 18:09:59 +08:00
jackwener
e64fc65554
feat: add Bilibili subtitle adapter with Wbi signing & explore fuzzing
...
- New: src/clis/bilibili/subtitle.ts - cascading BVID→CID→subtitle fetch
using apiGet with automatic Wbi signature (w_rid)
- Enhanced: src/explore.ts - added INTERACT_FUZZ_JS for interactive
API discovery via simulated clicks (--auto flag)
- Enhanced: src/explore.ts - empty-value score penalty for anti-bot detection
- Fixed: src/main.ts - restored explore command syntax, added --auto option
- Updated: CLI-CREATOR.md - cascading requests & anti-bot sections
2026-03-15 18:03:25 +08:00
jackwener
4e6d6bb81d
chore: release v0.3.0
2026-03-15 16:04:40 +08:00
jackwener
790c94d644
feat: Add Xueqiu site with 6 new commands and a Twitter bookmarks command, updating documentation.
2026-03-15 16:03:45 +08:00
jackwener
aef110a8f8
feat(browser): support OPENCLI_BROWSER_EXECUTABLE_PATH env var to specify custom Playwright MCP browser path ( Resolves #8 )
2026-03-15 15:54:08 +08:00
71f2f3d6e6
fix: integrate community bugfixes for PRs 1, 4, 6 and Issue 7
...
- Fix zhihu id truncation issue beyond safe integer
- Add json filter to template engine
- Escape evaluate args in browser scripts using json filter
- Resolve module not found bug for index.ts
Co-authored-by: 袁鑫 <eric.yuanxin@gmail.com >
Co-authored-by: zhenxing jiang <jiangzhx@gmail.com >
Co-authored-by: wangruotian <wangruotian@meituan.com >
Co-authored-by: 滕文证 <83223457+tenwz@users.noreply.github.com >
2026-03-15 15:43:33 +08:00
jackwener
829172fc59
feat: introduce browser interception and auto-scroll utilities, enable dynamic loading of TypeScript CLIs, and add a JSON template filter
2026-03-15 15:42:19 +08:00
jackwener
20f7d58dd6
feat: Add new CLIs for Bilibili, Reddit, Twitter, and Xiaohongshu, incorporating an intercept strategy for Twitter.
2026-03-15 15:33:30 +08:00
jackwener
92c23e8f9b
docs: fix CLI creator guide links in READMEs
2026-03-15 08:59:13 +08:00
jackwener
70863fbdec
Release v0.2.0
2026-03-15 08:54:35 +08:00
jackwener
1361fe6c19
feat: release v0.2.0 with all new adapters and fixes
2026-03-15 08:54:35 +08:00
jackwener
f19842c6b7
0.1.2
2026-03-15 08:46:39 +08:00
jackwener
46ae0a0aa3
fix: test import path
2026-03-15 08:46:39 +08:00
jackwener
0fd9adf0f5
feat: add 8 new sites — bbc, weibo, boss, yahoo-finance, reuters, smzdm, ctrip, youtube
...
New adapters ported from bb-sites:
- bbc/news: BBC News RSS headlines (public API)
- weibo/hot: 微博热搜 (browser)
- boss/search: BOSS直聘搜索职位 (browser)
- yahoo-finance/quote: 股票行情 (browser)
- reuters/search: 路透社新闻搜索 (browser)
- smzdm/search: 什么值得买搜索好价 (browser)
- ctrip/search: 携程旅行搜索 (browser)
- youtube/search: YouTube视频搜索 (browser)
Also: build script adds clean-yaml step, docs updated to 28 commands / 16 sites
2026-03-15 08:46:13 +08:00
jackwener
862be02732
0.1.1
2026-03-15 08:10:51 +08:00
jackwener
999d340a34
refactor: remove xiaohongshu me, add lessons learned, fix docs
...
- Remove xiaohongshu/me (profile page async loading too unreliable)
- CLI-CREATOR: add 4 lessons to 常见陷阱 (stale dist YAML, TS IIFE
format, async polling, YAML vs TS threshold)
- Fix build: clean-yaml before copy to prevent stale overrides
- Fix docs: MCP token is configured via MCP config, not env var
- Update all command lists (README, README.zh-CN, SKILL.md)
2026-03-15 08:10:40 +08:00
jackwener
fd94a5d27b
fix: auto-close tabs after command, add login requirement reminders
...
- browser.ts: close all tabs opened during session (not just extension tabs)
uses _initialTabCount to restore Chrome to pre-command state
- README/README.zh-CN: add ⚠️ login requirement warning with examples
- SKILL.md: add login note and tab auto-close mention
2026-03-15 07:57:12 +08:00
jackwener
129df91247
docs: fix site count from 13 to 8 in READMEs
2026-03-15 07:53:03 +08:00