วิธีเปลี่ยนไดเรกทอรีของ Gemini CLI

CometAPI
AnnaDec 11, 2025
วิธีเปลี่ยนไดเรกทอรีของ Gemini CLI

โอเพนซอร์สของ Google Gemini CLI—เอเจนต์ AI ที่ทำงานบนเทอร์มินัลซึ่งพา Gemini เข้าสู่เชลล์ของคุณ—ได้พัฒนาอย่างรวดเร็วตั้งแต่เปิดตัว และขณะนี้รองรับการกำหนดค่าที่หลากหลาย, ไฟล์บริบทของโปรเจกต์ (GEMINI.md / .gemini), คำสั่งแบบ slash ที่ปรับแต่งได้, และการควบคุมไดเรกทอรีของพื้นที่ทำงาน โปรเจกต์กำลังพัฒนาอย่างต่อเนื่องบน GitHub (คลังอย่างเป็นทางการ), เข้าสู่การเปิดให้ทดลองใช้สาธารณะพร้อมโควตาที่เอื้อเฟื้อ และกำลังถูกรวมเข้ากับเครื่องมือสำหรับนักพัฒนาตัวอื่น (การเชื่อมต่อกับตัวแก้ไขและ CI/Actions) แต่เมื่อทีมขยาย หรือเมื่อคุณทำงานข้ามไดรฟ์หรือในสภาพแวดล้อมที่มีข้อจำกัด (คอนเทนเนอร์, แล็ปท็อปที่บริษัทจัดการ, Cloud Shell, ระบบ Windows) คุณจะพบคำถามเชิงปฏิบัติอย่างรวดเร็ว: Gemini เก็บไฟล์ไว้ที่ไหน และคุณจะเปลี่ยนไดเรกทอรีที่ Gemini อ่านและเขียนได้อย่างไร?

Gemini CLI คืออะไร?

Gemini CLI เป็นเอเจนต์ AI แบบบรรทัดคำสั่งโอเพนซอร์สของ Google ที่นำพลังของโมเดล Gemini เข้ามาสู่เทอร์มินัลของคุณโดยตรง มันมีความสามารถของเอเจนต์เชิงโต้ตอบสำหรับการช่วยเหลือด้านโค้ด, ตรวจสอบไฟล์และโปรเจกต์, รันคำสั่งเชลล์ (พร้อมกลไกป้องกัน), และผสานรวมเครื่องมืออย่าง Google Search, ส่วนขยาย Model Context Protocol (MCP), และเครื่องมือสร้างสื่อที่มาพร้อมกับ Gemini CLI มีจุดมุ่งหมายให้เบา, สคริปต์ได้, และขยายได้; สามารถดาวน์โหลดได้จากคลังอย่างเป็นทางการและจัดแพ็กเกจให้ติดตั้งได้ง่าย

ทำไมไดเรกทอรีจึงสำคัญ

Gemini CLI จะเก็บการตั้งค่า (เช่น settings.json), ข้อความระบบหรือบริบท (GEMINI.md), ข้อมูลรับรองที่แคชไว้, ตัวระบุเทเลเมทรี, และสถานะถาวรอื่น ๆ ไว้ในไดเรกทอรี .gemini ตำแหน่งที่ไดเรกทอรีนั้นอยู่จะกำหนดว่า:

  • CLI จะโหลดการตั้งค่าใด (ทั่วระบบผู้ใช้ vs. เฉพาะโปรเจกต์),
  • ไฟล์ “หน่วยความจำ” ใดที่เอเจนต์จะอ่าน,
  • จะเก็บแคชข้อมูลรับรองไว้ที่ไหน (มีผลต่อพฤติกรรมการเข้าสู่ระบบ),
  • ความสามารถในการทำซ้ำข้ามเครื่องหรือใน CI เมื่อคุณต้องการให้คลังการตั้งค่าแบบกำหนดเอง

การทำความเข้าใจและ (เมื่อจำเป็น) การเปลี่ยนไดเรกทอรีช่วยให้ทำงานได้ดีขึ้นในเวิร์กโฟลว์หลายโปรเจกต์, CI, การดีพลอยแบบคอนเทนเนอร์, และทีมที่มีแหล่งเก็บการตั้งค่ากลาง

โดยปกติแล้ว Gemini CLI เก็บการตั้งค่าไว้ที่ไหน?

โดยค่าเริ่มต้น CLI จะใช้ไดเรกทอรี .gemini สำหรับการติดตั้งของผู้ใช้ส่วนใหญ่จะชี้ไปที่ ~/.gemini (โฟลเดอร์ .gemini ในไดเรกทอรีบ้านของคุณ) CLI ยังรองรับไฟล์ .gemini ระดับโปรเจกต์ (เช่น .gemini/settings.json ที่รูทของโปรเจกต์) ซึ่งจะแทนค่าการตั้งค่าระดับผู้ใช้เมื่อคุณทำงานจากโฟลเดอร์โปรเจกต์นั้น การตั้งค่าระบบจะอ่านจากตำแหน่งที่ขึ้นกับระบบปฏิบัติการ (เช่น /etc/ บน Linux หรือ %PROGRAMDATA% บน Windows) เมื่อมีการใช้งาน เส้นทางทั่วไป:

  • Linux / macOS: ~/.gemini/ (เช่น /home/alice/.gemini หรือ /Users/alice/.gemini).
  • Windows: %USERPROFILE%\.gemini (เช่น C:\Users\Alice\.gemini).
    ภายใน .gemini โดยทั่วไปคุณจะพบ settings.json, GEMINI.md, commands/, และแคชในเครื่อง CLI ยังอ่านโฟลเดอร์ .gemini/ ต่อโปรเจกต์ (ที่รูทโปรเจกต์) เพื่อการตั้งค่าระดับโปรเจกต์

ค่าเริ่มต้นนี้มีความสำคัญ: โดยประวัติแล้วไดเรกทอรีการตั้งค่าถูกกำหนดแบบฮาร์ดโค้ดเป็น .gemini ในไดเรกทอรีบ้าน


จะเปลี่ยนหรือเปลี่ยนเส้นทางไดเรกทอรีการตั้งค่าของ Gemini CLI ได้อย่างไร?

มีหลายวิธีที่ใช้งานได้จริง — ตั้งแต่ง่ายที่สุด (ทำงานในโฟลเดอร์ที่ต้องการ) ไปจนถึงวิธีที่แข็งแรงกว่า (ตัวแปรสภาพแวดล้อมหรือการเปลี่ยนเส้นทางระบบไฟล์) เลือกแนวทางตามว่าคุณควบคุมสภาพแวดล้อมการรันได้หรือไม่ (เครื่องพัฒนาท้องถิ่น vs. CI), ระบบปฏิบัติการที่คุณใช้อยู่, และคุณต้องการการเปลี่ยนแปลงชั่วคราวหรือถาวร

1) ใช้ .gemini ระดับโปรเจกต์ (แนะนำสำหรับการตั้งค่าเฉพาะโปรเจกต์)

หากคุณต้องการการตั้งค่าเฉพาะโปรเจกต์ ให้สร้างไดเรกทอรีย่อย .gemini ที่รูทของโปรเจกต์ของคุณ และวาง settings.json, GEMINI.md, และไฟล์โปรเจกต์อื่น ๆ ไว้ที่นั่น Gemini CLI จะให้ความสำคัญกับการตั้งค่าระดับโปรเจกต์เมื่อคุณรันจากไดเรกทอรีของโปรเจกต์นั้น:

your-project/├─ .gemini/│  ├─ settings.json│  └─ GEMINI.md└─ src/

เริ่ม gemini ขณะเชลล์ของคุณอยู่ที่ your-project/ แล้ว CLI จะค้นหาไฟล์ .gemini จากโครงสร้างนั้น (มันจะค้นขึ้นไปตามไดเรกทอรีเพื่อหา context ของโปรเจกต์) วิธีนี้ปลอดภัยและชัดเจนที่สุดสำหรับการตั้งค่าต่อโปรเจกต์

2) ใช้ตัวแปรสภาพแวดล้อมที่มีการระบุไว้ (เมื่อรองรับ)

ฐานโค้ดและเอกสารของ Gemini CLI อ้างถึงตัวแปรสภาพแวดล้อมหลายตัวที่ใช้ปรับเปลี่ยนพฤติกรรม บางตัวตั้งใจไว้สำหรับการตั้งค่าระบบหรือการแทนที่ไฟล์เฉพาะ:

  • GEMINI_API_KEY, GEMINI_MODEL เป็นต้น ใช้กันทั่วไปสำหรับการยืนยันตัวตนและการเลือกโมเดล
  • มีการอ้างอิงในฐานโค้ดและเอกสารถึงตัวแปรเช่น GEMINI_CLI_SYSTEM_SETTINGS_PATH (ใช้แทนที่พาธการตั้งค่าระบบ) และค่าคงที่เช่น GEMINI_CONFIG_DIR (ชื่อ .gemini ค่าเริ่มต้นที่ใช้ในโค้ด) บางคำร้องจากชุมชนและ PR เสนอให้เพิ่มหรือรองรับตัวแปรสภาพแวดล้อม GEMINI_CONFIG_DIR เพื่อให้ผู้ใช้ย้ายไดเรกทอรีการตั้งค่าทั้งหมดได้

ตัวอย่าง (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

ข้อควรระวังสำคัญ: ตามการอภิปรายและประเด็นล่าสุดในชุมชน GEMINI_CONFIG_DIR ถูกขอและมีการอ้างถึงในโค้ดบางส่วน — แต่มีการรายงานบั๊กเฉพาะแพลตฟอร์มและพฤติกรรมที่ไม่สม่ำเสมอ (โดยเฉพาะบน Windows) ซึ่งหมายความว่าการเปลี่ยนเส้นทางผ่านตัวแปรสภาพแวดล้อมอาจไม่เชื่อถือได้อย่างสม่ำเสมอบนทุกแพลตฟอร์มหรือทุกรีลีส โปรดตรวจสอบบันทึกรีลีสของ Gemini CLI และประเด็นในรีโปสำหรับเวอร์ชันที่คุณติดตั้ง หากคุณพึ่งพาวิธีนี้

3) เพิ่มไดเรกทอรีให้กับพื้นที่ทำงานของ Gemini ภายในเซสชัน

หากคุณต้องการให้ Gemini รับรู้ไดเรกทอรีเพิ่มเติม (เพื่ออ่านไฟล์เป็นบริบท) มีชุดคำสั่งเชิงโต้ตอบ /directory ตัวอย่างเช่น:

/directory add path/to/another/project/directory list

วิธีนี้ไม่ได้ย้ายไดเรกทอรีการตั้งค่า แต่ช่วยให้เอเจนต์รวมไฟล์จากไดเรกทอรีอื่นเข้ามาในบริบทพื้นที่ทำงานได้ เป็นประโยชน์เมื่อคุณต้องการให้เอเจนต์อ้างอิงคลังอื่น ๆ โดยไม่ต้องเปลี่ยนการตั้งค่าทั่วระบบของคุณ

บน Unix/macOS:

# move the original config foldermv ~/.gemini ~/gemini_backup​# create a symlink to your desired locationln -s /path/to/central/gemini-config ~/.gemini

บน Windows (พรอมต์ PowerShell สิทธิ์ผู้ดูแล):

# 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

แนวทางนี้บังคับให้ CLI อ่านจากตำแหน่งที่คุณต้องการโดยไม่ต้องพึ่งการรองรับโดยตรงในตัว CLI หมายเหตุ: symlink/junction ต้องการสิทธิ์ที่เหมาะสมของระบบไฟล์ และอาจมีพฤติกรรมแตกต่างกันในสภาพแวดล้อมคอนเทนเนอร์หรือ Windows โปรดใช้ด้วยความระมัดระวัง (ดู “หมายเหตุเฉพาะ Windows” ด้านล่าง)

5) เปลี่ยนไดเรกทอรีบ้านที่มีผลสำหรับโปรเซส (เทคนิคนิยมในคอนเทนเนอร์/CI)

# 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

