242
180

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

以下の gemini-cli(@geminicli) のポストで見かけた、Gemini の CLI の話です。

公式の記事も出ています。

●Google announces Gemini CLI: your open-source AI agent
https://blog.google/technology/developers/introducing-gemini-cli-open-source-ai-agent/

image.png

Claude Code的なことが Gemini でできるものになります。

公式のリポジトリ

GitHub上の公式のリポジトリは、以下になるようです。

●google-gemini/gemini-cli: An open-source AI agent that brings the power of Gemini directly into your terminal.
 https://github.com/google-gemini/gemini-cli

image.png

さっそく試す

早速、試していきます。

クイックスタートの手順を使いつつセットアップ

手順を見てみる

クイックスタートの部分を見てみます。

image.png

npxコマンドで試す

とりあえず、以下の npx コマンドを使った内容で試します。

npx https://github.com/google-gemini/gemini-cli

上記を実行すると、以下の画面が出てきました。

image.png

その後、Googleアカウントでログインして使うか、APIキーを入力して使うかが選べます。

image.png

とりあえず、今回は Googleアカウントを使うほうで進めます。

アカウントでの認証

その後、ブラウザで認証を進める画面が出てきます。

image.png

これを進めると、以下の画面が出てきました。

image.png

ターミナルのほうに戻ると、以下のように利用可能な状態になりました。

image.png

Gemini CLI でコード生成

それでは、コードの生成を依頼してみます。最初に入力してみた内容は、以下の記事を書いた時に使ったものにしてみました。

●Rovo Dev を試す: Claude Code的な AIエージェント(Atlassian がリリース) - Qiita
 https://qiita.com/youtoy/items/2d3243d17c0780e8805b

image.png

Write a function to calculate Fibonacci numbers というプロンプトです。

処理結果1

プロンプトを入力したところ、処理が始まりました。

image.png

ファイルは作成してくれておらず、コードが提示されただけのようでした。

追加の依頼をしてみても良かったのですが、別の依頼内容に切り替えて、続きをやってみます。

次のお試しと処理結果2

次に試したのは、 Node.jsのプログラムでフィボナッチ数列を出力するプログラムを書いて、app.mjsという内容で保存して というプロンプトです。

image.png

上記を実行してコードが生成された後に、今度は以下の赤枠部分の選択肢が表示されました。

image.png

ひとまず、デフォルトの「Yes, allow once」を選んで進めてみました。

その後の表示は以下の通りです。

image.png

処理結果2 で生成されたファイルの確認など

ファイルが生成されているか等を確認してみます。以下のとおり、コマンドを実行していたフォルダ内にファイルが生成されていました。

image.png

ファイルを開いてみると、コードの中身は以下になっていました。

/**
 * n番目のフィボナッチ数を計算します。
 * @param {number} n - 非負の整数
 * @returns {number} n番目のフィボナッチ数
 */
function fibonacci(n) {
  if (n < 2) {
    return n;
  }
  let a = 0;
  let b = 1;
  for (let i = 2; i <= n; i++) {
    const temp = a + b;
    a = b;
    b = temp;
  }
  return b;
}

console.log("フィボナッチ数列:");
for (let i = 0; i < 20; i++) {
  console.log(`F(${i}) = ${fibonacci(i)}`);
}

念のため、nodeコマンドで実行してみます。その結果として、以下の出力が得られるのを確認できました。

image.png

補足

アカウントを紐付けた場合と API を使う場合の違い

今回、以下の一番上のアカウントを紐付けて使うやり方にしました。

image.png

この場合、無料アカウントでも Gemini 2.5 Pro が使えるようです。

image.png

この無料アカウントで使える枠(API を使う形ではないもの)については、公式のブログ記事にも書かれています。

image.png

【追記6】 API で使う Gemini 2.5 Pro の無償枠が復活

実験的なバージョンにはあって、プレビュー版になってからはなくなっていた「Gemini 2.5 Pro の API利用時の無償枠」が、また復活していたようです。

