원클릭으로
enable-chrome-gemini-skill
在 macOS 上开启 Google Chrome 的 Gemini (Glic) 功能。提供"一行命令启动"和"永久激活"两种方案,支持环境自检与备份恢复。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
在 macOS 上开启 Google Chrome 的 Gemini (Glic) 功能。提供"一行命令启动"和"永久激活"两种方案,支持环境自检与备份恢复。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | enable-chrome-gemini-skill |
| description | 在 macOS 上开启 Google Chrome 的 Gemini (Glic) 功能。提供"一行命令启动"和"永久激活"两种方案,支持环境自检与备份恢复。 |
仅修改 browser.variations_country 不够。Glic (Gemini in Chrome) 激活需要同时修改 Local State 中的多个字段:
glic.launcher_enabled → True(最关键的开关)glic.multi_instance_enabled_by_tier → Truebrowser.variations_country → usvariations_country → us(与 browser.variations_country 是两个独立字段)variations_safe_seed_permanent_consistency_country → usvariations_safe_seed_session_consistency_country → usvariations_permanent_consistency_country → ['版本号', 'us'](数组格式)Chrome 每次启动会重置 variations_safe_seed_* 和 variations_country 字段为 cn,"永久激活"并不可靠。用 wrapper 脚本在启动前自动修改配置是最稳方案。
Local State 配置文件。适合希望每次正常打开 Chrome 都能看到 Gemini 的用户。cg)。检查 Chrome 版本、当前进程和 Local State 配置:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --version
ps aux | grep -i "Google Chrome" | grep -v grep | head -5
python3 -c "import json; d=json.load(open('$HOME/Library/Application Support/Google/Chrome/Local State')); print('glic:', d.get('glic',{})); print('country:', d.get('browser',{}).get('variations_country','N/A'))"
关闭所有 Chrome 窗口后执行:
open -n -a "Google Chrome" --args --variations-override-country=us --enable-features=Glic
如果临时方案生效且需要永久生效,修改 Local State:
# 路径
LOCAL_STATE="$HOME/Library/Application Support/Google/Chrome/Local State"
# 备份
cp "$LOCAL_STATE" "$LOCAL_STATE.backup.$(date +%Y%m%d_%H%M%S)"
用 Python 修改(必须关闭 Chrome 后执行):
import json, os
path = os.path.expanduser("~/Library/Application Support/Google/Chrome/Local State")
with open(path, 'r') as f:
data = json.load(f)
# 关键字段修改
if 'glic' not in data:
data['glic'] = {}
data['glic']['launcher_enabled'] = True
data['glic']['multi_instance_enabled_by_tier'] = True
data['browser']['variations_country'] = 'us'
data['variations_country'] = 'us'
data['variations_safe_seed_permanent_consistency_country'] = 'us'
data['variations_safe_seed_session_consistency_country'] = 'us'
if 'variations_permanent_consistency_country' in data:
data['variations_permanent_consistency_country'] = [data.get('variations_safe_seed_milestone', ''), 'us']
with open(path, 'w') as f:
json.dump(data, f, ensure_ascii=False, indent=2)
重新打开 Chrome 即可。
Chrome 每次启动重置 safe seed 字段,创建 wrapper 脚本 ~/bin/chrome-gemini:
#!/usr/bin/env bash
set -euo pipefail
LOCAL_STATE="$HOME/Library/Application Support/Google/Chrome/Local State"
if [ "${1:-}" = "check" ]; then
python3 -c "
import json
d = json.load(open('$LOCAL_STATE'))
glic = d.get('glic', {})
ok = glic.get('launcher_enabled') and d.get('browser',{}).get('variations_country') == 'us'
print('✅ Gemini 已激活' if ok else '❌ Gemini 未激活')
"
exit 0
fi
# 关闭 Chrome
if pgrep -x "Google Chrome" > /dev/null 2>&1; then
osascript -e 'quit app "Google Chrome"'
sleep 2
pgrep -x "Google Chrome" > /dev/null 2>&1 && killall "Google Chrome" 2>/dev/null || true
fi
# 修改配置
python3 -c "
import json
path = '$LOCAL_STATE'
with open(path, 'r') as f:
data = json.load(f)
if 'glic' not in data:
data['glic'] = {}
data['glic']['launcher_enabled'] = True
data['glic']['multi_instance_enabled_by_tier'] = True
data['browser']['variations_country'] = 'us'
data['variations_country'] = 'us'
data['variations_safe_seed_permanent_consistency_country'] = 'us'
data['variations_safe_seed_session_consistency_country'] = 'us'
if 'variations_permanent_consistency_country' in data:
data['variations_permanent_consistency_country'] = [data.get('variations_safe_seed_milestone', ''), 'us']
with open(path, 'w') as f:
json.dump(data, f, ensure_ascii=False, indent=2)
"
open -a "Google Chrome"
chmod +x ~/bin/chrome-gemini,确保 ~/bin 在 PATH 中。
Alfred 工作流是最佳方案,每次启动前自动修改配置。
run.sh(内容同 wrapper 脚本)info.plist(避免 XML 转义问题)cg,用 cg check 检查状态zip -r Chrome-Gemini.alfredworkflow info.plist.alfredworkflow 文件安装关键:必须用 plistlib 生成 plist,不能手写 XML。
import plistlib
with open('run.sh', 'r') as f:
script_content = f.read()
plist = {
'bundleid': 'com.macrochen.chrome-gemini',
'name': 'Chrome Gemini',
'objects': [
{
'config': {'argumenttype': 1, 'keyword': 'cg', 'text': 'Chrome Gemini', 'withspace': True},
'type': 'alfred.workflow.input.keyword',
'uid': 'DEADBEEF-0001-0001-0001-000000000001',
'version': 1
},
{
'config': {
'script': script_content, # 脚本内嵌
'scriptfile': '', # 留空
'scriptargtype': 1,
'type': 0, # bash
'concurrently': False,
'escaping': 0
},
'type': 'alfred.workflow.action.script',
'uid': 'DEADBEEF-0001-0001-0001-000000000002',
'version': 2
}
],
'connections': {
'DEADBEEF-0001-0001-0001-000000000001': [
{'destinationuid': 'DEADBEEF-0001-0001-0001-000000000002', 'modifiers': 0, 'modifiersubtext': '', 'vitoclose': False}
],
'DEADBEEF-0001-0001-0001-000000000002': []
},
'uidata': {
'DEADBEEF-0001-0001-0001-000000000001': {'xpos': 100, 'ypos': 200},
'DEADBEEF-0001-0001-0001-000000000002': {'xpos': 350, 'ypos': 200}
},
'userconfigurationconfig': [],
'variables': {},
'version': '1.0.0',
'description': 'Chrome Gemini 启动器',
'readme': '用法: cg → 启动, cg check → 检查状态',
'disabled': False,
'webaddress': '',
'category': 'Tools',
'createdby': 'macrochen'
}
with open('info.plist', 'wb') as f:
plistlib.dump(plist, f, sort_keys=True)
然后打包:zip -r Chrome-Gemini.alfredworkflow info.plist(不需要 run.sh)。
从备份恢复:
ls "$LOCAL_STATE".backup.* # 找到备份
cp "$LOCAL_STATE".backup.YYYYMMDD_HHMMSS "$LOCAL_STATE"
Chrome 每次启动会重置 variations_safe_seed_* 字段,需要启动前修改。Alfred 工作流是最佳方案。
必须用 Python plistlib 生成 plist,不能手写 XML。
常见错误:
>, &, " 等字符需要手动转义,极易出错scriptfile 外部脚本:Alfred 安装 .alfredworkflow 时不打包外部文件,脚本会变成默认模板正确方案:用 plistlib.dump() 生成 plist,脚本内嵌到 config.script 字段,scriptfile 留空。
alfred.workflow.input.keywordalfred.workflow.action.scripttype: 0,AppleScript type: 6scriptargtype: 1 = argv,2 = {query}vitoclose(不是 vitowards)userconfigurationconfig 空数组variables 空 dictcd workflow_dir
zip -r ~/Desktop/Chrome-Gemini.alfredworkflow info.plist
glic.launcher_enabled,需要重新修改variations_safe_seed_* 和 variations_country 字段,用 Alfred 工作流在启动前修改可解决browser.variations_country 和 variations_country 是两个独立字段,都需要改variations_permanent_consistency_country 是数组格式 ['版本号', 'us']