1. 项目定位与用途
Enable Chrome AI 是一个专为 Google Chrome 用户设计的 Python 命令行工具,用于启用浏览器内置的 AI 功能。这些功能包括 Google Gemini 聊天机器人、基于 AI 的历史搜索(AI Powered History Search)以及 DevTools 中的 AI 创新工具。项目的主要用途是让用户无需经历繁琐的重装浏览器或清除个人数据的过程,即可快速激活这些通常受地区或策略限制的高级功能。工具通过直接修改 Chrome 用户配置目录中的 'Local State' 文件来实现,操作简单且可逆,为用户提供了一种低风险的体验方式。
2. 解决的问题
Chrome 浏览器内置的 AI 功能(如 Gemini)通常受到地区策略、版本限制或配置检查的约束,普通用户可能无法直接使用。传统解决方法需要清理用户数据、重新安装浏览器或使用复杂的命令行标志,这不仅耗时还存在数据丢失风险。本项目通过精准修改 'Local State' 配置文件中的关键字段(is_glic_eligible、variations_country、variations_permanent_consistency_country),绕过这些限制,实现一键启用。同时,工具内置进程管理机制,避免文件锁定问题,确保修改过程安全可靠,解决了用户在不影响现有浏览器配置的前提下体验新功能的痛点。
3. 适用场景
该工具主要适用于以下场景:普通 Chrome 用户希望体验 Gemini 等 AI 功能,但所在地区或浏览器版本未开放访问;频繁使用浏览器历史记录的用户,希望利用 AI 驱动的历史搜索快速定位内容;Web 开发者需要试用 DevTools 中的 AI 辅助调试、代码生成等创新功能;技术爱好者希望在稳定版 Chrome 中提前体验通常仅限金丝雀版提供的 AI 特性;任何不愿承担重装浏览器或清除数据风险,但又想激活 Chrome AI 功能的用户。工具支持 Stable、Canary、Dev 和 Beta 四个主要 Chrome 版本,覆盖绝大多数用户群体。
4. 安装方式
根据仓库信息,安装过程分为依赖安装和工具运行两部分。推荐使用 uv 包管理器(需先安装):在项目目录执行 `uv sync` 自动创建虚拟环境并安装所有依赖(包括 psutil>=7.1.3),然后通过 `uv run main.py` 运行工具。或使用标准 pip:手动创建并激活 Python 虚拟环境,运行 `python -m pip install psutil` 安装依赖,再执行 `python main.py`。系统要求:Python 3.13 或更高版本(由 pyproject.toml 约束),以及已安装的 Google Chrome(稳定版/金丝雀版/开发版/测试版)。注意,工具会直接写入现有 Chrome 用户数据目录,建议提前备份 'User Data' 文件夹作为安全措施。
5. 使用方式
使用流程完全自动化:运行脚本后,工具会首先检测当前操作系统(Windows/macOS/Linux)并定位已安装的 Chrome 版本及其对应的用户数据路径。接着,它会使用 psutil 库识别并终止所有顶层 Chrome 进程以避免文件锁定,同时记录这些进程的可执行路径以便后续重启。随后,工具递归搜索并修改 'Local State' 文件:将所有 is_glic_eligible 字段设为 true,将 variations_country 设为 'us',并将 variations_permanent_consistency_country 设置为 [版本号, 'us']。修改完成后,工具会自动重启之前关闭的 Chrome 版本。Chrome 重启后,用户需按回车键完成流程。此时,Chrome 的 AI 功能应已激活。注意:若 'User Data/Local State' 文件不存在(首次启动 Chrome 前),脚本可能失败,建议先启动一次 Chrome 生成该文件。
6. 补充说明与实现特点
项目实现具有以下技术特点:跨平台兼容:通过 sys.platform 检测系统类型,并适配各系统下 Chrome 的标准用户数据目录路径(如 Windows 的 AppData、macOS 的 Library/Application Support、Linux 的 .config)。进程安全管理:在 macOS 上基于进程名(Google Chrome*)识别,Linux 上基于可执行文件名(chrome),并排除子进程,仅终止顶层浏览器进程,减少误杀风险。配置递归修改:'Local State' 文件可能包含嵌套结构,工具会递归遍历并更新所有匹配的 is_glic_eligible 字段,确保修改彻底。无浏览器标志依赖:不同于通过命令行标志启用实验性功能的方法,本工具直接修改持久化配置,效果在浏览器重启后依然保持。最小权限原则:脚本以当前 OS 用户身份运行,确保对用户数据目录有正确的读写权限,避免权限问题。开源许可:项目采用宽松许可,要求在使用时注明出处。