🤖

Linux-TerminalでGeminiを使う

に公開

動作環境

  • Linux: Fedora42
  • Node.js: v22.15.1
  • shell: zsh
  • Gemini-API: [ gemini-2.0-flash ](無料枠)

最初はShellGPTで動かそうとあれこれしていたのですが、OpenAIではなくGeminiを使ってみたくなり、Node.jsでGoogle GenAI SDKをインストールしてGeminiをアシスタントとして試しました。

install: 作業ディレクトリに移動して

npm install @google/genai
npm install dotenv

gemini.js: を作成

import { GoogleGenAI } from "@google/genai";
import "dotenv/config";

const apiKey = process.env.GEMINI_API_KEY;
const ai = new GoogleGenAI({ apiKey });
 
async function main(prompt) {
    if(!prompt) {
    console.log("使用方法: node gemini.js \"ここにプロンプトを入力\"");
    return;
    }
    try {
        const response = await ai.models.generateContent({
            model: "gemini-2.0-flash",
            contents: prompt,
            config: {
            maxOutputTokens: 400,
            systemInstruction:
                "あなたはshellとTerminal操作のアシスタントです。" +
                "Fedora-Linuxコマンドとコードの情報のみアシストします。",
            },
        });
        console.log(response.text);
    } catch (e) {
        console.error(e);
    }
} 
main(process.argv[2]);

たったこれだけです!

あとはTerminalから

node gemini.js "ここにプロンプトを記述"


Terminalアシスタントとしての役割を設定しているのでこういった対応になってしまいますが、

質問を変えるとちゃんと答えてくれました。

.zshrcでaliasを変更して省略して呼び出せるように

alias shge='node /home/gemini.jsのパスを記述'


コマンドを実行させるまではできませんが、ちょっとした調べ物ぐらいなら使えそうです。

参考サイト:

GoogleAI for Developer公式https://ai.google.dev/gemini-api/docs/quickstart?hl=ja#javascript

npmパッケージ@google/genaihttps://www.npmjs.com/package/@google/genai

Discussion