opencli-usage
OpenCLIセッションの開始時に使用するスキルで、`opencli`の全体的な機能マップ、アダプターの検索方法、共通フラグや出力フォーマット、次に読み込むべき専門スキルの案内を提供します。「opencliで何ができる?」「適切なコマンドを見つけるには?」といった問いに答える起点として活用してください。
description の原文を見る
Use at the start of any OpenCLI session — this is the top-level map of what `opencli` can do, how to discover adapters, what flags and output formats are universal, and which specialized skill to load next. Point here when an agent asks "what can opencli do?" or "how do I find the right command?".
SKILL.md 本文
opencli-usage
OpenCLI は、任意のウェブサイト、Electron デスクトップアプリ、または外部 CLI を、エージェントが画面スクレイピングなしで駆動できる統一された opencli <site> <command> インターフェースに変えます。このスキルはオリエンテーション層です — やりたいことが決まったら、以下の専門的なスキルの1つを読み込んでください。
3つの柱
- Adapter コマンド —
opencli <site> <command> [...]。組み込みアダプターはclis/に、ユーザーアダプターは~/.opencli/clis/に存在します。各アダプターは戦略 (PUBLIC | COOKIE | INTERCEPT | UI | LOCAL) に支えられており、Chrome セッションが必要かどうかを示しています。 - ブラウザー駆動 —
opencli browser *サブコマンド (open,state,click,type,select,find,extract,network, …) は、アダプターがタスクをカバーしない場合のアドホック操作とスクレイピング用です。opencli-browserを参照してください。 - 現在のタブバインディング —
opencli browser <session> bindは、ユーザーが既に開く/ログインしているChrome タブをそのブラウザーセッションに接続します。その後のコマンドはopencli browser <session> ...を使用します。使用する前にopencli-browserを参照してください;バインドされたセッションはタブ変更をブロックします。 - 外部 CLI パススルー —
opencli gh、opencli docker、opencli vercelなど。opencli external install <name>(external-clis.yaml から自動インストール) またはopencli external register <name>(独自のツール) で管理します。
インストール
# npm グローバル
npm install -g @jackwener/opencli # バイナリ: opencli, Node >= 21 が必須
opencli doctor # ブラウザー依存作業前に実行 (下記参照)
# ソースから
git clone git@github.com:jackwener/OpenCLI.git
cd OpenCLI && npm install
npx tsx src/main.ts <command> # 同じインターフェース、グローバルインストール不要
opencli doctor は構造化された DoctorReport を出力します — デーモンの状態、拡張機能の接続、バージョンチェック、および実時間のブラウザー接続プローブです。スコープは限定的です: ブラウザーブリッジ (デーモン + 拡張機能 + Chrome 配線) を診断します。PUBLIC / LOCAL アダプター、opencli list、validate、verify、プラグインコマンド、外部 CLI パススルーは緑色である必要はありません — COOKIE / INTERCEPT / UI アダプターと opencli browser * サブコマンドのみ必要です。フラグ: -v (詳細)。
コマンドタイプ別の前提条件
opencli list の戦略タグ | 必要なもの |
|---|---|
PUBLIC | なし — 純粋な HTTP、ブラウザーなし。 |
COOKIE | ターゲットサイトにログインした Chrome + Chrome ウェブストア からインストールした OpenCLI 拡張機能。コマンドはあなたの実時間セッションから認証情報をキャプチャします — 再ログインなし。 |
INTERCEPT | COOKIE と同じ、さらに opencli は署名済みリクエストをキャプチャするためのオートメーションウィンドウを開きます。 |
UI | COOKIE と同じ、完全な DOM 操作。 |
LOCAL | ブラウザーなし;ローカル/dev エンドポイントと通信します。 |
Electron デスクトップアプリ (cursor, codex, chatwise, discord-app, doubao-app, antigravity, chatgpt-app) は実行中のアプリに対する CDP を経由してルーティングされます — ログイン済みのブラウザーと同じ認証不要のフローです。呼び出す前にアプリが実行中であることを確認してください。
インストール済みのものを発見する — このファイルを読まずにコマンドを実行してください
opencli list # テーブル、サイトごとにグループ化
opencli list -f json # マシン読み取り可能;jq またはエージェントにパイプ
opencli list | grep -i twitter # 特定のサイトのコマンドを検索
opencli <site> --help # そのサイトのコマンド + フラグを表示
opencli <site> <command> --help # 位置引数とコマンド固有フラグを表示
アダプターリストをハードコーディングしないでください — 100 以上のサイトがあり、数は毎週変わります。opencli list -f json が真実の源です;{site, name, aliases, description, strategy, browser, args, columns, ...} を持つコマンドごとに1つのエントリを出力します。エージェントにとって、それはドキュメントをグリップするよりも常に優れています。
ユニバーサルフラグ (すべてのアダプターコマンドで機能)
| フラグ | 効果 |
|---|---|
-f, --format <fmt> | table (TTY ではデフォルト) · yaml (非 TTY ではデフォルト) · json · plain · md · csv。特定の形式が必要な場合は明示的に渡してください;エージェントはほぼ常に -f json を望みます。 |
-v, --verbose | デバッグログ + 失敗時のスタックトレース;また OPENCLI_VERBOSE=1 をプロセスに設定します。 |
コマンド固有のフラグ (--limit, --tab, --filter など) はユニバーサルではありません — <site> <command> --help で確認してください。
出力フォーマット
json— きれいに出力、2スペースインデント。エージェント向けのデフォルト選択。plain— チャットスタイルコマンド用の単一の主フィールド (response/content/text/value) を出力します。別のツールへのパイプに便利です。yaml— 出力が TTY でなく、-fが明示的でない場合のフォールバック。table— カラーコード化、サイトごとにグループ化;人間向け。md,csv— 直接的な表形式ダンプ。
いくつかのコマンドは cmd.defaultFormat 経由でデフォルトをオーバーライドします (例: チャットコマンドはデフォルトで plain)、--help を読まずに想定しないでください。
環境変数
| 変数 | デフォルト | 用途 |
|---|---|---|
OPENCLI_DAEMON_PORT | 19825 | デーモン ↔ 拡張機能ブリッジポート。 |
OPENCLI_BROWSER_CONNECT_TIMEOUT | 30 | ブラウザーブリッジ待機秒数。 |
OPENCLI_BROWSER_COMMAND_TIMEOUT | 60 | コマンドごとのタイムアウト。 |
OPENCLI_CDP_ENDPOINT | — | 手動 CDP エンドポイントオーバーライド (dev / リモート Chrome / Electron)。 |
OPENCLI_CACHE_DIR | ~/.opencli/cache | ネットワークキャプチャ + ブラウザー状態キャッシュ。 |
OPENCLI_WINDOW | コマンド固有 | foreground または background ブラウザーウィンドウモード。 |
OPENCLI_VERBOSE | false | 詳細ログ (-v でもトリガーされます)。 |
自己修復
アダプターコマンドがサイト変更 (セレクタドリフト、API ローテーション、レスポンススキーマシフト) により失敗した場合、--trace retain-on-failure で再実行してください。エラーエンベロープには summary.md を指すトレースブロックが含まれます;そのサマリーから adapterSourcePath のみをパッチして再試行してください。最大 3 修復ラウンド。完全なフローは opencli-autofix にあります。
独自のアダプターを書く
2つのパス保存:
- プライベート:
~/.opencli/clis/<site>/<command>.js— ビルドステップなし、ホット利用可能、パブリックパッケージに見えない。 - パブリック / PR:
clis/<site>/<command>.js— アップストリームコントリビューション用;ビルドが必須。
スキャフォールディングと検証:
opencli browser init <site>/<command> # スケルトンを生成
opencli validate [target] # 読み込まれたレジストリの意味チェック (description, domain, pipeline step names, func|pipeline|_lazy presence, arg duplicates) — ネットワーク、ブラウザーなし
opencli verify [target] [--smoke] # 合成引数でコマンドを実行
opencli browser verify <site>/<command> # ブリッジ内のエンドツーエンドスモーク
アダプターは @jackwener/opencli/registry と @jackwener/opencli/errors のみをインポートします。columns は func が返すオブジェクトのキーと 1:1 で名前と順序を一致させる必要があります。完全なワークフローについては opencli-adapter-author を参照してください。
プラグイン
プラグインは git から取得されたサードパーティ拡張機能で、メインアダプターレジストリから独立しています:
opencli plugin install github:user/repo # インストール
opencli plugin list [-f json] # インストール済みを表示
opencli plugin update [name] | --all # 最新版に保つ
opencli plugin uninstall <name>
opencli plugin create <name> # 新しいプラグインをスキャフォールド
外部 CLI パススルー
外部コマンドラインツールをラップして、同じ opencli … エンドポイントで発見し、呼び出すことができます:
opencli external install gh # external-clis.yaml 経由で brew/apt/npm で自動インストール
opencli external register my-tool \
--binary my-tool \
--install "npm i -g my-tool" \
--desc "My internal CLI"
opencli external list
opencli gh pr list --limit 5 # パススルー;stdio は継承、終了コードは伝播
opencli docker ps
組み込みエントリは src/external-clis.yaml に、ユーザーオーバーライドと追加は ~/.opencli/external-clis.yaml にあります。一般的に付属: gh、docker、vercel、lark-cli、longbridge、dws、wecom-cli、obsidian、ntn、tg(tg-cli)、discord(discord-cli)、wx(wx-cli)。
いくつかの公式 CLI はシェルフリーパッケージマネージャーコマンドの代わりにシェルスクリプトインストーラーを使用します。ntn などの install 設定なしエントリは、パススルー使用前にホームページから手動でインストールする必要があります。
シェル補完
opencli completion bash # also: zsh, fish
# -> stdout 上のスクリプト;シェルの規約に従ってソースまたは保存
次に行くべき場所
| やろうとしている場合… | このスキルを読み込んでください |
|---|---|
| ライブブラウザーをアドホック駆動 (利用可能なアダプターなし、またはプロトタイピング) | opencli-browser |
| 新しいアダプターを書く、または既存サイトにコマンドを追加 | opencli-adapter-author |
| コマンド失敗後に破損したアダプターを修復 | opencli-autofix |
| 検索 / ルックアップ / リサーチリクエストを正しいアダプターにルーティング | smart-search |
かつて存在していたコマンド
以下は PR #1094 統合で削除されました — それらを呼び出そうとしないでください:
opencli explore <url>—opencli browser network+opencli browser find(ライブ API 発見用) およびopencli-adapter-authorワークフロー (キャプチャ用) に置き換えられました。opencli record <url>— 削除されました;手動キャプチャは現在opencli browser network --detailにあります。opencli web read/opencli desktop *トップレベルグループとして — 各アダプターにまとめられました (opencli web readは依然としてwebアダプターのreadコマンドとして存在しますが、スタンドアロンのweb/desktopトップレベルグループコマンドはありません)。
するな
- このスキルのコマンドリストを計画に貼り付けないでください;劣化します。代わりにタスクの開始時に
opencli list -f jsonを呼び出してください。 - すべてのアダプターがブラウザーを必要とすると想定しないでください — 戦略
PUBLICとLOCALはそうではありません。strategyフィールドを確認してください。 - 失敗したアダプターからハンドロールされた
fetchに静かにフォールバックしないでください —--trace retain-on-failureはあなたにブラウザー証拠とアダプターソースパスを与えます。先にそれをしてください。
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- jackwener
- リポジトリ
- jackwener/opencli
- ライセンス
- Apache-2.0
- 最終更新
- 不明
Source: https://github.com/jackwener/opencli / ライセンス: Apache-2.0
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。