An open API service indexing awesome lists of open source software.

https://github.com/itamaker/go-chrome-ai

Cross-platform Go tool to patch Chrome Local State and enable Ask Gemini and other Chrome AI features, with both CLI and GUI.
https://github.com/itamaker/go-chrome-ai

ask-gemini chrome chrome-ai chrome-profile cli golang google-chrome gui

Last synced: 3 months ago
JSON representation

Cross-platform Go tool to patch Chrome Local State and enable Ask Gemini and other Chrome AI features, with both CLI and GUI.

Awesome Lists containing this project

README

          

# go-chrome-ai

[![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg?style=flat-square)](#contributors-)

English | [中文](docs/README.zh.md)

`go-chrome-ai` is a cross-platform Chrome profile patcher written in Go, with both **CLI** and **GUI** modes.
It helps enable Chrome AI-related features, including **Ask Gemini**, without reinstalling Chrome or recreating your profile.

![go-chrome-ai social preview](docs/images/social-preview.png)

## Support

[![Buy Me A Coffee](https://img.shields.io/badge/Buy%20Me%20A%20Coffee-FFDD00?style=for-the-badge&logo=buy-me-a-coffee&logoColor=black)](https://buymeacoffee.com/amaker)

## Quickstart

### Install

```bash
brew install --cask itamaker/tap/go-chrome-ai
```

```bash
curl -fsSL https://raw.githubusercontent.com/itamaker/go-chrome-ai/main/scripts/install.sh | sh
```

You can also download binaries from GitHub Releases.

Current release archives:

- macOS (Apple Silicon/arm64): `go-chrome-ai_1.0.5_darwin_arm64.tar.gz`
- macOS (Intel/x86_64): `go-chrome-ai_1.0.5_darwin_amd64.tar.gz`
- Linux (arm64): `go-chrome-ai_1.0.5_linux_arm64.tar.gz`
- Linux (x86_64): `go-chrome-ai_1.0.5_linux_amd64.tar.gz`
- Windows (arm64): `go-chrome-ai_1.0.5_windows_arm64.zip`
- Windows (x86_64): `go-chrome-ai_1.0.5_windows_amd64.zip`

Each archive contains a single executable: `go-chrome-ai`.
The macOS archives include the GUI-capable binary. Linux and Windows releases ship the CLI binary for portable installs.

### First Run

Run:

```bash
go-chrome-ai # CLI mode on every release
go-chrome-ai gui # GUI mode on macOS release builds or source builds
```

On some macOS systems, Gatekeeper may block first launch for downloaded binaries. If that happens, run:

```bash
xattr -d com.apple.quarantine $(which go-chrome-ai)
```

Typical warning:

> Apple could not verify “go-chrome-ai” is free of malware that may harm your Mac or compromise your privacy.

It enables Chrome AI-related features (such as **Ask Gemini**) by patching local profile state:

- `is_glic_eligible` (recursive) -> `true`
- `variations_country` -> `"us"`
- `variations_permanent_consistency_country` -> `["", "us"]` (if field exists and is patchable)

## Screenshot

![go-chrome-ai GUI](docs/images/go-chrome-ai-gui.png)

## Requirements

- Go `1.26+`
- Google Chrome installed (Stable / Canary / Dev / Beta)

## Run CLI

```bash
go run ./cmd/go-chrome-ai
```

Flags:

- `-dry-run`: show changes without writing files or killing Chrome
- `-no-restart`: patch but do not restart Chrome

## Run GUI

```bash
go run ./cmd/go-chrome-ai gui
```

Prebuilt Linux and Windows releases are CLI-only. Build from source if you want the Fyne GUI on those platforms.

The GUI includes:

- auto-detection of installed Chrome channels
- one-click patch flow
- progress bar
- real-time logs

## Build From Source

```bash
make build
```

```bash
go build -o output/go-chrome-ai ./cmd/go-chrome-ai
```

Makefile:

- `make build`
- `make release-check` to validate `.goreleaser.yaml`
- `make snapshot` to build GoReleaser release assets into `dist/`

Local build output is written to `output/`. GoReleaser packaging output is written to `dist/`.

Installed binary usage:

```bash
go-chrome-ai # CLI mode on every release
go-chrome-ai gui # GUI mode on macOS release builds or source builds
```

## What It Does

1. Detects Chrome user-data directories per OS/channel.
2. Stops running Chrome processes to avoid file locks.
3. Patches `Local State`.
4. Restarts previously running Chrome executables (unless disabled).

## Notes

- Back up Chrome `User Data` if you want a safety net.
- Run with the same OS user that owns the Chrome profile.
- Not affiliated with Google. Use at your own risk.

## Acknowledgements

[![Built with OpenAI Codex](https://img.shields.io/badge/Built%20with-OpenAI%20Codex-10A37F?style=for-the-badge&logo=openai&logoColor=white)](https://chatgpt.com/codex)

Special thanks to **OpenAI Codex** for assisting with parts of the implementation of this project.

## Contributors ✨

| [![Zhaoyang Jia][avatar-zhaoyang]][author-zhaoyang] |
| --- |
| [Zhaoyang Jia][author-zhaoyang] |

[author-zhaoyang]: https://github.com/itamaker
[avatar-zhaoyang]: https://images.weserv.nl/?url=https://github.com/itamaker.png&h=120&w=120&fit=cover&mask=circle&maxage=7d

## License

[MIT](LICENSE)