
この記事でわかること
VS Codeの拡張機能として広く知られているオープンソースのAIコーディングエージェント「Cline」は、GitHubリポジトリ(https://github.com/cline/cline )によると確認時点で69.9kのスター、7.6kのフォークを集めるプロジェクトです。拡張機能だけでなく、ターミナルから使える単体のCLIもnpmパッケージ`cline`として配布されており(https://www.npmjs.com/package/cline )、今回はこのCLI版を実際にこの検証環境へインストールし、ドキュメント(READMEと公式CHANGELOG)の記述と実際の挙動を突き合わせて確認しました。
- この記事でわかること:VS Code拡張とは別に配布されているCline CLIが何をするツールか。
- 実際に`npm install -g cline`でインストールし、`--help`で確認できた全コマンド構成。
- `doctor`・`auth`・`config`を叩いたときの、この検証環境での実際の挙動。
- 既定のホスト型プロバイダーではなく、自前のAPIキーを直接指定して動かした結果の違い。
- 公式CHANGELOGに記録された、CLIがプレビューから「CLI 2.0」に至るまでの経緯。
Cline CLIとは:VS Code拡張の裏側にあるエージェント基盤をターミナルに持ち出したもの
Clineは、コードベースを読み取ってファイルの作成・編集を行い、ターミナルでコマンドを実行し、ブラウザ操作まで行える自律型のAIコーディングエージェントです。npmレジストリ上の説明文は「Autonomous coding agent CLI - capable of creating/editing files, running commands, using the browser, and more」で、ライセンスはApache-2.0でした。もともとは「Claude Dev」という名前で公開されていたプロジェクトだとされています。
npmパッケージのメタデータを見ると、確認時点の最新バージョンは3.0.68で、公開者は個人ではなく`GitHub Actions <npm-oidc-no-reply@github.com>`、つまりCI経由の自動リリースパイプラインになっていました。依存関係も`@cline/core`・`@cline/agents`・`@cline/llms`・`@cline/sdk`・`@cline/shared`(いずれもバージョン0.0.90)に分かれており、単一のスクリプトではなく機能ごとに分割されたモノレポ構成であることがうかがえます。
実際にインストールして動かす:`--help`で見える全体像
この検証環境で`npm install -g cline`を実行すると329パッケージが追加され、インストール自体は問題なく完了しました。続けて`cline --version`を実行すると`3.0.68`が返り、`cline --help`では次のようなコマンド構成が確認できました。
トップレベルのオプションには、計画だけを立てる`-p, --plan`、出力をJSONにする`--json`、全ツールの自動承認を切り替える`--auto-approve`、推論の強さを`none/low/medium/high/xhigh`から選ぶ`--thinking`、コンテキスト圧縮方式を`agentic/basic/off`から選ぶ`--compaction`などがあります。特に目を引いたのは`--acp`(エディタ統合用のAgent Client Protocolモードで起動する)と`--worktree`(タスクごとに`~/.cline/worktrees/`以下へ分離したgit worktreeを自動作成して実行する)の2つで、エディタ連携と安全な実行環境の分離を、それぞれ1オプションで切り替えられる作りになっていました。ACPについては以前「Agent Client Protocol (ACP)とは?」という記事で仕組みを解説しています。
サブコマンドは`auth`・`config`・`plugin`・`skill`・`connect`・`mcp`・`doctor`・`history`・`hook`・`schedule`・`hub`・`dashboard`・`update`・`version`・`kanban`の15個が並んでおり、VS Code拡張で見るような単発のチャットUIというより、認証・プラグイン管理・スケジュール実行まで含めた一つの実行基盤として設計されていることが`--help`の時点でわかります。
自前のAPIキーで直接動かす場合の挙動:ホスト型プロバイダーとの違い
プロバイダーを指定せずに`cline "say hello"`を実行すると、この検証環境では`request blocked: no rule or allowlist entry allows host "api.cline.bot"`というエラーになりました。既定のプロバイダーは`-P, --provider`のデフォルト値である`cline`、つまりCline社が運営するホスト型サービスで、そのAPIエンドポイント(`api.cline.bot`)への通信がこの検証環境のネットワークポリシーで許可されていなかったためです。これはCline自体の不具合ではなく、この検証環境固有の制限だと判断しています。
そこで`-P anthropic -k <APIキー> -m claude-3-5-sonnet`のように、プロバイダーとモデルを明示的に指定して実行すると、挙動が変わりました。ダミーのAPIキーで試したところ、`hook dispatch failed: session.hook requires a valid hook event payload`という本題と無関係なメッセージに続き、`API key is invalid.`という応答が返ってきました。これは`api.cline.bot`宛てのブロックとは異なり、指定したAnthropicのAPIまで実際にリクエストが届いた上で、Anthropic側からキーが無効と判定されたことを意味します。つまり`-P`・`-k`・`-m`で自前のプロバイダーとAPIキーを指定すれば、Cline社のホスト型サービスを経由せず、各プロバイダーに直接リクエストを送れることを実際に確認できました。コストを自分の契約だけに閉じたい場合は、この指定が選択肢になりそうです。
なお`cline auth`を対話入力なしで実行すると`interactive auth setup requires a TTY (use --provider/--apikey/--modelid for non-interactive setup)`、`cline config`も同様に`interactive mode requires a TTY`というエラーになりました。どちらも、TTYが無いCI・自動化環境では明示的なオプション指定が必須という設計で、後述するheadless/CI向けの用途を前提にしていることが読み取れます。
サブコマンドから見える機能範囲:MCP・プラグイン・スキル・スケジュール
`cline mcp --help`では`install|add`・`uninstall|remove`の2コマンドがあり、MCPサーバーの追加・削除をCLIから行える作りでした。`cline plugin --help`も同様に`install|i <source>`・`uninstall|remove <name>`を持ち、ヘルプ文には「official keyword, npm, git, URL, or a local path」からプラグインを導入できると書かれています。
`cline skill --help`を見ると、これは独自実装ではなく「Manage Cline Skills via the open skills CLI (npx skills)」、つまりオープンソースの`skills`CLIへの引き渡し役になっていて、`cline skill add <owner/repo>`のような形でスキルを追加できると案内されていました。Cline独自のスキル機能というより、外部のオープンな「skills」エコシステムに乗る形を取っている点は実際に`--help`を読んで初めて把握できました。
`cline history --help`では`delete`・`update`・`export`のサブコマンドが確認でき、`export`はセッションを「standalone HTML file」として書き出せると説明されています。`cline connect --help`は「Connect to an external channel」という説明で、READMEにはSlack・Discord・Telegramなどのメッセージングプラットフォームと接続できると記載されていました(この部分はREADMEの記述によるもので、実際にチャンネル接続までは確認していません)。
一方`cline schedule --help`は「Manage scheduled tasks」という説明のみで、サブコマンドの一覧はこの検証環境では表示されませんでした。READMEには`cline schedule create "PR summary" --cron "0 9 * * MON-FRI" --prompt "..."`のようにcron形式で定期実行タスクを登録する例が示されていますが、これもREADME上の記述として紹介するにとどめます。`cline doctor`を実行すると、ローカルで常駐する「hub」デーモンの状態(hub url/hub healthy/active connectorsなど)が表示され、今回はインストール直後だったため`hub healthy: no`・`active connectors: 0`という、デーモンが未起動の状態がそのまま確認できました。
プレビューから「CLI 2.0」まで:公式CHANGELOGに見るCLIの歩み
リポジトリ直下の公式CHANGELOG(https://github.com/cline/cline/blob/main/CHANGELOG.md )を遡ると、バージョン3.33.0の項目に「Added Cline CLI (Preview)」という記載があり、同じバージョンでサブエージェント機能やマルチルートワークスペース対応も追加されていました。CLIはまずプレビュー機能として登場したことがわかります。
その後バージョン3.57.0の項目には「Cline CLI 2.0 now available. Install with `npm install -g cline`」と書かれており、これは今回実際に使ったインストールコマンドと完全に一致します。CHANGELOGにはバージョン番号だけで日付の記載が無いため、具体的な公開日までは特定できませんでしたが、VS Code拡張・JetBrainsプラグインと同じモノレポの中で、CLIがプレビューから「2.0」という節目を経て独立した導線に育ってきた経緯は、公式CHANGELOGの記述から直接確認できました。
まとめ
Cline CLIは、VS Code拡張の裏側にあるエージェント基盤をそのままターミナルに持ち出したツールで、`--help`だけでも認証・MCP・プラグイン・スキル・スケジュール実行・メッセージング連携まで幅広いサブコマンドが並んでいることが確認できました。既定のホスト型プロバイダーだけでなく、`-P`・`-k`・`-m`で自前のAPIキーを指定すれば各プロバイダーへ直接リクエストが届くことも、実際のエラー応答の違いから確認できています。
一方で、この検証環境ではCline社のホスト型プロバイダー(`api.cline.bot`)へのアクセスがネットワークポリシーで遮断されており、実際にエージェントがファイルを編集したりコマンドを実行したりするところまでは確認できませんでした。ネットワーク制限の無い環境で、有効なAPIキーを使って実際にタスクを1件流してみるのが次の検証になりそうです。
参考リンク
- Cline 公式GitHubリポジトリ(README・CHANGELOG・ソースコード)
- https://github.com/cline/cline
- cline(npmパッケージ)
- https://www.npmjs.com/package/cline
- Cline 公式CHANGELOG
- https://github.com/cline/cline/blob/main/CHANGELOG.md
- LEXIAブログ:Agent Client Protocol (ACP)とは?
- https://lexia-hp.com/blog/what-is-agent-client-protocol-acp