この記事を公開した後、Gemini CLI のリポジトリでの API利用に関する記載部分が変わっていました(また、実際に API で Gemini 2.5 Pro の無償枠が使えるのも確認しました)

ライセンス

Gemini CLI は、ライセンス Apache 2.0 のオープンソースになります。

image.png

【追記(複数回分)】

【追記1】 記事公開後に見かけた内容

この記事を公開した後に見かけた記事に関するメモです。

●Gemini CLI の簡単チュートリアル
 https://zenn.dev/schroneko/articles/gemini-cli-tutorial

個人的には、以下のコマンドリファレンスの部分を、まとめて書いてくれているのがありがたかったです。

image.png

image.png

【追記2】 Windows で試してみた

上記は Mac で試していたのですが、その後、Windows でも試してみました。

上記は、「Node.jsのプログラムでフィボナッチ数列を出力するプログラムを書いて、app.mjsという内容で保存して」というプロンプトで試した結果になります。

Windows で試した時は、日本語のプロンプトを書いたテキストファイルを作り、そのテキストファイルを Gemini CLI 上での「@」を使った操作で読み込ませる、という形でやってみました。

ちなみに、Windows で試した時の挙動は、Node.js用のファイルが作成された後に Gemini CLI で nodeコマンドを使った処理の実行も行われた形でした。念のため、ファイルが作成されているかを確認しましたが、以下のとおり指定したファイル名のファイルができていました。

【追記3】 ヘルプや Gemini CLI Core の Tools API

その後、あらためて情報を見ている中で参照した情報のうち、自分がメモしておきたいと思ったものの追記です。

ヘルプ

Gemini CLI を実行した後に、ヘルプを呼び出した際に表示される内容のメモです。基本の使い方に関する内容、スラッシュコマンド、キーボードショートカットを確認できます。

image.png

image.png

Built-in Tools・Custom Tools

公式の GitHubリポジトリ内に書かれた「Gemini CLI Core: Tools API」の情報のメモです。

・Built-in Tools

Built-in Tools の情報を見てみます。

image.png

項目名のみ取り出したものを、以下に掲載してみます。

  • File System Tools
    • LSTool (ls.ts)
    • ReadFileTool (read-file.ts)
    • WriteFileTool (write-file.ts)
    • GrepTool (grep.ts)
    • GlobTool (glob.ts)
    • EditTool (edit.ts)
    • ReadManyFilesTool (read-many-files.ts)
  • Execution Tools
    • ShellTool (shell.ts)
  • Web Tools
    • WebFetchTool (web-fetch.ts)
    • WebSearchTool (web-search.ts)
  • Memory Tools:
    • MemoryTool (memoryTool.ts)

・Custom Tools

ツール関連では、上記 Built-in Tools の記載の下に Extending with Custom Tools という部分があり、カスタムツールを利用する方法も書いてあります。

image.png

カスタムツールの利用方法は、「settings.json に toolDiscoveryCommand を定義する」という方法と、「MCPサーバーを利用する方法(settings.json の mcpServers で設定)」があるようです。

【追記3】 Vertex AI の APIキーを使う

Gemini CLI のリポジトリの「Use a Vertex AI API key」という部分を見ると、Vertex AI の APIキーを使った方法が書かれています。

image.png

【追記4】 ローカルインストールして検索を使う

グローバルインストールではなく、ローカルインストールをして、それを使った検索を行う場合のメモです。

npm install @google/gemini-cli
npx gemini

npx gemini -p "生成AIのTypeScript/JavaScript SDKについて調べて"

【追記4】 v0.1.10 にアップデート

7/10 に v0.1.10 にアップデートされたようです。

自分が少し試したところ、Windows のみで発生していた入力まわりのバグが解消されていたりしました。

【追記5】 さらに試したこと

その後、以下のような内容も試してみました。

●Gemini CLI と FFmpeg を組み合わせた動画の内容解説を少し試してみた(Claude Code でも試す) - Qiita
 https://qiita.com/youtoy/items/1be568343c905f96e683

242
180
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
242
180

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?