😀

Gemini cli が出たっぽいので cloud run deploy までやってみるぞ

に公開

概要

Gemini cli ってのが出ました。
https://github.com/google-gemini/gemini-cli
基本的には Gemini code assist をローカルでも使えるようなイメージを感じています。(間違ってたらすいません)
https://blog.google/technology/developers/introducing-gemini-cli-open-source-ai-agent/

30分程度とりま調べた限りでまとめます。無料という言葉に人間は弱いのだよ。

表題の通り

やってみる。とりま npm -g でインストールしたら gemini command で動かすことができます.

お手並み拝見。

ちなみに、起動時に -y optionをつけると勝手に進めていくようです

出来上がったっぽいので shell mode で open して見るとまぁ一応作れました。(webappって言ったほうが良かったかもしれない

気を取り直してやり直し


そうか、create-react-app の方で入れてきたか。動くものはできたのですがちょっと気に入らないので、vite で作り直してもらいます

ストレスなく作り直せましたね.ここまででの token 数は /stats で出せます

Cloud Run Service に deploy してみます。openhands のときと違いどこにdeployすんねんと聞かれます。

実行をするとエラーになりました。

✦ デプロイコマンドの実行中にエラーが発生しました。

  エラー内容:
  PermissionError: [Errno 1] Operation not permitted


  原因:
  このエラーは、gcloud コマンドが設定ファイルや認証情報を保存するために、あなたのホームディレクトリ (/Users/xxxxxx/.config/gcloud/) に書き込もうとした際に、アクセス権がなかったために発生した可能性
  が高いです。私が動作している環境はセキュリティ上の理由から、プロジェクトディレクトリ外のファイルへのアクセスが制限されています(これはMacOSのSeatbelt機能によるものと考えられます)。

素晴らしい。代替案まで出してくれた。けど、コピペしやすいようにしてくれてたらより良かった。

とりあえず、sandbox を外しつつ再度実施をお願いします。

openhands の場合は artifact registory に deploy して動かしてましたが、こちらは source を指定して直接 deploy していますね。

はい、port がうまくいかないとかで動かないことがあったようですが Gemini が勝手に直して、deploy が完了しました。

気になった部分

基本的な使い方はこちらにあります.
/docs でもみれます

https://github.com/google-gemini/gemini-cli/blob/main/docs/index.md

設定の配置

PC 全体の設定の場合は ~/.gemini/settings.json に プロジェクト固有の場合は (プロジェクト直下)/.gemini/settings.json っぽいですね

https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/configuration.md

設定自体もたくさんあるのでたくさん読み込んでおきましょう(自戒)

options

気になったものだけピック

認証

Gemini cli で認証は以下の4パターンあります。

  • Login with Google
    • 個人アカウント(workspace アカウントではない)の場合
    • 無料で 60 requests/min, and 1,000 requests/day という感じで gemini-2.5-pro が使えるようです
    • この設定で Google ログインをするさいに Workspace アカウントを利用するとエラーになります( Ensure your Google account is not a Workspace account. )
  • Gemini API Key
    • Google AI Studio の API Key を入力するパターン
    • .env に GEMINI_API_KEY でおいておくと勝手にこのモードになる
  • Login With Google Workspace
    • 組織(workspace アカウント)の場合。会社でのアカウントの場合はだいたいこのパターンかと
    • .env に GOOGLE_CLOUD_PROJECT を入れる形です
    • google login が走って問題なければ動かせます。
    • おそらく google cloud の project に課金されると思われます。
  • Vertex AI
    • Vertex AI を使うパターン
    • .env に GOOGLE_GENAI_USE_VERTEXAI=trueGOOGLE_CLOUD_PROJECTGOOGLE_CLOUD_LOCATION を入れるパターン( GOOGLE_API_KEY でもいける。このときは google cloud 上で API_KEY で払い出しが必要と思われ )

使えるコマンド

/help である程度の説明が出てきますね

openhands-cli のときにbash打ちたいなー と思ってたのでいいですねー。

まとめ

使った感想としては openhands-cli よりは機能が豊富、組織的に使うのであれば、telemetry とかあって便利だなぁという印象。

ちょっと、openhands のほうがいい感じにはしてくれましたが、gemini-cli のほうが全然assistしてくれている感じがありますね。あとバギーな部分は殆ど見れなかった。

また、個人利用ならコレで十分かなと思っています(そんなにガッツリコードを書くわけじゃないため)

気になっているのは login with google workspace での認証をした際に google cloud project の id を入れるのですが、実態が Gemini code Assist だと思っているため、プロジェクトに紐づく以下の設定もくっついてくると嬉しいなぁと思った次第。どうなるのかな?

また、shell のコマンドで途中で止まるようなもの(例えば cloud run のフラグつけ忘れにおける y の入力など、npm run dev )を自動で進めていってほしいと思ったりもしつつどうするのかねぇという感じです。screen で別においておくとかできてれば良いかなとも思いつつ。

最後に個人的な感想として、先日 openhands-cli やるかーとか言ってたらコレだよ!という感じになっているので、ツールには縛られず生きていきましょう。

Google Cloud 大好きエンジニアからしたらだいぶ嬉しいツールですので、普段使いしたいと思います。

Discussion