星期日, 6月 29, 2025

Gemini CLI 安裝小記



Gemini CLI 安裝小記


OS: macOS Sonoma 14.3

node.js: 23.10.0


這幾天 Gemini CLI 非常火熱, 所以也來寫一篇小記, 記錄安裝以及收集到的一些資訊


官方中文 Blog 文章


授權的部分, 主要會有 3 種方式


接下來嘗試安裝


官方 Github


首先系統要有 Node.js 18 以上的版本


檢查 node.js 版本的方式可以使用 

% node  -v

v23.10.0


我的版本是 23.10.0


安裝的方式大家都是推使用 npm 方式進行安裝

% npm  install  -g  @google/gemini-cli 


  • -g 為全域 global

  • @google/gemini 為安裝 google的 gemini 套件


使用 gemini 指令啟動


%gemini


一開始會選主題

但是因為我的終端機是用 Basic 所以字會比較不明顯, 這個部分可能要調終端機的描述檔, 或是選自己覺得清楚的 Theme



接下來就是選剛剛提到的授權驗證方式



這邊由於我個人與工作上都有使用 GCP, 所以我碰到要指定 GCP project ID 的狀況




接下來就可以正常使用


要離開 gemini 就按 Ctrl + C 兩次 或是使用 /quit


離開的時候會顯示相關 token 資訊



目前我的組合技 就是使用 vscode ( 使用 copilot 免費版 + Gemini Code Assist 免費版 ) + 在終端機使用 gemini cli :) 


另外收集與提供有用的資訊


又前進了一步 :)


~ enjoy it


References



星期日, 5月 11, 2025

python - Azure Entra ID 外部使用者邀請與獲取 ID



Azure Entra ID 外部使用者邀請與獲取 ID


OS: macOS 14.3


整理一下使用 Github copilot 產生的 python 程式碼, 用於一些工作日常

登入 Azure


建立 Entra ID 應用程式

  • 該應用程式因為要邀請外部使用者到 Entra ID, 所以需要相關 API 權限

  • `User.Invite.All` - 用於邀請外部用戶

  • `User.Read.All` - 用於查詢用戶資訊


==== Console 方式 (Copilot 提供後修改) ====


以下是使用 Azure Portal 建立 Entra ID 應用程式並設定權限的逐步指示:


登入 Azure Portal:


前往 Azure Portal 並使用您的帳戶登入。

點選  Microsoft Entra ID

點選 應用程式註冊

點擊 新增註冊

  • 填寫應用程式資訊:

    • 名稱:輸入您的應用程式名稱

    • 支援的帳戶類型:選擇您的應用程式支援的帳戶類型

    • (可選)重定向 URI:如果需要,輸入 URI。

    • 點選 註冊


記下顯示的

  • 應用程式 (用戶端) 識別碼  (client_id)

  • 目錄 (租用戶) 識別碼  (tenant_id)


設定應用程式密碼

在該應用程式, 展開 管理

點選 憑證及秘密

預設會停留在 用戶端密碼 

點選 新增用戶端密碼

  • 輸入描述 (我可能會與應用程式相同)

  • 選擇到期天數

  • 點選 新增


記下顯示的

  • 值 (client_secret) - 這個是應用程式的密碼, 只會出現在建立的當下, 請記得記下來


設定 API 權限:


在應用程式的頁面,選擇「API 權限」。

點擊「新增權限」。

選擇「Microsoft Graph」。

選擇「應用程式權限」。

搜尋並選擇 User.Invite.AllUser.Read.All 權限。

點擊「新增權限」。


授予管理員同意:


在「API 權限」頁面,點擊「授予管理員同意」以確認權限。


可以觀察權限




下載 此次 add_entraID_extra_user 目錄的檔案


按照 README.md 內容進行

  • config.json 文件配置

    • 填入 tenat_id / client_id / client_secret

  • users.csv

    • 填入要邀請的外部使用者 email 與 使用名稱


確認一下是否有安裝 requests 套件


% pip3  list  | grep requests


requests                                2.32.3


  • 如果沒有就使用 pip3 install requests


執行程式


%  python3  add_entraID_extra_user.py



星期日, 3月 30, 2025

vscode insiders with google-map mcp 小記


vscode insiders with google-map mcp 小記


OS: MacOS 14.3

VScode Insiders: 1.99.0


最近 MCP 很火熱, 也覺得這樣的協定真的很棒, 可以增加很多應用以及擴展大家的領域

今天來寫看了 Youtube 影片, 也一併動手做的小記


MCP (Model Context Protocol) 介紹

  • https://modelcontextprotocol.io/introduction

  • MCP is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect your devices to various peripherals and accessories, MCP provides a standardized way to connect AI models to different data sources and tools.


目前 MCP Server 常見支援兩種方式

  • Docker

  • NPX


我這邊採取的是 NPX 方式


首先 NPX 方式要使用 npm 指令進行安裝, 要有 npm 指令就要安裝 Node.js

因為我的 OS 是 Mac  所以我就使用 homebrew 方式安裝 Node.js


指令如下

%brew  install  node


可以驗證一下是否安裝成功


% node  -v

v23.10.0

% npm  -v

10.9.2


然後 MCP 目前在 vscode insiders 已經開始支援, 設定 MCP Server in vscode 大概目前也看到兩種做法


==== 使用 vscode 內建的功能來建立 ====


開啟功能選單 (Command + Shift + P)

搜尋 MCP Add Server 功能



選取要安裝的方式


進行相關設定


另外可以觀察 Settings


搜尋 mcp , 可以看到 settings.json


==== 在 .vscode 目錄內建立 mcp.json ====


我是採取另外一種方式, 在 .vscode 目錄內建立 mcp.json 檔案

  • 我喜歡這樣的方式是因為設定獨立起來, 也比較有彈性


今天要測試的 是 Google MAP MCP

要找目前有哪些 MCP Server 可以測試與使用, 我可能會用下列兩個


間單的方式就是找到你要測試的 MCP Server, 然後看他的設定檔如何設定, 以 Google Map 來說


我用的是 NPX 方式, 所以只要在 .vsocde 目錄內建立 mcp.json


內容如下

{

  "mcpServers": {

    "google-maps": {

      "command": "npx",

      "args": [

        "-y",

        "@modelcontextprotocol/server-google-maps"

      ],

      "env": {

        "GOOGLE_MAPS_API_KEY": "<YOUR_API_KEY>"

      }

    }

  }

}


  • 將啟用的 Google Maps API Key 替代上方的 <YOUR_API_KEY>

  • 重新啟動 vscode Insiders


將 vscode chat 開啟, 切換到 Agent 模式


點選 Select Tools 圖示


這個時候就看到 MCP Server: google-maps 選項可以勾選

勾選 MCP Server: google-maps


左邊那個 伺服器圖示是用來啟動 server 或是檢視相關輸出的

這個時候有些人可能會再啟動 vscode insiders 一次 (都市傳說,呂布治百病)


然後就可以開始詢問 AI 問題



  • 這個時候就會發現會執行相關 google map 功能

    • 會提示你是否允許執行, 可以選擇 session / workspace / 總是允許


會整理提示的相關資料, 也可以透過對話的方式請他製作網頁

簡單的成品大概如下



只能說 AI 真的是越來越方便了


~ enjoy it



References