解决gemini cli使用中必须开启tun模式的问题
最近我发现,有些小白用户在使用gemini cli时遇到了一个必须开启tun模式的问题,但这会导致国内某些资源访问困难。本文将提供一个解决方案,通过创建一个批处理脚本,帮助用户在不需要开启tun模式的情况下使用gemini cli,同时不影响代理设置。以下是详细的步骤和脚本内容:
步骤
- 创建批处理文件:首先,创建一个文本文档,将以下内容复制进去,并保存为xxx.bat,确保保存为ANSI编码格式。
- 以管理员身份运行:右键点击该文件,选择“以管理员身份运行”。
- 使用脚本:运行完成后,在任何文件夹中右键,即可选择“Open Gemini Cli”,无需开启tun模式即可使用。
脚本内容
@echo off
setlocal
:: 检查管理员权限
fltmc >nul 2>&1 || (
echo [!] 请右键点击本文件,选择“以管理员身份运行”!
echo [!] Press any key to exit...
pause >nul
exit /b
)
:: 设置路径变量
set "TARGET_DIR=D:\tmp"
set "ICON_URL=https://file.119918.xyz/file/1766121099971_icon.ico"
set "ICON_PATH=%TARGET_DIR%\icon.ico"
set "BAT_PATH=%TARGET_DIR%\openGeminiCli.bat"
echo [*] 正在准备目录: %TARGET_DIR%
if not exist "%TARGET_DIR%" mkdir "%TARGET_DIR%"
:: 下载图标
echo [*] 正在下载图标...
curl -L -o "%ICON_PATH%" "%ICON_URL%" --ssl-no-revoke
if not exist "%ICON_PATH%" (
echo [x] 图标下载失败,请检查网络或手动下载。
echo [x] 继续执行后续步骤...
) else (
echo [v] 图标下载成功。
)
:: 生成 openGeminiCli.bat
echo [*] 正在生成启动脚本: %BAT_PATH%
(
echo @echo off
echo chcp 936 ^>nul
echo set http_proxy=http://127.0.0.1:7890
echo set https_proxy=http://127.0.0.1:7890
echo .
echo :: 切换到传入的目录
echo if not "%%~1"=="" cd /d "%%~1"
echo .
echo title Gemini CLI
echo echo Gemini CLI
echo echo 当前目录: %%cd%%
echo echo .
echo echo Starting gemini ...
echo .
echo :: 使用 call 防止闪退
echo call gemini
echo .
echo :: 保持窗口
echo cmd /k
)
> "%BAT_PATH%"
echo [v] 脚本生成成功。
:: 写入注册表
echo [*] 正在写入注册表...
:: 添加主键和图标
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\Open Gemini Cli" /v "icon" /t REG_SZ /d "%ICON_PATH%" /f >nul
:: 添加命令
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\Open Gemini Cli\command" /ve /t REG_SZ /d """%BAT_PATH%"" "%%V"" /f >nul
echo .
echo ==========================================
echo [v] 安装完成!
echo 现在请在任意文件夹空白处右键,查看 "Open Gemini Cli"
echo ==========================================
pause通过以上步骤和脚本,用户可以在不开启tun模式的情况下使用gemini cli,同时保持代理设置,从而解决访问国内资源的问题。
评论已关闭