[{"data":1,"prerenderedAt":620},["ShallowReactive",2],{"post-zh-restore-chrome-ask-gemini-by-modifying-local-state":3,"surround-zh-blog\u002Fzh\u002Fblog\u002Frestore-chrome-ask-gemini-by-modifying-local-state.md":613},{"id":4,"title":5,"body":6,"canonical":170,"category":597,"date":598,"description":599,"extension":600,"image":601,"meta":602,"navigation":441,"path":603,"seo":604,"slug":605,"status":606,"stem":607,"tags":608,"translationSlug":605,"__hash__":612},"blog\u002Fzh\u002Fblog\u002Frestore-chrome-ask-gemini-by-modifying-local-state.md","找回 Chrome 消失的「Ask Gemini」：修改 Local State 避坑指南与底层机制",{"type":7,"value":8,"toc":586},"minimark",[9,18,38,41,46,53,60,93,99,103,121,127,143,146,151,154,164,219,229,240,244,249,268,271,315,319,325,379,413,416,517,521,524,565,568,571,582],[10,11,12,13,17],"p",{},"之前我在 Chrome 里一直能用地址栏右侧的「Ask Gemini」（AI 侧边栏助手）快速总结网页，但换了环境或重装浏览器后，这个入口经常莫名其妙彻底消失。去翻 ",[14,15,16],"code",{},"chrome:\u002F\u002Fflags"," 开启了相关选项，界面语言也换成了英文，依然找不回图标。",[10,19,20,21,29,30,33,34,37],{},"最终跑通的有效方案其实非常明确：",[22,23,24,25,28],"strong",{},"Chrome 是根据用户配置目录中的 ",[14,26,27],{},"Local State"," 文件记录的国家代码来做功能准入的","。只要把其中持久化的地区代码从 ",[14,31,32],{},"cn"," 修改为 ",[14,35,36],{},"us","，就能稳定找回入口。",[10,39,40],{},"但在实际操作里，90% 的人改完会发现“根本没生效”甚至“文件被 Chrome 自动改了回去”。这篇记录整理了背后的覆盖机制与一套不踩坑的实操步骤。",[42,43,45],"h2",{"id":44},"核心机制为什么界面切了英文依然没入口","核心机制：为什么界面切了英文依然没入口？",[10,47,48,49,52],{},"Chrome 内部对这套内置侧边栏 AI 助手的项目代号通常为 ",[14,50,51],{},"glic","（Gemini Live in Chrome）。",[10,54,55,56,59],{},"很多人的直觉反应是去设置里把语言改成 ",[14,57,58],{},"English (United States)","，或者挂上系统全局代理。但 Chrome 的地域判定并不完全依赖每次打开时的即时 IP，也不会因为 UI 语言改变而重置：",[61,62,63,70],"ol",{},[64,65,66,69],"li",{},[22,67,68],{},"Variations 机制锁定","：Chrome 使用一套实验与灰度策略服务（Google Variations）。每次连网同步后，会将推断出的所属国家代码固化在本地。",[64,71,72,75,76,78,79,82,83,86,87,89,90,92],{},[22,73,74],{},"Local State 持久化","：这个国家代码保存在全局配置 ",[14,77,27],{}," 中的 ",[14,80,81],{},"variations_country"," 与 ",[14,84,85],{},"variations_permanent_consistency_country"," 字段中。只要这里依然是 ",[14,88,32],{},"，即使网络和语言变了，客户端仍然判定当前设备处于非准入区域，自动屏蔽 ",[14,91,51],{}," 入口。",[94,95,96],"blockquote",{},[10,97,98],{},"说明：本文核心梳理 Chrome 客户端配置与 Google Variations 地域判定策略，操作前请确保理解配置文件回写时机。",[42,100,102],{"id":101},"最大的坑为什么你改完会被瞬间覆盖","最大的坑：为什么你改完会被瞬间覆盖？",[10,104,105,106,108,109,111,112,114,115,117,118,120],{},"很多朋友按网上教程打开 ",[14,107,27],{}," 文件，搜到 ",[14,110,32],{}," 改成 ",[14,113,36],{}," 并保存，结果重新打开 Chrome 还是没有图标；再回头打开文件一看，",[14,116,36],{}," 又被变回了 ",[14,119,32],{},"。",[10,122,123,126],{},[22,124,125],{},"根本原因在于 Chrome 的内存回写机制","：",[128,129,130,136],"ul",{},[64,131,132,133,120],{},"如果你是在 Chrome 还在运行（或者后台还有 Chrome Helper 辅助进程残留）时修改的文件，当你关闭 Chrome 时，Chrome 会将当前内存里驻留的旧状态直接 Dump 回磁盘，",[22,134,135],{},"瞬间把你刚刚改好的文件覆盖掉",[64,137,138,139,142],{},"因此，",[22,140,141],{},"“彻底杀掉 Chrome 进程”必须做在“打开文件修改”之前","，顺序不能倒。",[42,144,145],{"id":145},"完整实操步骤",[147,148,150],"h3",{"id":149},"第一步彻底退出-chrome-进程","第一步：彻底退出 Chrome 进程",[10,152,153],{},"不要只是点击窗口红叉或按最小化，必须确保进程全部退出。",[10,155,156,159,160,163],{},[22,157,158],{},"macOS 用户","：\n在 Dock 栏右键 Chrome 选择“退出”（快捷键 ",[14,161,162],{},"Cmd + Q","），或者直接在终端中验证退出：",[165,166,171],"pre",{"className":167,"code":168,"language":169,"meta":170,"style":170},"language-sh shiki shiki-themes github-light github-dark","osascript -e 'quit app \"Google Chrome\"'\n# 检查是否还有残留进程\npgrep -f \"Google Chrome\" || echo \"Chrome 已彻底退出\"\n","sh","",[14,172,173,190,197],{"__ignoreMap":170},[174,175,178,182,186],"span",{"class":176,"line":177},"line",1,[174,179,181],{"class":180},"sScJk","osascript",[174,183,185],{"class":184},"sj4cs"," -e",[174,187,189],{"class":188},"sZZnC"," 'quit app \"Google Chrome\"'\n",[174,191,193],{"class":176,"line":192},2,[174,194,196],{"class":195},"sJ8bj","# 检查是否还有残留进程\n",[174,198,200,203,206,209,213,216],{"class":176,"line":199},3,[174,201,202],{"class":180},"pgrep",[174,204,205],{"class":184}," -f",[174,207,208],{"class":188}," \"Google Chrome\"",[174,210,212],{"class":211},"szBVR"," ||",[174,214,215],{"class":184}," echo",[174,217,218],{"class":188}," \"Chrome 已彻底退出\"\n",[10,220,221,224,225,228],{},[22,222,223],{},"Windows 用户","：\n按 ",[14,226,227],{},"Ctrl + Shift + Esc"," 打开任务管理器，或者在 PowerShell 中强制结束残留进程：",[165,230,234],{"className":231,"code":232,"language":233,"meta":170,"style":170},"language-powershell shiki shiki-themes github-light github-dark","Stop-Process -Name chrome -Force -ErrorAction SilentlyContinue\n","powershell",[14,235,236],{"__ignoreMap":170},[174,237,238],{"class":176,"line":177},[174,239,232],{},[147,241,243],{"id":242},"第二步定位配置文件并先做备份","第二步：定位配置文件并先做备份",[10,245,246,248],{},[14,247,27],{}," 是一个 JSON 格式的全局配置文件。在修改任何配置前，务必先存一份备份副本。",[128,250,251,260],{},[64,252,253,256,257],{},[22,254,255],{},"macOS 路径","：\n",[14,258,259],{},"~\u002FLibrary\u002FApplication Support\u002FGoogle\u002FChrome\u002FLocal State",[64,261,262,256,265],{},[22,263,264],{},"Windows 路径",[14,266,267],{},"%LOCALAPPDATA%\\Google\\Chrome\\User Data\\Local State",[10,269,270],{},"在 macOS 终端中执行备份：",[165,272,274],{"className":167,"code":273,"language":169,"meta":170,"style":170},"LOCAL_STATE=\"$HOME\u002FLibrary\u002FApplication Support\u002FGoogle\u002FChrome\u002FLocal State\"\ncp \"$LOCAL_STATE\" \"${LOCAL_STATE}.bak\"\n",[14,275,276,294],{"__ignoreMap":170},[174,277,278,282,285,288,291],{"class":176,"line":177},[174,279,281],{"class":280},"sVt8B","LOCAL_STATE",[174,283,284],{"class":211},"=",[174,286,287],{"class":188},"\"",[174,289,290],{"class":280},"$HOME",[174,292,293],{"class":188},"\u002FLibrary\u002FApplication Support\u002FGoogle\u002FChrome\u002FLocal State\"\n",[174,295,296,299,302,305,307,310,312],{"class":176,"line":192},[174,297,298],{"class":180},"cp",[174,300,301],{"class":188}," \"",[174,303,304],{"class":280},"$LOCAL_STATE",[174,306,287],{"class":188},[174,308,309],{"class":188}," \"${",[174,311,281],{"class":280},[174,313,314],{"class":188},"}.bak\"\n",[147,316,318],{"id":317},"第三步修改关键地区键值","第三步：修改关键地区键值",[10,320,321,322,324],{},"使用 VS Code、Sublime Text 等纯文本编辑器打开 ",[14,323,27],{},"，搜索并修改以下三个键值：",[165,326,330],{"className":327,"code":328,"language":329,"meta":170,"style":170},"language-json shiki shiki-themes github-light github-dark","{\n  \"variations_country\": \"us\",\n  \"variations_permanent_consistency_country\": \"us\",\n  \"is_glic_eligible\": true\n}\n","json",[14,331,332,337,351,362,373],{"__ignoreMap":170},[174,333,334],{"class":176,"line":177},[174,335,336],{"class":280},"{\n",[174,338,339,342,345,348],{"class":176,"line":192},[174,340,341],{"class":184},"  \"variations_country\"",[174,343,344],{"class":280},": ",[174,346,347],{"class":188},"\"us\"",[174,349,350],{"class":280},",\n",[174,352,353,356,358,360],{"class":176,"line":199},[174,354,355],{"class":184},"  \"variations_permanent_consistency_country\"",[174,357,344],{"class":280},[174,359,347],{"class":188},[174,361,350],{"class":280},[174,363,365,368,370],{"class":176,"line":364},4,[174,366,367],{"class":184},"  \"is_glic_eligible\"",[174,369,344],{"class":280},[174,371,372],{"class":184},"true\n",[174,374,376],{"class":176,"line":375},5,[174,377,378],{"class":280},"}\n",[128,380,381,394,402],{},[64,382,383,384,387,388,391,392,120],{},"将 ",[14,385,386],{},"\"variations_country\""," 的值（原有可能是 ",[14,389,390],{},"\"cn\""," 或其它国家简写）改为 ",[14,393,347],{},[64,395,383,396,399,400,120],{},[14,397,398],{},"\"variations_permanent_consistency_country\""," 的值同样改为 ",[14,401,347],{},[64,403,404,405,408,409,412],{},"如果在你的版本中能搜到 ",[14,406,407],{},"\"is_glic_eligible\"","，将其改为 ",[14,410,411],{},"true","（若没有此字段，无需手动强加，保持原样即可）。",[10,414,415],{},"如果你习惯用命令行处理，在确认 Chrome 已关闭后，也可直接运行一段 Python 脚本就地安全替换：",[165,417,419],{"className":167,"code":418,"language":169,"meta":170,"style":170},"python3 -c '\nimport json, os\n\npath = os.path.expanduser(\"~\u002FLibrary\u002FApplication Support\u002FGoogle\u002FChrome\u002FLocal State\")\nwith open(path, \"r\", encoding=\"utf-8\") as f:\n    data = json.load(f)\n\ndata[\"variations_country\"] = \"us\"\ndata[\"variations_permanent_consistency_country\"] = \"us\"\nif \"is_glic_eligible\" in data:\n    data[\"is_glic_eligible\"] = True\n\nwith open(path, \"w\", encoding=\"utf-8\") as f:\n    json.dump(data, f, ensure_ascii=False)\nprint(\"Local State 更新成功\")\n'\n",[14,420,421,432,437,443,448,453,459,464,470,476,482,488,493,499,505,511],{"__ignoreMap":170},[174,422,423,426,429],{"class":176,"line":177},[174,424,425],{"class":180},"python3",[174,427,428],{"class":184}," -c",[174,430,431],{"class":188}," '\n",[174,433,434],{"class":176,"line":192},[174,435,436],{"class":188},"import json, os\n",[174,438,439],{"class":176,"line":199},[174,440,442],{"emptyLinePlaceholder":441},true,"\n",[174,444,445],{"class":176,"line":364},[174,446,447],{"class":188},"path = os.path.expanduser(\"~\u002FLibrary\u002FApplication Support\u002FGoogle\u002FChrome\u002FLocal State\")\n",[174,449,450],{"class":176,"line":375},[174,451,452],{"class":188},"with open(path, \"r\", encoding=\"utf-8\") as f:\n",[174,454,456],{"class":176,"line":455},6,[174,457,458],{"class":188},"    data = json.load(f)\n",[174,460,462],{"class":176,"line":461},7,[174,463,442],{"emptyLinePlaceholder":441},[174,465,467],{"class":176,"line":466},8,[174,468,469],{"class":188},"data[\"variations_country\"] = \"us\"\n",[174,471,473],{"class":176,"line":472},9,[174,474,475],{"class":188},"data[\"variations_permanent_consistency_country\"] = \"us\"\n",[174,477,479],{"class":176,"line":478},10,[174,480,481],{"class":188},"if \"is_glic_eligible\" in data:\n",[174,483,485],{"class":176,"line":484},11,[174,486,487],{"class":188},"    data[\"is_glic_eligible\"] = True\n",[174,489,491],{"class":176,"line":490},12,[174,492,442],{"emptyLinePlaceholder":441},[174,494,496],{"class":176,"line":495},13,[174,497,498],{"class":188},"with open(path, \"w\", encoding=\"utf-8\") as f:\n",[174,500,502],{"class":176,"line":501},14,[174,503,504],{"class":188},"    json.dump(data, f, ensure_ascii=False)\n",[174,506,508],{"class":176,"line":507},15,[174,509,510],{"class":188},"print(\"Local State 更新成功\")\n",[174,512,514],{"class":176,"line":513},16,[174,515,516],{"class":188},"'\n",[147,518,520],{"id":519},"第四步检查配套环境并启动","第四步：检查配套环境并启动",[10,522,523],{},"保存文件后重新打开 Chrome，还需要确认以下三点，防止后续又被 Google 策略服务重置：",[61,525,526,547,559],{},[64,527,528,531,532,535,536,538,539,542,543,546],{},[22,529,530],{},"Flags 实验开关","：在 Chrome 地址栏访问 ",[14,533,534],{},"chrome:\u002F\u002Fflags\u002F","，搜索 ",[14,537,51],{}," 或 ",[14,540,541],{},"gemini","，确保相关项处于 ",[14,544,545],{},"Enabled"," 状态并按要求 Relaunch。",[64,548,549,552,553,556,557,120],{},[22,550,551],{},"界面语言","：访问 ",[14,554,555],{},"chrome:\u002F\u002Fsettings\u002Flanguages","，将首选语言设置为 ",[14,558,58],{},[64,560,561,564],{},[22,562,563],{},"网络节点","：保持走美国（US）节点流量，避免开机或启动连接瞬间又向 Google 汇报非准入地域信息。",[10,566,567],{},"重启后，地址栏右侧或侧边栏工具条便会重新出现熟悉的 Gemini 图标。",[42,569,570],{"id":570},"适用边界",[128,572,573,576],{},[64,574,575],{},"这里的修改针对的是 Chrome 客户端层面的功能屏蔽。如果你的 Google 账号本身因合规设置或企业域政策限制无法使用 Gemini，仍需配合支持该功能的个人账号登录。",[64,577,578,579,581],{},"后续 Chrome 大版本升级时，如果 Google 重构了 Variations 键名结构，可能需要重新比对 ",[14,580,27],{}," 中最新的地区判定字段。",[583,584,585],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":170,"searchDepth":192,"depth":192,"links":587},[588,589,590,596],{"id":44,"depth":192,"text":45},{"id":101,"depth":192,"text":102},{"id":145,"depth":192,"text":145,"children":591},[592,593,594,595],{"id":149,"depth":199,"text":150},{"id":242,"depth":199,"text":243},{"id":317,"depth":199,"text":318},{"id":519,"depth":199,"text":520},{"id":570,"depth":192,"text":570},"coder","2026-11-05","详解 Chrome 内置侧边栏 Ask Gemini 入口消失的 Variations 地域锁定原理，规避进程回写覆盖的实操避坑方案，附 macOS 与 Windows 一键替换脚本。","md",null,{},"\u002Fzh\u002Fblog\u002Frestore-chrome-ask-gemini-by-modifying-local-state",{"title":5,"description":599},"restore-chrome-ask-gemini-by-modifying-local-state","publish","zh\u002Fblog\u002Frestore-chrome-ask-gemini-by-modifying-local-state",[609,610,51,611],"Chrome","Gemini","Browser Tricks","dK12qTt6Ng3o_f-UKYNISThCeowCGA6SUXbXnGZDCrE",[601,614],{"title":615,"path":616,"stem":617,"slug":618,"date":619,"children":-1},"告别“先用 Mac Preview”：Antigravity 2.28.0 上线内置 PDF 查看器与内置浏览器","\u002Fzh\u002Fblog\u002Fantigravity-2-28-0-builtin-pdf-viewer-browser","zh\u002Fblog\u002Fantigravity-2-28-0-builtin-pdf-viewer-browser","antigravity-2-28-0-builtin-pdf-viewer-browser","2026-10-28",1793891960425]