README file from
GithubObsidian Antigravity
An Obsidian plugin that connects your vault to Google Antigravity's agy CLI, letting an agent read, reorganize, and maintain your notes.
Rather than wrapping Antigravity in a chat interface, this plugin exposes it as discrete vault tasks and an optional embedded web view. It builds on Antigravity's agentic filesystem access instead of a multi-provider chat framework.
English | 简体中文

Requirements
- Desktop only. The plugin spawns
agyas a child process, so it cannot run on mobile. - The
agyCLI must be installed and authenticated. The plugin does not bundle or install it. Configure the binary path in settings if it is not in a standard location.
Installation
From the community plugins browser
Search for "Antigravity" under Settings → Community plugins → Browse, then install and enable it.
If it does not appear there yet, use a manual install instead.
Manual install
- Download
main.js,manifest.json, andstyles.cssfrom the latest release. - Create the folder
<your-vault>/.obsidian/plugins/antigravity/. - Place the three files inside it.
- In Obsidian, enable the plugin under Settings → Community plugins.
From source
git clone https://github.com/kyc/obsidian-antigravity.git
cd obsidian-antigravity
npm install
npm run build
npm run build writes the bundle to main.js in the repository root. Setting OBSIDIAN_PLUGIN_PATH additionally mirrors the three plugin files into that directory, which is useful for testing against a live vault. The sync is skipped when the variable is unset, and a failed copy warns without failing the build.
Features
- Discrete vault tasks — Run refactoring, link auditing, frontmatter cleanup, and MOC generation from the command palette, without a conversational UI.
- Embedded web hub — Optionally open a tab running
agy --hub, giving you the full Antigravity web UI (streaming thinking blocks, tool cards, multi-agent artifacts) inside Obsidian. - Vault context awareness — The active note path, editor selection, or containing folder is extracted and passed to the agent automatically.
- Status bar control — A live status indicator with a spinner, click to cancel a running task.
- Vault rules — An
AGENTS.mdfile is created and injected so the agent follows Obsidian conventions such as[[wikilinks]]and YAML frontmatter. - Permission gating — Tasks run in restricted approval mode by default, and the assistant web hub passes no permission bypass to its daemon. Unrestricted autonomous execution is gated behind a setting, a separate confirmation for each of the two paths (one-off tasks, and hub sessions), and a persistent risk banner on results.
Commands
All commands are available from the command palette and can be bound to hotkeys. Names follow Obsidian's sentence case convention.
| Command | ID | Description |
|---|---|---|
| Open assistant web hub view | open-hub |
Opens the embedded webview tab running the Antigravity web hub. |
| Run task on active context | run-task |
Opens the task dialog with a context badge (selection / note / vault) and action presets. |
| Fix wikilinks in active note | fix-links |
Audits wikilinks, fixes broken ones, and suggests links for unlinked references. |
| Audit and clean frontmatter in active note | audit-frontmatter |
Validates and standardizes YAML tags, aliases, and metadata without removing custom fields. |
| Build map of content (MOC) for current folder | build-folder-moc |
Scans the folder and creates or updates a _MOC.md index note. |
| Stop current task | stop-task |
Cancels the running agy process. |
The ribbon icon opens the hub. Right-click it, or hold Alt while clicking, for a menu with the task and stop actions instead.
Configuration
Found under Settings → Antigravity.
Language — Interface language. Options are auto (follows Obsidian), English, Simplified Chinese, and Traditional Chinese.
Antigravity binary path — Location of the agy executable. When empty, the plugin searches ~/.local/bin, /usr/local/bin, /usr/bin, and your PATH. The Verify binary button runs agy --version to confirm the plugin can execute it.
Default model — Model ID passed to agy. Run agy models to list the IDs your account can use. The dropdown offers gemini-3.8-flash-high, gemini-3.8-flash-medium, gemini-3.8-flash-low, gemini-3.7-flash-high, gemini-3.7-flash-medium, gemini-3.7-flash-low, gemini-3.6-flash-high, gemini-3.6-flash-medium, gemini-3.6-flash-low, gemini-3.1-pro-high, gemini-3.1-pro-low, claude-sonnet-4-6, claude-opus-4-6-thinking, and gpt-oss-120b-medium.
Reasoning intensity is part of the model ID itself. agy rejects a --model carrying an -high / -medium / -low suffix when --effort is also supplied ("conflicts with --effort"), so the plugin sets the level through the model choice alone and never passes --effort.
Default agent — Agent persona passed via --agent. Defaults to omarchy-vault.
Assistant hub
- Hub profile name — Data directory under
~/.gemini/, defaultantigravity-obsidian. This isolates the hub's conversations and projects from your Antigravity IDE and standalone CLI sessions. - Hub port — Port for the local hub HTTP server.
0picks a free port dynamically. - Auto-start hub server — Start the hub daemon when Obsidian loads.
Vault rules
- Maintain vault rules file — Create and inject a rules file describing Obsidian conventions.
- Vault rules relative path — Path relative to the vault root, default
AGENTS.md. Paths resolving outside the vault fall back toAGENTS.md.
Vault tasks & security
- Allow unrestricted tasks — Passes
--dangerously-skip-permissionsto auto-approve tool execution. Applies to both paths: background tasks (agy --print, headless) and the assistant web hub daemon (agy --hub, an interactive session). Each path asks for its own confirmation the first time it runs unrestricted. While disabled, dangerous operations are blocked in headless mode and reported asdenied_actions. Note that toggling this setting restarts the hub daemon on the next open, which ends the current hub conversation.

Security & privacy
- Desktop only — Node.js child processes are required, declared as
"isDesktopOnly": trueinmanifest.json. - Profile isolation — The hub daemon runs with
--app_data_dir=antigravity-obsidian, so it cannot lock the database or collide with sessions in your primary Antigravity IDE. - Access to
~/.gemini/— To bootstrap the Antigravity web UI without a second interactive login, the plugin reads~/.gemini/to copy OAuth credentials (written with0600permissions) and to register a workspace JSON link for your vault. - No external network requests — The plugin makes no outbound requests of its own. Its only HTTP call is a loopback health check against
127.0.0.1to detect when the local hub is listening. All model traffic is handled by theagyprocess. - Path validation — Profile names and rules paths are sanitized against traversal (
../). Context paths embedded in prompts are resolved and confined to the vault. - Task permissions — Tasks are restricted by default. The plugin does not silently auto-approve tool use.
Development
npm run dev # Watch mode with automatic rebuild
npm run build # Production bundle to main.js and sync to vault
npm run typecheck # Verify TypeScript types
npm test # Run the Jest unit test suite (9 suites, 118 tests)
npm run lint # Lint source files with eslint-plugin-obsidianmd
The full validation pipeline, also run by CI on every push and pull request:
npm run typecheck && npm test && npm run build && npm run lint
Unit tests mirror src/ under tests/unit/. See CONTRIBUTING.md for commit conventions and code standards.
Additional documentation: