Google’s open-source Gemini CLI—agen AI berbasis terminal yang membawa Gemini ke shell Anda—telah berkembang pesat sejak peluncuran dan kini mendukung konfigurasi kaya, file konteks proyek (GEMINI.md / .gemini), perintah slash kustom, dan kontrol direktori ruang kerja. Proyek ini aktif berevolusi di GitHub (repo resmi), telah memasuki pratinjau publik dengan kuota yang murah hati, dan sedang diintegrasikan ke alat pengembang lain (integrasi editor dan CI/Actions). Namun saat tim berkembang, atau saat Anda bekerja lintas drive atau lingkungan yang ketat (container, laptop yang dikelola perusahaan, Cloud Shell, sistem Windows), Anda akan segera menghadapi pertanyaan praktis: di mana Gemini menyimpan filenya, dan bagaimana cara mengubah direktori yang dibaca dan ditulis Gemini?
Apa itu Gemini CLI?
Gemini CLI adalah agen AI baris perintah open-source dari Google yang membawa kemampuan model Gemini langsung ke terminal Anda. Ia menyediakan kemampuan agen interaktif untuk bantuan kode, inspeksi file dan proyek, menjalankan perintah shell (dengan pengamanan), serta integrasi alat seperti Google Search, ekstensi Model Context Protocol (MCP), dan alat generasi media yang dikirim bersama Gemini. CLI ini dirancang ringan, dapat di-script, dan dapat diperluas; tersedia dari repositori resmi dan dikemas untuk instalasi yang mudah.
Mengapa direktori penting
Gemini CLI menyimpan konfigurasi (misalnya, settings.json), prompt sistem atau konteks (GEMINI.md), kredensial yang di-cache, pengenal telemetri, dan state persisten lainnya di dalam direktori .gemini. Lokasi direktori tersebut menentukan:
- pengaturan mana yang dimuat CLI (global vs. spesifik proyek),
- file “memori” apa yang akan dibaca agen,
- di mana kredensial di-cache (mempengaruhi perilaku login),
- reproduktibilitas lintas mesin atau CI saat Anda ingin menyediakan repo konfigurasi khusus.
Memahami dan (jika perlu) mengubah direktori membantu dalam alur kerja multi-proyek, CI, deployment ter-container, dan tim dengan penyimpanan konfigurasi terpusat.
Di mana Gemini CLI menyimpan konfigurasi secara default?
Secara default, CLI menggunakan direktori .gemini. Untuk sebagian besar instalasi pengguna, itu mengarah ke ~/.gemini (folder .gemini di direktori home Anda). CLI juga mendukung file .gemini tingkat proyek (mis., .gemini/settings.json di root proyek) yang menimpa pengaturan pengguna saat Anda beroperasi dari folder proyek tersebut. Pengaturan tingkat sistem dibaca dari lokasi spesifik OS (misalnya /etc/ di Linux atau %PROGRAMDATA% di Windows) jika berlaku. Path tipikal:
- Linux / macOS:
~/.gemini/(misalnya/home/alice/.geminiatau/Users/alice/.gemini). - Windows:
%USERPROFILE%\.gemini(mis.,C:\Users\Alice\.gemini).
Di dalam.geminiAnda biasanya akan menemukansettings.json,GEMINI.md,commands/, dan cache lokal. CLI juga membaca folder.gemini/per proyek (root proyek) untuk pengaturan tingkat proyek.
Default ini penting: secara historis direktori konfigurasi telah di-hard-code ke .gemini di direktori home
Bagaimana cara mengubah atau mengalihkan direktori konfigurasi Gemini CLI?
Ada beberapa cara praktis — dari yang paling sederhana (bekerja di folder yang diinginkan) hingga yang lebih kuat (variabel lingkungan atau pengalihan filesystem). Pilih pendekatan berdasarkan apakah Anda mengontrol lingkungan runtime (mesin dev lokal vs. CI), OS yang Anda gunakan, dan apakah Anda lebih suka perubahan sementara atau permanen.
1) Gunakan .gemini tingkat proyek (disarankan untuk pengaturan per proyek)
Jika Anda menginginkan pengaturan per proyek, buat subdirektori .gemini di root proyek Anda dan tempatkan settings.json, GEMINI.md, dan file proyek lainnya di sana. Gemini CLI lebih memilih pengaturan proyek saat Anda menjalankannya dari direktori proyek tersebut:
your-project/├─ .gemini/│ ├─ settings.json│ └─ GEMINI.md└─ src/
Mulai gemini saat shell Anda berada di your-project/ dan CLI akan mengambil file .gemini dari tree tersebut (ia mencari ke atas untuk menemukan konteks proyek). Ini adalah metode yang paling aman dan eksplisit untuk konfigurasi per proyek.
2) Gunakan variabel lingkungan yang didokumentasikan (jika didukung)
Kode dasar dan dokumentasi Gemini CLI mereferensikan beberapa variabel lingkungan yang digunakan untuk mengubah perilaku. Beberapa di antaranya ditujukan untuk pengaturan sistem atau override file khusus:
GEMINI_API_KEY,GEMINI_MODEL, dll. umumnya digunakan untuk autentikasi dan pilihan model.- Ada referensi dalam kode dan dokumentasi ke variabel seperti
GEMINI_CLI_SYSTEM_SETTINGS_PATH(digunakan untuk menimpa path pengaturan sistem) dan konstanta sepertiGEMINI_CONFIG_DIR(nama default.geminiyang digunakan dalam kode). Beberapa permintaan komunitas dan PR mengusulkan penambahan atau menghormati variabel lingkunganGEMINI_CONFIG_DIRagar pengguna dapat memindahkan seluruh direktori konfigurasi.
Contoh (bash / macOS / Linux):
# Temporary for this shell sessionexport GEMINI_CONFIG_DIR="$HOME/custom_gemini_dir"# Or override system settings path if your install supports it:export GEMINI_CLI_SYSTEM_SETTINGS_PATH="/etc/my-gemini/system.settings.json"# Then rungemini
PowerShell (Windows):
$env:GEMINI_CONFIG_DIR = 'C:\Users\you\CustomGemini'gemini
Peringatan penting: berdasarkan diskusi dan isu komunitas terbaru,
GEMINI_CONFIG_DIRtelah diminta dan direferensikan di beberapa bagian kode — tetapi bug spesifik platform dan perilaku yang tidak konsisten (terutama di Windows) telah dilaporkan. Artinya pengalihan berbasis variabel lingkungan mungkin tidak selalu andal di setiap platform atau rilis. Periksa catatan rilis Gemini CLI dan isu repo untuk versi yang Anda pasang jika Anda bergantung pada ini.
3) Tambahkan direktori ke workspace Gemini di dalam sesi
Jika Anda ingin Gemini mengetahui direktori tambahan (agar dapat membaca file sebagai konteks), ada set perintah interaktif /directory. Misalnya:
/directory add path/to/another/project/directory list
Ini tidak memindahkan direktori konfigurasi, tetapi memungkinkan agen menyertakan file dari direktori lain dalam konteks workspace-nya. Ini berguna saat Anda ingin agen mereferensikan repo lain tanpa mengubah konfigurasi global Anda.
4) Buat symlink atau bind filesystem (solusi praktis)
Pada Unix/macOS:
# move the original config foldermv ~/.gemini ~/gemini_backup# create a symlink to your desired locationln -s /path/to/central/gemini-config ~/.gemini
Di Windows (prompt PowerShell administratif):
# Move the original directoryMove-Item -Path $env:USERPROFILE\.gemini -Destination C:\GeminiConfigBackup# Create a junction (administrator)New-Item -ItemType Junction -Path $env:USERPROFILE\.gemini -Target C:\CentralGeminiConfig
Pendekatan ini memaksa CLI membaca dari lokasi yang Anda inginkan tanpa memerlukan dukungan native di CLI. Catatan: symlink/junction memerlukan hak istimewa filesystem yang sesuai dan dapat berperilaku berbeda di lingkungan container atau Windows. Gunakan dengan hati-hati. (Lihat “catatan khusus Windows” di bawah.)
5) Ubah direktori home efektif untuk proses (trik container/CI)
Saat berjalan di CI, container, atau lingkungan efemeris, Anda dapat mengubah $HOME (Unix) atau %USERPROFILE% (Windows) untuk proses gemini sehingga ~/.gemini default diarahkan ke path yang Anda kontrol:
# Run gemini with a custom HOME (bash)HOME=/ci/workspace/you gemini --some-command# Or in a container DockerfileENV HOME=/app/userRUN mkdir -p /app/user/.geminiCOPY config /app/user/.gemini
Ini berguna untuk reproduktibilitas CI tetapi perlu diperhatikan: mengubah HOME dapat memengaruhi alat lain dan alur autentikasi (mis., cache OAuth Google), jadi batasi teknik ini ke container terisolasi atau wrapper tingkat proses.
Bagaimana cara menginstal dan menggunakan Gemini CLI melalui CometAPI?
Jawaban singkat: ada dua jalur praktis — (A) panggil model Gemini secara langsung melalui CometAPI (direkomendasikan dan paling sederhana), atau (B) buat Gemini CLI resmi berbicara dengan CometAPI dengan menggunakan rilis Gemini-CLI yang mendukung base URL kustom (beberapa rilis/PR menambahkan ini), atau menjalankan proxy lokal kecil yang menerjemahkan permintaan Gemini-CLI menjadi panggilan bergaya CometAPI/OpenAI.
Apa itu CometAPI?
CometAPI adalah agregator/gateway API yang mengekspos ratusan model pihak ketiga (termasuk keluarga Gemini dari Google) di balik API HTTP bergaya OpenAI. Anda mendaftar, mendapatkan kunci API bearer, lalu memanggil endpoint seperti https://api.cometapi.com/v1/chat/completions . CometAPI menggunakan token bearer standar di header Authorization.
Mengapa menggunakan CometAPI? Ini menawarkan harga API lebih rendah daripada API resmi untuk memudahkan integrasi. Gemini CLI Installation and Usage Guide:
Bagaimana cara memanggil model Gemini secara langsung melalui CometAPI? (Direkomendasikan)
Jika tujuan Anda hanyalah menggunakan model Gemini dan Anda tidak benar-benar memerlukan fitur Gemini CLI, memanggil CometAPI secara langsung itu sederhana dan andal.
export COMET_KEY="sk-xxxx"curl -s -X POST "https://api.cometapi.com/v1/chat/completions" \ -H "Authorization: Bearer $COMET_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "gemini-2.5-pro", "messages": [ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Summarize the 3 key benefits of unit tests."} ], "max_tokens": 300 }' | jq .
Panggilan langsung ini memungkinkan Anda mengintegrasikan CometAPI ke dalam skrip, aplikasi, atau CI tanpa bergantung pada Gemini CLI.
Bisakah saya membuat Gemini CLI menggunakan CometAPI?
Beberapa versi/PR Gemini CLI menambahkan variabel lingkungan untuk menimpa base URL Gemini API. Jika gemini yang Anda pasang mendukung konfigurasi base URL Gemini kustom + menggunakan kunci CometAPI, Anda dapat mengarahkannya ke CometAPI dan menyetel kunci CometAPI sebagai GEMINI_API_KEY (CLI mengharapkan variabel kunci bernama GEMINI_API_KEY untuk autentikasi kunci Gemini API).
Contoh:
# example env — *check your gemini-cli docs for exact var names*export GEMINI_API_KEY="sk-xxxxx" # CometAPI keyexport GOOGLE_GEMINI_BASE_URL="https://api.cometapi.com/v1" # if supportedgemini # run the CLI; it will use the configured base URL
Pemecahan masalah: masalah umum dan perbaikannya
Masalah: Gemini tidak dapat melihat file di repo lain
- Coba
gemini --include-directories /path/to/reposaat memulai. Atau di dalam sesi:/directory add /path/to/repo. - Jika repo berada di mount jaringan, periksa izin dan pastikan pengguna proses CLI dapat membaca file.
- Jika Anda menggunakan symlink untuk memindahkan
.gemini, verifikasi bahwa CLI mengikuti symlink untukGEMINI.mddansettings.json(beberapa versi tidak mengikuti symlink tertentu demi keamanan).
Masalah: gemini gagal membuat ~/.gemini di Windows (EPERM)
Ini biasanya berarti proses Anda tidak memiliki izin untuk menulis ke %USERPROFILE%. Perbaikan:
- Jalankan terminal sebagai Administrator atau sesuaikan izin folder.
- Setel lokasi konfigurasi kustom melalui symlink atau, saat didukung, melalui variabel lingkungan (pantau dukungan
GEMINI_CONFIG_DIRdi masa mendatang).
Masalah: cd tidak mengubah direktori kerja di dalam mode shell
Ini adalah isu yang diakui di beberapa platform. Rekomendasi: beralih menjalankan perintah shell dari luar proses Gemini CLI atau tambahkan direktori melalui /directory add.
Masalah: Nama model CometAPI tidak sesuai dengan yang saya harapkan
Panggil endpoint /v1/models dan periksa JSON. ID model sering berisi string varian yang tepat (mis., gemini-2.5-flash-preview-04-17). Gunakan string yang persis sama dalam permintaan Anda.
Kesimpulan
Desain default Gemini CLI mengutamakan perilaku yang masuk akal dan mudah ditemukan: ~/.gemini global untuk default tingkat pengguna dan .gemini proyek untuk override per repo. Komunitas telah mendorong lebih banyak kemampuan konfigurasi native (variabel lingkungan atau flag eksplisit) untuk membuat alat ini lebih ramah bagi lingkungan multi-pengguna, ter-container, dan enterprise.
Cara mengubah direktori Gemini CLI:
Gambaran: Gemini CLI menyimpan konfigurasi dan file konteks tingkat pengguna dalam direktori .gemini (biasanya ~/.gemini). Anda dapat memengaruhi direktori yang digunakan CLI dengan (1) mengandalkan .gemini tingkat proyek di direktori kerja saat ini, (2) menggunakan variabel lingkungan atau opsi CLI jika didukung, (3) menambahkan direktori ruang kerja di dalam sesi interaktif, atau (4) menggunakan teknik filesystem (symlink, bind mount, atau mengubah variabel home/profile) saat opsi native tidak tersedia.
Untuk memulai, jelajahi kemampuan model Gemini (seperti Gemini 3 Pro) di Playground dan lihat API guide untuk petunjuk terperinci. Sebelum mengakses, pastikan Anda telah masuk ke CometAPI dan memperoleh kunci API. CometAPI menawarkan harga yang jauh lebih rendah daripada harga resmi untuk membantu Anda berintegrasi.
Siap Mulai?→ Uji coba gratis model Gemini !


