b8f30dcc9f5f81d21e9f24e21e1bd644f9a302bc
- ConvertFrom-Json 不支持 -Depth 参数(该参数只存在于 ConvertTo-Json), 5.1 下三处调用会直接报错终止,已实测复现并修复。 - 文件缺少 UTF-8 BOM,导致 5.1 用 -File 加载脚本时按系统代码页误读 中文/emoji 字符串,解析失败;PS7 默认按 UTF-8 解析不受影响。已加 BOM 修复。 已在本机 PowerShell 5.1 和 PowerShell 7 上分别实测通过(脚本解析 + test-fixtures 三种 profile 场景的 JSON 读写逻辑 + 幂等性)。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XBPAN7bzFphM8eMDwACmxs
Gemini in Chrome
Fork 自:appsail/Gemini-in-Chrome(MIT License)
一键脚本,用于强制启用 Chrome 内置的 Gemini AI 功能(绕过非美区的资格限制)。
基于上述原项目重写,修复了原脚本"字段不存在时静默不生效"的问题,改为 JSON 感知读写
(jq 优先,装不上时自动降级为 sed+awk 零依赖兜底方案),并支持同一台机器上的
多个 Chrome 账号(profile)。
快速开始
macOS / Linux
curl -fsSL https://gitea.rk-health.com/jiangshunzhi/Gemini-in-Chrome/raw/branch/main/install.sh | bash
Windows
打开 PowerShell 执行:
irm https://gitea.rk-health.com/jiangshunzhi/Gemini-in-Chrome/raw/branch/main/install.ps1 | iex
脚本做了什么
- ✅ 检查 Chrome 是否在运行(在运行的话会提示你先完全退出——Local State 会在 Chrome 退出时被覆写,不退出改了也白改)
- 💾 备份原配置文件(
Local State.bak) - 🔧 修补以下字段(存在则替换、不存在则插入,而不是原脚本那种"只替换已存在字段"的逻辑):
- 顶层
variations_country→"us" - 顶层
variations_permanent_consistency_country→[当前 Chrome 版本号, "us"] profile.info_cache下每一个 profile 的is_glic_eligible→true(不只是已存在该字段的那个)
- 顶层
- ✓ 写回前后都做合法性校验,
sed+awk兜底路径下用括号配平检查兜底;校验不过就自动放弃改动,不会覆盖原文件 - ✓ 汇报本次实际用的是
jq路径还是sed+awk兜底路径,以及各字段是否生效
还原原始配置
macOS:
mv ~/Library/Application\ Support/Google/Chrome/Local\ State.bak \
~/Library/Application\ Support/Google/Chrome/Local\ State
Linux:
mv ~/.config/google-chrome/Local\ State.bak \
~/.config/google-chrome/Local\ State
Windows PowerShell:
Move-Item -Path "$env:LOCALAPPDATA\Google\Chrome\User Data\Local State.bak" `
-Destination "$env:LOCALAPPDATA\Google\Chrome\User Data\Local State" -Force
安全性
- 改动前一定会先备份原配置
- 只改本地 Chrome 配置,不上传任何数据、不访问网络(除了下载脚本本身,以及
jq缺失时按需自动安装) - 改动前后都做合法性校验,写坏了会自动回滚、不覆盖原文件
- 随时可还原
- 非官方脚本,仅供个人研究/自用,风险自负
jq 依赖说明
macOS 上如果检测到 jq 就直接用;没有的话,检测到 Homebrew 会尝试 brew install jq,
没有 Homebrew 就直接走零依赖兜底,不会替你装 Homebrew。
Linux 上会按顺序探测 apt-get/dnf/yum/pacman/apk 并尝试自动安装(可能会弹 sudo
密码提示);装不上(比如设备网络受限)同样自动降级为 sed+awk 方案。
install.ps1(Windows)用 PowerShell 原生的 ConvertFrom-Json/ConvertTo-Json,本身就不
依赖 jq。
配置文件路径
| 系统 | 路径 |
|---|---|
| macOS | ~/Library/Application Support/Google/Chrome/Local State |
| Linux | ~/.config/google-chrome/Local State |
| Windows | %LOCALAPPDATA%\Google\Chrome\User Data\Local State |
测试
test-fixtures/ 下有一份完全人工构造(非真实账号脱敏)的多 profile 测试样本,
覆盖了"字段缺失 / 已是 false / 已是 true"三种场景,用法见该目录下的 README。
License
MIT,见 LICENSE。基于 appsail/Gemini-in-Chrome 重写。
Languages
Shell
69.8%
PowerShell
30.2%