最近我发现,有些小白用户在使用gemini cli时遇到了一个必须开启tun模式的问题,但这会导致国内某些资源访问困难。本文将提供一个解决方案,通过创建一个批处理脚本,帮助用户在不需要开启tun模式的情况下使用gemini cli,同时不影响代理设置。以下是详细的步骤和脚本内容:

步骤

  1. 创建批处理文件:首先,创建一个文本文档,将以下内容复制进去,并保存为xxx.bat,确保保存为ANSI编码格式。
  2. 以管理员身份运行:右键点击该文件,选择“以管理员身份运行”。
  3. 使用脚本:运行完成后,在任何文件夹中右键,即可选择“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,同时保持代理设置,从而解决访问国内资源的问题。

标签: none

评论已关闭