วิธีนี้มีประโยชน์สำหรับความสามารถในการทำซ้ำใน CI แต่ควรระวัง: การเปลี่ยน HOME อาจส่งผลต่อเครื่องมืออื่นและกระบวนการยืนยันตัวตน (เช่น แคช Google OAuth) ดังนั้นควรจำกัดเทคนิคนี้ไว้ในคอนเทนเนอร์ที่แยกจากกันหรือตัวครอบระดับโปรเซส

จะติดตั้งและใช้ Gemini CLI ผ่าน CometAPI ได้อย่างไร?

คำตอบสั้น ๆ: มีสองแนวทางที่ใช้งานได้จริง — (A) เรียกใช้โมเดล Gemini โดยตรงผ่าน CometAPI (แนะนำและง่ายที่สุด), หรือ (B) ทำให้ Gemini CLI อย่างเป็นทางการสื่อสารกับ CometAPI โดยใช้รีลีสของ Gemini CLI ที่รองรับการกำหนด base URL แบบกำหนดเอง (บางรีลีส/PR เพิ่มสิ่งนี้), หรือรันพร็อกซีโลคัลขนาดเล็กที่แปลงคำขอของ Gemini CLI ให้เป็นการเรียกแบบ CometAPI/OpenAI

CometAPI คืออะไร?

CometAPI เป็นเกตเวย์/ตัวรวม API ที่เปิดเผยโมเดลจากบุคคลที่สามหลายร้อยรุ่น (รวมถึงตระกูล Gemini ของ Google) ผ่าน HTTP API รูปแบบ OpenAI คุณสมัครใช้งาน รับคีย์ API แบบ bearer แล้วเรียกปลายทางเช่น https://api.cometapi.com/v1/chat/completions CometAPI ใช้โทเค็นแบบ bearer มาตรฐานในเฮดเดอร์ Authorization

ทำไมต้องใช้ CometAPI? มันเสนอราคาการใช้งาน API ต่ำกว่าของทางการเพื่ออำนวยความสะดวกในการอินทิเกรต คู่มือการติดตั้งและการใช้งาน Gemini CLI:

จะเรียกใช้โมเดล Gemini โดยตรงผ่าน CometAPI ได้อย่างไร? (แนะนำ)

หากเป้าหมายของคุณคือการใช้โมเดล Gemini และไม่จำเป็นต้องใช้ฟีเจอร์ของ Gemini CLI โดยเคร่งครัด การเรียก CometAPI โดยตรงนั้นตรงไปตรงมาและเชื่อถือได้

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 .

การเรียกโดยตรงเหล่านี้ช่วยให้คุณผนวก CometAPI เข้ากับสคริปต์ แอป หรือ CI ได้โดยไม่ต้องพึ่งพา Gemini CLI

สามารถทำให้ Gemini CLI ใช้ CometAPI ได้ไหม?

บางเวอร์ชันของ Gemini CLI/PR เพิ่มตัวแปรสภาพแวดล้อมเพื่อแทนที่ฐาน URL ของ Gemini API หาก Gemini CLI ที่คุณติดตั้งรองรับการกำหนดฐาน URL ของ Gemini แบบกำหนดเองและใช้คีย์ CometAPI คุณสามารถชี้ไปที่ CometAPI และตั้งค่าคีย์ CometAPI เป็น GEMINI_API_KEY (CLI คาดว่ามีตัวแปรคีย์ชื่อ GEMINI_API_KEY สำหรับการยืนยันคีย์ของ Gemini API)

ตัวอย่าง:

# 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

การแก้ไขปัญหา: ปัญหาทั่วไปและแนวทางแก้

ปัญหา: Gemini มองไม่เห็นไฟล์ในรีโปอื่น

  1. ลองใช้ gemini --include-directories /path/to/repo ขณะเริ่มต้น หรือในเซสชัน: /directory add /path/to/repo.
  2. หากรีโปอยู่บนเน็ตเวิร์กเมานต์ ให้ตรวจสอบสิทธิ์และยืนยันว่าผู้ใช้โปรเซสของ CLI สามารถอ่านไฟล์ได้.
  3. หากคุณใช้ symlink เพื่อย้าย .gemini ให้ตรวจสอบว่า CLI ติดตาม symlink สำหรับ GEMINI.md และ settings.json (บางเวอร์ชันจะไม่ติดตาม symlink บางชนิดด้วยเหตุผลด้านความปลอดภัย).

