@renzhibianjie/bianjie-cli
v0.0.3
Published
Make any website or Electron App your CLI. AI-powered.
Readme
Bianjie CLI
把网站、浏览器会话、Electron 应用和本地工具,统一变成适合人类与 AI Agent 使用的确定性接口。
复用浏览器登录态,先自动化真实操作,再把高频流程沉淀成可复用的 CLI 命令。
Bianjie CLI 可以用同一套 CLI 做三类事情:
- 直接使用现成适配器:B站、知乎、小红书、Twitter/X、Reddit、HackerNews 等 87+ 站点 开箱即用。
- 直接驱动浏览器:用
bianjie-cli browser让 AI Agent 实时点击、输入、提取、截图、检查页面状态。 - 把新网站生成成 CLI:通过
explore、synthesize、generate、cascade从真实页面行为推导出新的适配器。
除了网站能力,Bianjie CLI 还是一个 CLI 枢纽:你可以把 gh、docker 等本地工具统一注册到 bianjie-cli 下,也可以通过桌面端适配器控制 Cursor、Codex、Antigravity、ChatGPT、Notion 等 Electron 应用。
亮点
- 桌面应用控制 — 通过 CDP 直接在终端驱动 Electron 应用(Cursor、Codex、ChatGPT、Notion 等)。
- 浏览器自动化 —
browser让 AI Agent 直接控制浏览器:点击、输入、提取、截图,完全可编程。 - 网站 → CLI — 把任何网站变成确定性 CLI:87+ 内置适配器,或用
bianjie-cli generate生成新的。 - 账号安全 — 复用 Chrome/Chromium 登录态,凭证永远不会离开浏览器。
- 面向 AI Agent —
explore发现 API,synthesize生成适配器,cascade探测认证策略,browser直接控制浏览器。 - CLI 枢纽 — 统一发现、自动安装、纯透传任何外部 CLI(gh、docker、obsidian 等)。
- 零 LLM 成本 — 运行时不消耗模型 token,跑 10,000 次也不花一分钱。
- 确定性输出 — 相同命令,相同输出结构,每次一致。可管道、可脚本、CI 友好。
快速开始
1. 安装 Bianjie CLI
npm install -g @renzhibianjie/bianjie-cli2. 安装 Browser Bridge 扩展
Bianjie CLI 通过轻量 Browser Bridge 扩展和本地微型 daemon 与 Chrome/Chromium 通信。daemon 会按需自动启动。
- 到 GitHub Releases 页面 下载最新的
bianjie-cli-extension-v{version}.zip。 - 解压后打开
chrome://extensions,启用 开发者模式。 - 点击 加载已解压的扩展程序,选择解压后的目录。
3. 验证环境
bianjie-cli doctor4. 跑第一个命令
bianjie-cli list
bianjie-cli hackernews top --limit 5
bianjie-cli bilibili hot --limit 5给人类用户
如果你只是想稳定地调用网站或桌面应用能力,主路径很简单:
bianjie-cli list查看当前所有命令bianjie-cli <site> <command>调用内置或生成好的适配器bianjie-cli register mycli把本地 CLI 接入同一发现入口bianjie-cli doctor处理浏览器连通性问题
给 AI Agent
按任务类型,AI Agent 有两个不同入口:
skills/bianjie-cli-explorer/SKILL.md:适配器创建入口,支持全自动生成(bianjie-cli generate <url>)和手动探索两种流程。skills/bianjie-cli-browser/SKILL.md:底层控制入口,适合实时操作页面、debug 和人工介入。
安装全部 Bianjie CLI skills:
npx skills add jackwener/bianjie-cli或只装需要的 skill:
npx skills add jackwener/bianjie-cli --skill bianjie-cli-usage
npx skills add jackwener/bianjie-cli --skill bianjie-cli-browser
npx skills add jackwener/bianjie-cli --skill bianjie-cli-explorer
npx skills add jackwener/bianjie-cli --skill bianjie-cli-oneshot实际使用上:
- 需要把某个站点收成可复用命令时,优先走
bianjie-cli-explorer(涵盖自动和手动两种路径) - 需要直接检查页面、操作页面时,再走
bianjie-cli-browser
browser 可用命令包括:open、state、click、type、select、keys、wait、get、screenshot、scroll、back、eval、network、init、verify、close。
核心概念
browser:实时操作
当任务本身就是交互式页面操作时,使用 bianjie-cli browser 直接驱动浏览器。
内置适配器:稳定命令
当某个站点能力已经存在时,优先使用 bianjie-cli hackernews top、bianjie-cli reddit hot 这类稳定命令,而不是重新走一遍浏览器操作。
explore / synthesize / generate:生成新的 CLI
当你需要的网站还没覆盖时:
explore负责观察页面、网络请求和能力边界synthesize负责把探索结果转成 evaluate-based YAML 适配器generate负责跑通 verified generation 主链路,最后要么给出可直接使用的命令,要么返回结构化的阻塞原因 / 人工介入结果
cascade:认证策略探测
用 cascade 去判断某个能力应该优先走公开接口、Cookie 还是自定义 Header,而不是一开始就把适配器写死。
CLI 枢纽与桌面端适配器
Bianjie CLI 不只是网站 CLI,还可以:
- 统一代理本地二进制工具,例如
gh、docker、obsidian - 通过专门适配器和 CDP 集成控制 Electron 桌面应用
前置要求
- Node.js: >= 21.0.0
- 浏览器型命令需要 Chrome 或 Chromium 处于运行中,并已登录目标网站
重要:浏览器型命令直接复用你的 Chrome/Chromium 登录态。如果拿到空数据或出现权限类失败,先确认目标站点已经在浏览器里打开并完成登录。
配置
| 变量 | 默认值 | 说明 |
|------|--------|------|
| BIANJIE_CLI_DAEMON_PORT | 51236 | daemon-extension 通信端口 |
| BIANJIE_CLI_WINDOW_FOCUSED | false | 设为 1 时 automation 窗口在前台打开(适合调试) |
| BIANJIE_CLI_BROWSER_CONNECT_TIMEOUT | 30 | 浏览器连接超时(秒) |
| BIANJIE_CLI_BROWSER_COMMAND_TIMEOUT | 6000 | 单个浏览器命令超时(秒) |
| BIANJIE_CLI_BROWSER_EXPLORE_TIMEOUT | 120 | explore/record 操作超时(秒) |
| BIANJIE_CLI_CDP_ENDPOINT | — | Chrome DevTools Protocol 端点,用于远程浏览器或 Electron 应用 |
| BIANJIE_CLI_CDP_TARGET | — | 按 URL 子串过滤 CDP target(如 detail.1688.com) |
| BIANJIE_CLI_VERBOSE | false | 启用详细日志(-v 也可以) |
| BIANJIE_CLI_DIAGNOSTIC | false | 设为 1 时在失败时输出结构化诊断上下文 |
| DEBUG_SNAPSHOT | — | 设为 1 输出 DOM 快照调试信息 |
更新
npm install -g @renzhibianjie/bianjie-cli@latest
# 如果你在用打包发布的 Bianjie CLI skills,也一起刷新
npx skills add jackwener/bianjie-cli如果你只装了部分 skill,也可以只刷新自己在用的:
npx skills add jackwener/bianjie-cli --skill bianjie-cli-usage
npx skills add jackwener/bianjie-cli --skill bianjie-cli-browser
npx skills add jackwener/bianjie-cli --skill bianjie-cli-explorer
npx skills add jackwener/bianjie-cli --skill bianjie-cli-oneshot面向开发者
从源码安装:
git clone [email protected]:jackwener/bianjie-cli.git
cd bianjie-cli
npm install
npm run build
npm link加载源码版 Browser Bridge 扩展:
- 打开
chrome://extensions并启用 开发者模式 - 点击 加载已解压的扩展程序,选择本仓库里的
extension/目录
内置命令
运行 bianjie-cli list 查看完整注册表。
| 站点 | 命令 | 模式 |
|------|------|------|
| twitter | trending search timeline lists bookmarks profile thread following followers notifications post reply delete like likes article follow unfollow bookmark unbookmark download accept reply-dm block unblock hide-reply | 浏览器 |
| reddit | hot frontpage popular search subreddit read user user-posts user-comments upvote save comment subscribe saved upvoted | 浏览器 |
| tieba | hot posts search read | 浏览器 |
| hupu | hot search detail mentions reply like unlike | 浏览器 |
| cursor | status send read new dump composer model extract-code ask screenshot history export | 桌面端 |
| bilibili | hot search me favorite history feed subtitle dynamic ranking following user-videos download | 浏览器 |
| codex | status send read new dump extract-diff model ask screenshot history export | 桌面端 |
| chatwise | status new send read ask model history export screenshot | 桌面端 |
| doubao | status new send read ask history detail meeting-summary meeting-transcript | 浏览器 |
| doubao-app | status new send read ask screenshot dump | 桌面端 |
| notion | status search read new write sidebar favorites export | 桌面端 |
| discord-app | status send read channels servers search members | 桌面端 |
| v2ex | hot latest topic node user member replies nodes daily me notifications | 公开 / 浏览器 |
| xueqiu | feed hot-stock hot search stock comments watchlist earnings-date fund-holdings fund-snapshot | 浏览器 |
| antigravity | status send read new dump extract-code model watch | 桌面端 |
| chatgpt-app | status new send read ask model | 桌面端 |
| xiaohongshu | search notifications feed user download publish creator-notes creator-note-detail creator-notes-summary creator-profile creator-stats | 浏览器 |
| xiaoe | courses detail catalog play-url content | 浏览器 |
| quark | ls mkdir mv rename rm save share-tree | 浏览器 |
| uiverse | code preview | 浏览器 |
| apple-podcasts | search episodes top | 公开 |
| nowcoder | hot trending topics recommend creators companies jobs search suggest experience referral salary papers practice notifications detail | 公开 / 浏览器 |
| xiaoyuzhou | podcast podcast-episodes episode | 公开 |
| xiaoyuzhou | podcast podcast-episodes episode download transcript* | 公开 |
| zhihu | hot search question download follow like favorite comment answer | 浏览器 |
| weixin | download | 浏览器 |
| youtube | search video transcript comments channel playlist feed history watch-later subscriptions like unlike subscribe unsubscribe | 浏览器 |
| boss | search detail recommend joblist greet batchgreet send chatlist chatmsg invite mark exchange resume stats | 浏览器 |
| coupang | search add-to-cart | 浏览器 |
| bbc | news | 公共 API |
| bloomberg | main markets economics industries tech politics businessweek opinions feeds news | 公共 API / 浏览器 |
| ctrip | search | 浏览器 |
| devto | top tag user | 公开 |
| dictionary | search synonyms examples | 公开 |
| arxiv | search paper | 公开 |
| paperreview | submit review feedback | 公开 |
| wikipedia | search summary random trending | 公开 |
| hackernews | top new best ask show jobs search user | 公共 API |
| jd | item | 浏览器 |
| linkedin | search timeline | 浏览器 |
| reuters | search | 浏览器 |
| smzdm | search | 浏览器 |
| web | read | 浏览器 |
| weibo | hot search feed user me post comments | 浏览器 |
| yahoo-finance | quote | 浏览器 |
| sinafinance | news | 🌐 公开 |
| barchart | quote options greeks flow | 浏览器 |
| chaoxing | assignments exams | 浏览器 |
| grok | ask image | 浏览器 |
| hf | top | 公开 |
| jike | feed search create like comment repost notifications post topic user | 浏览器 |
| jimeng | generate history | 浏览器 |
| yollomi | generate video edit upload models remove-bg upscale face-swap restore try-on background object-remover | 浏览器 |
| linux-do | hot latest feed search categories category tags topic topic-content user-posts user-topics | 浏览器 |
| stackoverflow | hot search bounties unanswered | 公开 |
| steam | top-sellers | 公开 |
| weread | shelf search book highlights notes notebooks ranking | 浏览器 |
| douban | search top250 subject photos download marks reviews movie-hot book-hot | 浏览器 |
| facebook | feed profile search friends groups events notifications memories add-friend join-group | 浏览器 |
| google | news search suggest trends | 公开 |
| amazon | bestsellers search product offer discussion movers-shakers new-releases | 浏览器 |
| 1688 | search item assets download store | 浏览器 |
| gitee | trending search user | 公开 / 浏览器 |
| gemini | new ask image deep-research deep-research-result | 浏览器 |
| spotify | auth status play pause next prev volume search queue shuffle repeat | OAuth API |
| notebooklm | status list open current get history summary note-list notes-get source-list source-get source-fulltext source-guide | 浏览器 |
| 36kr | news hot search article | 公开 / 浏览器 |
| imdb | search title top trending person reviews | 公开 |
| producthunt | posts today hot browse | 公开 / 浏览器 |
| instagram | explore profile search user followers following follow unfollow like unlike comment save unsave saved | 浏览器 |
| lobsters | hot newest active tag | 公开 |
| medium | feed search user | 浏览器 |
| sinablog | hot search article user | 浏览器 |
| substack | feed search publication | 浏览器 |
| pixiv | ranking search user illusts detail download | 浏览器 |
| tiktok | explore search profile user following follow unfollow like unlike comment save unsave live notifications friends | 浏览器 |
| bluesky | search trending user profile thread feeds followers following starter-packs | 公开 |
| xianyu | search item chat | 浏览器 |
| douyin | videos publish drafts draft delete stats profile update hashtag location activities collections | 浏览器 |
| yuanbao | new ask | 浏览器 |
87+ 适配器 — → 查看完整命令列表
* bianjie-cli xiaoyuzhou transcript 需要本地小宇宙凭证:~/.bianjie-cli/xiaoyuzhou.json。
外部 CLI 枢纽
Bianjie CLI 也可以作为你现有命令行工具的统一入口,负责发现、自动安装和纯透传执行。
| 外部 CLI | 描述 | 示例 |
|----------|------|------|
| gh | GitHub CLI | bianjie-cli gh pr list --limit 5 |
| obsidian | Obsidian 仓库管理 | bianjie-cli obsidian search query="AI" |
| docker | Docker 命令行工具 | bianjie-cli docker ps |
| lark-cli | 飞书 CLI — 消息、文档、日历、任务,200+ 命令 | bianjie-cli lark-cli calendar +agenda |
| dingtalk | 钉钉 CLI — 钉钉全套产品能力的跨平台命令行工具,支持人类和 AI Agent 使用 | bianjie-cli dingtalk msg send --to user "hello" |
| wecom | 企业微信 CLI — 企业微信开放平台命令行工具,支持人类和 AI Agent 使用 | bianjie-cli wecom msg send --to user "hello" |
| vercel | Vercel — 部署项目、管理域名、环境变量、日志 | bianjie-cli vercel deploy --prod |
零配置透传:Bianjie CLI 会把你的输入原样转发给底层二进制,保留原生 stdout / stderr 行为。
自动安装:如果你运行 bianjie-cli gh ... 时系统中还没有 gh,Bianjie CLI 会优先尝试通过系统包管理器安装,然后自动重试命令。
注册自定义本地 CLI:
bianjie-cli register mycli桌面应用适配器
每个桌面适配器都有自己详细的文档说明,包括命令参考、启动配置与使用示例:
| 应用 | 描述 | 文档 | |-----|-------------|-----| | Cursor | 控制 Cursor IDE — Composer、对话、代码提取等 | Doc | | Codex | 在后台(无头)驱动 OpenAI Codex CLI Agent | Doc | | Antigravity | 在终端直接控制 Antigravity Ultra | Doc | | ChatGPT App | 自动化操作 ChatGPT macOS 桌面客户端 | Doc | | ChatWise | 多 LLM 客户端(GPT-4、Claude、Gemini) | Doc | | Notion | 搜索、读取、写入 Notion 页面 | Doc | | Discord | Discord 桌面版 — 消息、频道、服务器 | Doc | | Doubao | 通过 CDP 控制豆包桌面应用 | Doc |
下载支持
Bianjie CLI 支持从各平台下载图片、视频和文章。
支持的平台
| 平台 | 内容类型 | 说明 |
|------|----------|------|
| 小红书 | 图片、视频 | 下载笔记中的所有媒体文件 |
| B站 | 视频 | 需要安装 yt-dlp |
| Twitter/X | 图片、视频 | 从用户媒体页或单条推文下载 |
| Pixiv | 图片 | 下载原始画质插画,支持多页作品 |
| 1688 | 图片、视频 | 下载商品页中可见的商品素材 |
| 小宇宙 | 音频、转录 | 从公开单集数据下载音频,并使用本地凭证下载转录 JSON / 文本 |
| 知乎 | 文章(Markdown) | 导出文章,可选下载图片到本地 |
| 微信公众号 | 文章(Markdown) | 导出微信公众号文章为 Markdown |
| 豆瓣 | 图片 | 下载电影条目的海报 / 剧照图片 |
前置依赖
下载流媒体平台的视频需要安装 yt-dlp:
# 安装 yt-dlp
pip install yt-dlp
# 或者
brew install yt-dlp使用示例
# 下载小红书笔记中的图片/视频
bianjie-cli xiaohongshu download "https://www.xiaohongshu.com/search_result/<id>?xsec_token=..." --output ./xhs
bianjie-cli xiaohongshu download "https://xhslink.com/..." --output ./xhs
# 下载B站视频(需要 yt-dlp)
bianjie-cli bilibili download BV1xxx --output ./bilibili
bianjie-cli bilibili download BV1xxx --quality 1080p # 指定画质
# 下载 Twitter 用户的媒体
bianjie-cli twitter download elonmusk --limit 20 --output ./twitter
# 下载单条推文的媒体
bianjie-cli twitter download --tweet-url "https://x.com/user/status/123" --output ./twitter
# 下载豆瓣电影海报 / 剧照
bianjie-cli douban download 30382501 --output ./douban
# 下载 1688 商品页中的图片 / 视频素材
bianjie-cli 1688 download 841141931191 --output ./1688-downloads
# 下载小宇宙单集音频
bianjie-cli xiaoyuzhou download 69b3b675772ac2295bfc01d0 --output ./xiaoyuzhou
# 下载小宇宙单集转录
bianjie-cli xiaoyuzhou transcript 69dd0c98e2c8be31551f6a33 --output ./xiaoyuzhou-transcripts
# 导出知乎文章为 Markdown
bianjie-cli zhihu download "https://zhuanlan.zhihu.com/p/xxx" --output ./zhihu
# 导出并下载图片
bianjie-cli zhihu download "https://zhuanlan.zhihu.com/p/xxx" --download-images
# 导出微信公众号文章为 Markdown
bianjie-cli weixin download --url "https://mp.weixin.qq.com/s/xxx" --output ./weixinbianjie-cli xiaoyuzhou transcript 需要本地小宇宙凭证:~/.bianjie-cli/xiaoyuzhou.json。
输出格式
所有内置命令都支持 --format / -f,可选值为 table、json、yaml、md、csv。
list 命令也支持同样的格式参数,同时继续兼容 --json。
bianjie-cli list -f yaml # 用 YAML 列出命令注册表
bianjie-cli bilibili hot -f table # 默认:富文本表格
bianjie-cli bilibili hot -f json # JSON(适合传给 jq 或者各类 AI Agent)
bianjie-cli bilibili hot -f yaml # YAML(更适合人类直接阅读)
bianjie-cli bilibili hot -f md # Markdown
bianjie-cli bilibili hot -f csv # CSV
bianjie-cli bilibili hot -v # 详细模式:展示管线执行步骤调试信息退出码
bianjie-cli 遵循 Unix sysexits.h 惯例,可无缝接入 shell 管道和 CI 脚本:
| 退出码 | 含义 | 触发场景 |
|--------|------|----------|
| 0 | 成功 | 命令正常完成 |
| 1 | 通用错误 | 未分类的意外错误 |
| 2 | 用法错误 | 参数错误或未知命令 |
| 66 | 无数据 | 命令返回空结果(EX_NOINPUT) |
| 69 | 服务不可用 | Browser Bridge 未连接(EX_UNAVAILABLE) |
| 75 | 临时失败 | 命令超时,可重试(EX_TEMPFAIL) |
| 77 | 需要认证 | 未登录目标网站(EX_NOPERM) |
| 78 | 配置错误 | 凭证缺失或配置有误(EX_CONFIG) |
| 130 | 中断 | Ctrl-C / SIGINT |
bianjie-cli bilibili hot 2>/dev/null
case $? in
0) echo "ok" ;;
69) echo "请先启动 Browser Bridge" ;;
77) echo "请先登录 bilibili.com" ;;
esac插件
通过社区贡献的插件扩展 Bianjie CLI。插件使用与内置命令相同的 JS 格式,启动时自动发现。
bianjie-cli plugin install github:user/bianjie-cli-plugin-my-tool # 安装
bianjie-cli plugin list # 查看已安装
bianjie-cli plugin update my-tool # 更新到最新
bianjie-cli plugin update --all # 更新全部已安装插件
bianjie-cli plugin uninstall my-tool # 卸载当 plugin 的版本被记录到 ~/.bianjie-cli/plugins.lock.json 后,bianjie-cli plugin list 也会显示对应的短 commit hash。
| 插件 | 类型 | 描述 | |------|------|------| | bianjie-cli-plugin-github-trending | JS | GitHub Trending 仓库 | | bianjie-cli-plugin-hot-digest | JS | 多平台热榜聚合 | | bianjie-cli-plugin-juejin | JS | 稀土掘金热门文章 | | bianjie-cli-plugin-vk | JS | VK (VKontakte) 动态、信息流和搜索 |
详见 插件指南 了解如何创建自己的插件。
致 AI Agent(开发者指南)
如果你是一个被要求查阅代码并编写新 bianjie-cli 适配器的 AI,请遵守以下工作流。
快速模式:只想为某个页面快速生成一个命令?看 bianjie-cli-oneshot skill — 给一个 URL + 一句话描述,4 步搞定。
完整模式:在编写任何新代码前,先阅读 bianjie-cli-explorer skill。它包含完整的适配器探索开发指南、API 探测流程、5级认证策略以及常见陷阱。
# 1. Deep Explore — 网络拦截 → 响应分析 → 能力推理 → 框架检测
bianjie-cli explore https://example.com --site mysite
# 2. Synthesize — 从探索成果物生成 evaluate-based TS 适配器
bianjie-cli synthesize mysite
# 3. Generate — 一键完成:探索 → 合成 → 注册
bianjie-cli generate https://example.com --goal "hot"
# 4. Strategy Cascade — 自动降级探测:PUBLIC → COOKIE → HEADER
bianjie-cli cascade https://api.example.com/data探索结果输出到 .bianjie-cli/explore/<site>/。
常见问题排查
- "Extension not connected" 报错
- 确保你当前的 Chrome 或 Chromium 已安装且开启了 bianjie-cli Browser Bridge 扩展(在
chrome://extensions中检查)。
- 确保你当前的 Chrome 或 Chromium 已安装且开启了 bianjie-cli Browser Bridge 扩展(在
- "attach failed: Cannot access a chrome-extension:// URL" 报错
- 其他 Chrome/Chromium 扩展(如 youmind、New Tab Override 或 AI 助手类扩展)可能产生冲突。请尝试暂时禁用其他扩展后重试。
- 返回空数据,或者报错 "Unauthorized"
- Chrome/Chromium 里的登录态可能已经过期。请打开当前页面,在新标签页重新手工登录或刷新该页面。
- Node API 错误 (如 parseArgs, fs 等)
- 确保 Node.js 版本
>= 21(node:util的styleText需要 Node 21+)。
- 确保 Node.js 版本
- Daemon 问题
- 检查 daemon 状态:
curl localhost:51236/status - 查看扩展日志:
curl localhost:51236/logs
- 检查 daemon 状态:
