簡化指令的聰明解法:使用 agyy.bat 取代 agy -y

使用 gemini 幾乎每次都是進入 YOLO 模式, 改到 agy 之後指令變超長, 怎麼可能記的起來.

agy -y
---
flags provided but not defined: -y
Usage of agy:
--add-dir Add a directory to the workspace (repeatable) (default [])
-c Short alias for --continue
--continue Continue the most recent conversation
--conversation Resume a previous conversation by ID
--dangerously-skip-permissions Auto-approve all tool permission requests without prompting
-i Short alias for --prompt-interactive
--log-file Override CLI log file path
--model Model for the current CLI session
-p Short alias for --print
--print Run a single prompt non-interactively and print the response
--print-timeout Timeout for print mode wait (default 5m0s)
--prompt Alias for --print
--prompt-interactive Run an initial prompt interactively and continue the session
--sandbox Run in a sandbox with terminal restrictions enabled

Available subcommands:
changelog Show changelog and release notes
help Show help for subcommands
install Configure environment paths and shell settings
models List available models
plugin Manage plugins (install, uninstall, list, enable, disable)
plugins Alias for plugin
update Update CLI

settings.json 檔案部位於無法讀取的受保護邊界內。以下是在 Antigravity 中啟用「自動核准(Auto-Approve)」模式的方法:

啟用自動核准模式

開啟自動核准有以下兩種方式:

方法一:透過聊天介面設定(最快速)

直接在聊天輸入框中輸入以下斜線指令(Slash command):

/auto-approve

或者輸入簡短指令:

/yolo

這會切換當前會話(Session)的自動核准狀態 — 啟用後,Antigravity 在執行命令或修改檔案前將不再彈出提示詢問。

方法二:透過 settings.json 進行永久設定

編輯位於以下路徑的設定檔:

C:\Users\your-account\.gemini\settings.json

新增或修改以下設定值:

JSON

{
  "autoApprove": true
}

⚠️ 警告

自動核准模式會跳過所有權限確認提示。Antigravity 將會在未經詢問的情況下直接執行命令、寫入檔案以及執行程式碼。請謹慎使用,特別是在進行具破壞性的操作時。

💡 小建議

您可以透過權限管理系統(Permissions system)縮小自動核准的權限範圍 — 例如經由 ask_permission 工具單獨授予全域命令或 write_file 權限,而非直接全面開啟全域自動核准。

如果您的斜線指令清單中未顯示 /auto-approve/yolo,請在 Antigravity CLI 中輸入 /help,以查看目前版本支援的所有可用指令。


透過建立 agyy.bat,你可以完全避免與原本的 agy.exe 發生名稱衝突或無窮迴圈(自己呼叫自己)的風險。同時,這也能將冗長的參數縮短,讓操作變得非常直覺。

以下是為你寫好的 agyy.bat 腳本與使用方式:

1. 建立 agyy.bat 檔案

請打開記事本,將以下程式碼貼進去:

DOS

@echo off
setlocal enabledelayedexpansion

set "params="
for %%a in (%*) do (
    if "%%a"=="-y" (
        set "params=!params! --dangerously-skip-permissions"
    ) else (
        set "params=!params! %%a"
    )
)

:: 直接呼叫原本的 agy,並帶入轉換後的參數
agy %params%

2. 儲存與放置路徑

正確儲存檔案:將檔案另存新檔,檔名設定為 agyy.bat

💡 貼心提醒:存檔時請將「存檔類型」切換為「所有檔案 (.)」,避免副檔名變成 agyy.bat.txt

設定全域執行:為了讓你在任何資料夾路徑下(例如目前的 git 專案目錄)都能直接輸入 agyy 執行,建議將這個檔案放到以下其中一個地方:

  • 方案 A(最省事):直接放到 C:\Windows 資料夾下。
  • 方案 B(最正規):放到你自己專門存放工具的自訂資料夾(例如 C:\tools),並確保該資料夾已加入到 Windows 的系統環境變數(PATH)中。

3. 如何使用?

設定完成後,你以後在 CMD 或 PowerShell 中就可以這樣用:

  • 原本你想輸入:agy -y --add-dir .
  • 現在改成輸入:agyy -y --add-dir .

這個批次檔會自動幫你把 -y 替換成 --dangerously-skip-permissions,其餘的參數(如 --add-dir .-c)都會原封不動地傳遞給 agy,既安全又不會搞混!


既然你提到想要在 Linux 或 macOS 上也達到同樣的效果,其實事情反而變得更簡單了,因為在 Unix-like 系統中,我們不需要寫複雜的批次檔,直接使用內建的別名功能就可以完美搞定。

你可以透過設定別名,讓系統在看到 agyy 的時候自動替換指令。請參考以下的操作步驟:

1. 臨時測試別名

如果你想先測試看看效果,可以直接在終端機中輸入以下指令:

alias agyy=’agy –dangerously-skip-permissions’

現在,你可以試試看輸入:

agyy –add-dir .

系統就會自動幫你執行 agy --dangerously-skip-permissions --add-dir .。不過,這個方法在關閉終端機視窗後就會失效。


2. 永久儲存設定

若要讓這個設定每次開啟終端機時都有效,必須將這行指令寫進你 shell 的設定檔中。

步驟 A:確認你使用的是哪一種 Shell

請在終端機輸入以下指令:

echo $SHELL

終端機會回傳你的 shell 路徑:

  • 如果顯示 /bin/zsh(macOS 目前預設),你的設定檔是 ~/.zshrc
  • 如果顯示 /bin/bash(舊版 macOS 或多數 Linux 預設),你的設定檔是 ~/.bashrc

步驟 B:將別名寫入設定檔

根據你確認的 shell 類型,選擇對應的指令輸入:

  • 如果你是 zsh(macOS 預設):echo “alias agyy=’agy –dangerously-skip-permissions'” >> ~/.zshrc
  • 如果你是 bash(Linux 預設):echo “alias agyy=’agy –dangerously-skip-permissions'” >> ~/.bashrc

步驟 C:讓設定立即生效

最後,讓剛剛修改的設定檔立刻生效,不用重開終端機:

  • 如果你是 zsh:source ~/.zshrc
  • 如果你是 bash:source ~/.bashrc

3. 進階玩法:直接蓋掉原本的 agy

因為 Linux 與 macOS 的別名機制非常聰明,它不會像 Windows 批次檔那樣造成無窮迴圈。如果你連多打一個 y 都嫌麻煩,甚至可以直接把別名命名為 agy

alias agy=’agy –dangerously-skip-permissions’

這樣一來,你以後照常輸入 agy --add-dir .,系統就會在背景偷偷幫你補上 --dangerously-skip-permissions,完全不需要改變操作習慣,而且絕對不會發生自己呼叫自己的衝突問題。


即然檔名就是 agyy 就是要包含 -y, 為什麼還要在 script 裡判斷 has_y 直接 apply 即可。

這確實是一個非常直覺且乾淨的想法。

如果你希望 agyy 這個指令的定義就是「無條件開啟 yolo 模式,並把其他輸入的參數原封不動傳下去」,那根本不需要寫迴圈去處理 -y 參數。

原本之所以會寫判斷,通常是因為考慮到使用者可能會習慣性地輸入 agyy -y,如果不做替換,直接把傳進來的 -y 交給 agyagy 會回報找不到 -y 這個未定義的參數而報錯。

如果你希望腳本最簡化,且順便把可能多輸入的 -y 吃掉(過濾掉),直接這樣寫是最乾淨的:

DOS

@echo off
if /I "%~1"=="-y" goto :strip_y
agy --dangerously-skip-permissions %*
exit /b %ERRORLEVEL%

:strip_y
set "RAW=%*"
set "RAW=%RAW:~2%"
if "%RAW:~0,1%"==" " set "RAW=%RAW:~1%"
agy --dangerously-skip-permissions %RAW%
exit /b %ERRORLEVEL%

這樣寫的好處:

  1. 預設直接套用:不管傳什麼,--dangerously-skip-permissions 一定會帶入。
  2. 容錯力高:就算順手打了 agyy -y,也會自動把 -y 過濾掉,不會讓 agy 噴出未定義參數的錯誤。

Facebook網友回應

您可能也會感興趣的文章...

用 AI 幫苦累蛙圓體補缺字「搐」

電腦相關應用

示範用 antigravity, 修改github 上的專案, 幫苦累蛙圓體補缺字「搐」, 網友的許願網址:https://github.com/max32002/kur […]

Read More

迴圈工程(Loop Engineering)

生活小事

過去我們使用 AI 時,你給 AI 一個指令(Prompt),AI 回答一次。如果 AI 寫錯了,你得再給 AI 第二個指令去修正。這種一來一回的過程,隨著任務變得複雜, […]

Read More

Windsurf 程式碼編輯器使用心得:Max的體驗分享

電腦相關應用

寫程式感覺變的很方便, 可以透過自然語言就進行程式的調整, 同一個口語的指令, 就可以套用到多個檔案, 這一點是網頁版本比較難做到的。 Windsurf 下載:https […]

Read More

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *