Internal Reference

Chrome Glic 顯示判定研究

這是一份給內部團隊的案例文件,用來說明:當功能原本能用、後來卻不顯示時,如何從系統角度研究顯示判定邏輯,並把結果沉澱成可重複使用的備份、還原與報告工具。

資源包下載

本案例的最小參考資料包已整理成 ZIP,內容包含對外閱讀用文件、Mac / Windows 參考說明,以及安全的備份與檢查工具。

這個資源包適合用於內部教學、團隊交接、範例學習與跨平台遷移學習,不包含個人 Chrome profile 原始備份資料。

下載 Google Drive 資源包

1. 背景與研究動機

這次的出發點不是為了追求一次性的畫面恢復,而是因為出現了一個很值得研究的現象:美國朋友先前可以正常使用 Chrome Gemini / Glic 相關功能,但同樣的使用情境到了台灣後,功能入口消失或無法顯示。雖然台灣後來已經開放相關能力,但開放不代表每一位使用者、每一個 Profile、每一台裝置都會立即可用。

Force 因此把這個案例整理成一個 AI 人機協作示範:用真實問題當案例,用 AI 協作拆解系統層次,用範例學習整理可觀察參數,再用遷移學習把 Mac 經驗延伸到 Windows / Win365,最後把結果整理成文件、工具與可交接的 zip 壓縮包。

真正要研究的不是「功能有沒有存在」,而是「系統根據哪些狀態決定要不要顯示它」。

2. 專案定位

這不是「找一個神奇參數」的故事,而是「把一個真實問題轉成可教學、可遷移、可重複驗證的系統研究流程」。

  1. 對初學者:學會看系統層次,而不是只找單一開關。
  2. 對團隊:學會用 AI 協作建立可交接資產。
  3. 對工程實務:學會先備份、再觀察、再比較、最後才決定是否修改。

3. 研究問題怎麼定義

把問題定義好,比直接動手更重要。這次我們不是直接問「怎麼把畫面叫出來」,而是把問題拆成三個研究問題:

  1. Chrome 的哪一層狀態在影響 Glic 顯示?
  2. 哪些狀態是全域的,哪些是 Profile 專屬的?
  3. 哪些流程值得自動化,讓團隊之後可以重複使用?

4. 系統分層觀點

全域狀態層 Local State
Profile 層 Preferences
顯示控制層 Experiments / Eligibility

這三層一起看,才比較接近真實系統,而不是只看單一欄位。

5. 這次觀察的關鍵狀態

這些欄位的重點不在於背下來,而在於理解它們代表的是不同層次的判定訊號。

6. 技術細節補充

以下內容是這次排查中整理出的技術線索,適合給需要更深入理解的內部同仁參考。它們代表的是本次本機觀察與除錯推論,而不是產品官方保證。

地區判定三位一體:Local State 中,variations_countryvariations_safe_seed_permanent_consistency_countryvariations_safe_seed_session_consistency_country 應被視為一組一致性訊號,而不是三個彼此獨立的欄位。從研究角度來看,真正有意義的是它們是否彼此一致。

全域資格與 Profile 資格: glic.is_glic_eligibleglic.launcher_enabled 比較像全域層條件;而 profile.info_cache 中每個 Profile 的 is_glic_eligible,則更像是帳號 / Profile 層條件。這次案例中,不同 Profile 的值並不一致,這很值得團隊記住。

Labs 狀態觀察: 即使 chrome://flags 不一定看得到所有名稱,browser.enabled_labs_experiments 仍然能作為本機實驗狀態的比對基準。它不是唯一真相,但非常適合作為本機側的線索來源。

殘留 UI 訊號:in_product_help.new_badge.Glicoptimization_guide.previously_registered_optimization_types 這類欄位,值得拿來判斷功能是否曾經進入初始化或註冊流程。如果這些痕跡存在,但畫面沒出來,代表問題可能落在更後段的顯示條件。

為什麼要用結構化解析: Local State 往往是大型單行 JSON,還夾帶種子、簽章與模型資料。這使得傳統文字搜尋只適合粗查,不適合當作可靠分析方式。因此本次排查較多使用 Python 做結構化解析與精準輸出。

系統設定只講概念: 作業系統語言、作業系統地區、Chrome app language、Profile language 與啟動環境都屬於外部訊號。內部文件不需要寫成逐步修改系統設定的教學,但需要保留可觀察參數,方便團隊做 before / after 比對。

Local State:
variations_country
variations_safe_seed_permanent_consistency_country
variations_safe_seed_session_consistency_country
variations_safe_seed_locale
variations_safe_seed_milestone
variations_seed_milestone
variations_sticky_studies
glic
glic.is_glic_eligible
glic.launcher_enabled
profile.last_used
profile.last_active_profiles
profile.info_cache.<profile>.name
profile.info_cache.<profile>.user_name
profile.info_cache.<profile>.is_glic_eligible
browser.enabled_labs_experiments

Profile Preferences:
intl.accept_languages
intl.selected_languages
spellcheck.dictionaries
browser.gemini_settings
glic.completed_fre
glic.pinned_to_tabstrip
glic.launcher_enabled
glic.tab_context_enabled
glic.default_tab_context_enabled
glic.keep_sidepanel_open_on_new_tabs_enabled
glic.user_status
in_product_help.new_badge.Glic
optimization_guide
optimization_guide.previously_registered_optimization_types

System / launch observation:
Global AppleLanguages
Global AppleLocale
com.google.Chrome AppleLanguages
com.google.Chrome AppleLocale
Windows culture
Windows UI culture
Windows home location
Windows language list
Chrome executable path
Chrome version
Chrome running process list
--profile-directory
--lang
--accept-lang
--variations-override-country
--enable-features
--disable-features
--glic-dev

7. 工具如何分工

Antigravity 解析與參數研究
Codex 自動化、備份、還原、文件化

Antigravity 較適合快速解析目前狀態與驗證哪些參數值得關注。Codex 較適合把這些發現整理成工程化流程,例如備份腳本、還原腳本、報告輸出與內部教學文件。

還有一個很實際的原因:當設定檔是大型單行 JSON 時,真正有效率的不是手動搜尋,而是讓擅長結構化解析的工具處理,再由擅長工程化的工具把結果沉澱成腳本與文件。

8. 實際流程

  1. 先確定研究目標是「理解顯示判定」,不是只追求一次性的操作。
  2. 盤點關鍵檔案:Local StateLocal State.bakProfile 11/Preferences
  3. 觀察全域狀態、Profile 狀態、labs / experiments、地區一致性欄位與 eligibility 欄位。
  4. 把一次性操作沉澱成可重複的備份與還原工具。
  5. 把結果輸出成 ZIP、Markdown、HTML,讓資訊可交接、可教學。

更細一點來看,第三步其實是在回答三個問題:地區一致性是否對得起來、全域資格與 Profile 資格是否一致、功能是完全沒載入還是已載入但被最後的顯示條件擋下。

9. Codex 產出的程式與資產

這次不是只留下操作紀錄,而是留下可重用資產:

/Users/force/AI-CodeX/Agent_news/gemini_chrome/tools/backup_chrome_settings.command
/Users/force/AI-CodeX/Agent_news/gemini_chrome/tools/restore_chrome_settings.command

10. 自動化設計重點

備份腳本的價值 不只是把檔案複製出來,而是把當下狀態封裝成完整研究快照:包含 snapshot、ZIP、Markdown / HTML 報告與 log。

安全還原機制 則體現了防禦式設計。還原前先建立 safety backup,代表即使選錯備份或還原後要回頭,也還有補救空間。在會覆蓋真實資料的流程裡,這種「先保護、再操作」的思維非常值得團隊保留。

11. 兩個很值得教學的實務問題

問題一: macOS 預設 Bash 太舊,不支援 mapfile。這提醒我們腳本相容性本身就是產品品質的一部分。

問題二: 還原流程需要一致性。即使只有一個備份,也仍然要顯示編號選單,這樣在少量與大量備份時,操作體驗才會一致。

12. 這個案例最值得團隊學的三件事

  1. 先問系統如何判定,再談如何處理結果。
  2. 研究不是終點,能否沉澱成工具與文件才是真正價值。
  3. 工具分工比工具崇拜重要。不同 AI 工具應該用在不同階段。

13. 可直接放進簡報的一句話

這次案例不是在追求單次修復,而是在研究 Chrome 以哪些本機狀態來判定 Glic 是否顯示,並把研究流程沉澱成可重複的備份、還原與報告工具。