OpenCLI:WebサイトをCLIコマンド化し、AIエージェントがログイン済みブラウザを利用可能に
あらゆるWebサイトをCLI化し、AIエージェントによりログインしたブラウザを使用します。
ひと目でわかる
- これは何?
- OpenCLI は、Webサイト、ブラウザセッション、Electronアプリ、ローカルツールを、人間とAIエージェントのためのコマンドラインインターフェースに変換し、ログイン済みのChromeセッションを利用します。
- 誰に向いている?
- ログイン済みブラウザ上の作業を再利用可能な CLI として呼び出したい開発者に適します。認証情報や破壊的な Web 操作をエージェントに任せられない環境には不向きです。
- 商用利用できる?
- できます。Apache-2.0 は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
- 今もメンテナンスされている?
- されています。最後のコミットは 16 日前です。
- 何の言語で書かれている?
- 主に JavaScript です(GitHub の言語統計による)。
回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。
オープンソース詳細解説
OpenCLI が変換する操作対象
OpenCLI は Apache-2.0 ライセンスの JavaScript プロジェクトで、Webサイト、ブラウザセッション、Electronアプリ、ローカルツールを、人間とAIエージェントのための決定的なインターフェースに変換します。README の冒頭には3つの用途があります。Bilibili、知乎、小紅書、Reddit、HackerNews、Twitter/X などのサイト向けの組み込みアダプタを実行する。AIエージェントがログイン済みのChromeセッションを介して `opencli browser` プリミティブで任意のサイトを操作する。`opencli-adapter-author` スキルを使って新しいアダプタをエンドツーエンドで作成する。また、`gh`、`docker`、`longbridge`、`tg`、`discord` などのローカルツールや、Cursor、ChatGPT などのElectronアプリ向けデスクトップアダプタのCLIハブとしても機能します。
ログイン済み Chrome との橋渡し
ドキュメントには2つのインストール経路があります。macOS と Windows のデスクトップ利用では、OpenCLIApp がランタイムを同梱し、`opencli` コマンドを管理し、セットアップ、診断、更新、ブラウザログイン維持、Web から Markdown への変換のためのシステムトレイUIを提供します。opencli.info/download からダウンロードします。CLIのみ、CI、またはサーバー利用では、`npm install -g @jackwener/opencli` でグローバルインストールします。Node.js 20 以上が必要です。インストール後、Chrome ウェブストアから Browser Bridge 拡張機能をインストールするか、リリースzipから手動で読み込みます。`opencli doctor` でセットアップを検証します。
組み込みコマンドと終了コード
OpenCLI は、Browser Bridge 拡張機能と、自動起動する小さなローカルデーモンを介して Chrome または Chromium に接続します。各 Chrome プロファイルは独自の拡張機能インスタンスを実行します。`opencli profile list` で接続済みプロファイルを表示し、`opencli profile rename` でエイリアスを割り当て、`opencli profile use` で選択します。接続済みプロファイルが1つだけの場合は自動的に使用され、複数ありデフォルトがない場合は選択を求められます。ブラウザコマンドは `<session>` 位置引数を必要とし、`open` と `tab new` はターゲットIDを返し、タブ操作は `--tab <targetId>` でルーティングされます。README は、セッションリースが `close` またはアイドルクリーンアップまで保持されることを示しています。
アダプタで Web 操作を定義する
README には、xiaohongshu、bilibili、zhihu、hackernews、hltv、geogebra、linkedin、reddit、twitter、claude、gemini、notebooklm、amazon、upwork、slock、huodongxing、midjourney など、多くのサイト向けコマンドがリストされています。`opencli list` は登録済みコマンドをすべて表示します。組み込みコマンドはすべて `--format` または `-f` をサポートし、table、json、yaml、md、csv を選択できます。終了コードは Unix sysexits.h に従います。0 成功、66 空結果、69 Browser Bridge 停止、75 タイムアウト、77 認証が必要、78 設定エラー、130 Ctrl-C。
スキルとプラグインの配布
OpenCLI のブラウザコマンドは、手動ではなく AI エージェント向けに設計されています。スキルは `npx skills add jackwener/opencli` でインストールし、`opencli-browser`、`opencli-adapter-author`、`opencli-autofix`、`opencli-browser-sitemap`、`opencli-sitemap-author`、`opencli-usage` を個別にインストールできます。`opencli-browser` を持つエージェントは、URL へのナビゲーション、スクリーンショットではなく DOM スナップショットの読み取り、クリックやフォーム入力、データ抽出やネットワーク API レスポンスの傍受、要素の待機ができます。README には、`open`、`state`、`click`、`type`、`fill`、`select`、`keys`、`wait`、`get`、`find`、`extract`、`frames`、`screenshot`、`scroll`、`back`、`eval`、`network`、タブ操作などのコマンドが列挙されています。
認証情報を扱うときの境界
未対応のサイトには、`opencli-adapter-author` スキルが、偵察、エンドポイント発見、認証選択、フィールドデコード、検証を `opencli browser recon analyze <url>`、`recon init`、`recon verify` を使って案内します。サイト知識は `~/.opencli/sites/<site>/` に永続化されます。拡張はプラグインで行います。`opencli plugin create`、`opencli plugin install github:user/repo`、`opencli plugin list`、更新、アンインストールがあります。ローカルバイナリは `opencli external register <name>` で登録し、`opencli external list` で一覧表示します。README は、Cursor、Trae CN、Codex、Antigravity、ChatGPT、Discord などのElectronアプリ向けデスクトップアダプタも説明しています。
Apache-2.0 と導入前の確認
OpenCLI には、xiaohongshu、rednote、bilibili(`yt-dlp` が必要)、twitter、douban、pixiv、1688、xiaoyuzhou、zhihu、weixin などのプラットフォームから画像、動画、記事をダウンロードするコマンドがあります。プロジェクトは Apache-2.0 でライセンスされています。ライセンス抜粋は、使用、複製、配布に関する著作権および特許ライセンスを付与しますが、セキュリティ保証、サポート、保証については述べていません。README は、拡張機能の接続、ログイン期限切れ、Node バージョン要件に関するトラブルシューティング以外に、本番パフォーマンス、第三者ベンチマーク、セキュリティ態勢を確立していません。
OpenCLI の便利さは、サービス側の API を新設することではなく、すでにログインした Chrome の状態を操作の入口にする点にあります。ブラウザブリッジを通してセッションを選び、アダプタが Web サイト上の操作を CLI の引数へ対応付けます。これはログインを毎回自動化する仕組みとは異なり、既存セッションの権限をそのまま引き受けます。アダプタの定義、ダウンロード先、終了コードを固定した小さなコマンドから始めるのが現実的です。パスワード入力や購入、削除などを含む操作では、エージェントから呼べるコマンドの一覧を限定し、ブラウザ側のセッションを共有しない構成を確認してください。
編集部の結論
ログイン済みブラウザ上の作業を再利用可能な CLI として呼び出したい開発者に適します。認証情報や破壊的な Web 操作をエージェントに任せられない環境には不向きです。まずブラウザブリッジ、アダプタの入力、終了コード、セッション切断時の挙動を確認してください。
コミュニティノート