ปัญหา: gemini ไม่สามารถสร้าง ~/.gemini บน Windows (EPERM)

  • เปิดเทอร์มินัลด้วยสิทธิ์ผู้ดูแลระบบ หรือปรับสิทธิ์โฟลเดอร์.
  • ตั้งตำแหน่งการตั้งค่าแบบกำหนดเองผ่าน symlink หรือเมื่อรองรับ ผ่านตัวแปรสภาพแวดล้อม (ติดตามการรองรับ GEMINI_CONFIG_DIR ในอนาคต).

ปัญหา: cd ไม่เปลี่ยนไดเรกทอรีทำงานภายในโหมดเชลล์

นี่เป็นปัญหาที่รับทราบแล้วบนบางแพลตฟอร์ม ข้อแนะนำ: สลับไปเรียกใช้คำสั่งเชลล์จากภายนอกโปรเซสของ Gemini CLI หรือเพิ่มไดเรกทอรีผ่าน /directory add.

ปัญหา: ชื่อโมเดลของ CometAPI ไม่ตรงกับที่คาดไว้

เรียกปลายทาง /v1/models และตรวจสอบ JSON โดยละเอียด รหัสโมเดลมักจะมีสตริงตัวแปรที่เฉพาะเจาะจง (เช่น gemini-2.5-flash-preview-04-17) ใช้สตริงนั้นอย่างถูกต้องในคำขอของคุณ

บทสรุป

การออกแบบค่าเริ่มต้นของ Gemini CLI สนับสนุนพฤติกรรมที่เข้าใจง่ายและค้นพบได้: ใช้ ~/.gemini ระดับผู้ใช้เป็นค่าพื้นฐาน และ .gemini ระดับโปรเจกต์สำหรับแทนค่าต่อรีโป ชุมชนกำลังผลักดันให้มีความสามารถในการกำหนดค่าแบบเนทีฟมากขึ้น (ตัวแปรสภาพแวดล้อมหรือแฟลกที่ชัดเจน) เพื่อทำให้เครื่องมือเป็นมิตรกับสภาพแวดล้อมแบบหลายผู้ใช้ คอนเทนเนอร์ และองค์กร

วิธีเปลี่ยนไดเรกทอรีของ Gemini CLI:

ภาพรวม: Gemini CLI เก็บการตั้งค่าและไฟล์บริบทระดับผู้ใช้ไว้ในไดเรกทอรี .gemini (โดยทั่วไปคือ ~/.gemini) คุณสามารถมีอิทธิพลต่อไดเรกทอรีที่ CLI ใช้ได้โดย (1) พึ่งพา .gemini ระดับโปรเจกต์ในไดเรกทอรีทำงานปัจจุบัน, (2) ใช้ตัวแปรสภาพแวดล้อมหรือออปชันของ CLI เมื่อรองรับ, (3) เพิ่มไดเรกทอรีพื้นที่ทำงานภายในเซสชันเชิงโต้ตอบ, หรือ (4) ใช้เทคนิคของระบบไฟล์ (symlink, bind mount, หรือการเปลี่ยนตัวแปร home/profile) เมื่อไม่มีตัวเลือกแบบเนทีฟ

เริ่มต้นโดยสำรวจความสามารถของโมเดล Gemini (เช่น Gemini 3 Pro) ใน Playground และดู คู่มือ API สำหรับคำแนะนำโดยละเอียด ก่อนใช้งาน โปรดตรวจสอบให้แน่ใจว่าคุณได้เข้าสู่ระบบ CometAPI และได้รับคีย์ API แล้ว CometAPI เสนอราคาที่ต่ำกว่าราคาทางการเพื่อช่วยให้คุณอินทิเกรตได้สะดวก

พร้อมใช้งานแล้วหรือยัง?→ ทดลองใช้โมเดล Gemini ฟรี !

SHARE THIS BLOG

อ่านเพิ่มเติม

500+ โมเดลใน API เดียว

ลดราคาสูงสุด 20%