Automate tasks, navigate websites, and complete workflows — powered by the AI model you choose.
Harbor is a Chrome extension that runs AI agents inside your browser. Instead of only answering questions, Harbor can control your browser to complete tasks end-to-end.
Tell Harbor what you want to do and it will:
- understand what's on the page (visual + DOM),
- decide the next action,
- click/type/navigate as needed,
- extract and summarize results,
- and keep going until the workflow is complete.
Note
Harbor is open-source and built with a privacy-first mindset. You choose the AI model/provider you want to use.
- Real browser automation (tabs, navigation, downloads, clipboard, and more)
- Visual perception via screenshots of your active tab
- DOM intelligence for structured page understanding and dynamic layouts
- Smart form handling (detects inputs and fills correctly)
- Self-healing retries when elements change
- Real-time streaming so you can see progress as the agent works
- Optional context persistence (memory)
- Provider switching in settings
- Command Center (default: Ctrl+K)
- Custom profiles for different workflows
- No telemetry / no usage analytics (open-source for auditing)
- Encrypted API key storage (stored on your machine)
- Granular permissions: you decide what the agent can access
Before you begin, ensure you have:
- Node.js 18.0+ — Download here
- Check:
node --version
- Check:
- npm 9.0+ — Comes with Node.js
- Check:
npm --version
- Check:
- Git — Download here
- Check:
git --version
- Check:
- Chrome, Brave, Edge, or any Chromium-based browser
Install Node.js by OS
- Go to nodejs.org
- Download the LTS version
- Run the installer, accept defaults, click Install
- Restart your computer
- Open PowerShell and verify:
node --version
# Option 1: Using Homebrew (easiest)
brew install node
# Option 2: Download from nodejs.org
# Download LTS, run the installer, follow prompts
# Verify:
node --version# Ubuntu/Debian
sudo apt-get update
sudo apt-get install nodejs npm
# Fedora/CentOS
sudo dnf install nodejs npm
# Arch
sudo pacman -S nodejs npm
# Verify:
node --versionAll Platforms (Windows, macOS, Linux):
git clone https://github.com/owenawsong/Harbor-Extension.git
cd Harbor-Extension
npm install
npm run buildThese commands work identically on:
- Windows (PowerShell or Git Bash)
- macOS (Terminal)
- Linux (Terminal/bash)
What happens:
git clone...downloads Harbor into a newHarbor-Extensionfoldercd Harbor-Extensionenters that foldernpm installinstalls all dependencies (takes 1-2 minutes)npm run buildcreates thedist/folder your browser will load
Verification: You should see a dist/ folder created in the Harbor-Extension directory.
- Download the latest release ZIP from Releases
- Extract it to your desired location
- Skip to Step 2 below
Harbor works on Chrome, Brave, Edge, and any Chromium-based browser.
- Open
chrome://extensions/in your address bar - Toggle Developer Mode ON (top right)
- Click Load unpacked
- Select your
Harbor-Extension/dist/folder - The ⛵ Harbor extension appears in your extensions menu
📌 Pinning Harbor to Your Toolbar (Optional but Recommended):
- Click the puzzle icon 🧩 in your toolbar
- Find Harbor in the list
- Click the pin icon next to it
- Harbor will now appear directly in your toolbar for easy access
- Open
brave://extensions/ - Toggle Developer Mode ON (top right)
- Click Load unpacked
- Select your
Harbor-Extension/dist/folder - The Harbor extension appears in your toolbar
- Open
edge://extensions/ - Toggle Developer Mode ON (left sidebar)
- Click Load unpacked
- Select your
Harbor-Extension/dist/folder - The Harbor extension appears in your toolbar
- Open
[browser-name]://extensions/ - Enable Developer Mode
- Click Load unpacked
- Select the
dist/folder
✅ Harbor is working if:
- The ⛵ Harbor icon appears in your toolbar
- Clicking it opens a side panel with Chat, Settings, and other tabs
- No errors in the browser console (F12 → Console)
❌ Troubleshooting:
| Issue | Solution |
|---|---|
dist/ folder not found |
Run npm run build from Harbor-Extension directory |
| Extension doesn't appear | Refresh chrome://extensions/ or restart browser |
| "Load unpacked" button missing | Make sure Developer Mode is toggled ON |
| Extension crashes | Check F12 → Console tab for error messages |
| "Manifest error" | Ensure loading from dist/, not src/ |
- Click the ⛵ Harbor icon in your toolbar
- Click Settings ⚙️
- Select your provider
Get API Keys:
- Claude: console.anthropic.com
- ChatGPT: platform.openai.com
- Gemini: aistudio.google.com
- Ollama: ollama.ai (local, no key needed)
- OpenRouter: openrouter.ai
- Paste your API key and click Save
Open the Harbor side panel and give it a task:
"Find the best coffee makers under $50 with 4+ star reviews."
"Compare flight prices from NYC to London for March and summarize the best option."
"Fill this registration form using the info from my LinkedIn profile."
Harbor is a Chrome Manifest V3 extension with a decoupled architecture:
┌──────────────────────────────────────┐
│ React Side Panel │ ← UI, Settings, Chat Interface
└──────────────────┬───────────────────┘
│ Chrome Runtime Messages
┌──────────────────┴───────────────────┐
│ Service Worker (Background) │ ← Agent Logic, API Orchestration
└──────────────────┬───────────────────┘
│ Content Bridge
┌──────────────────┴───────────────────┐
│ Content Script │ ← DOM Manipulation, Screenshots
└──────────────────────────────────────┘
Harbor is a Chrome Manifest V3 extension with a decoupled architecture:
┌──────────────────────────────────────┐
│ React Side Panel │ ← UI, Settings, Chat Interface
└──────────────────┬───────────────────┘
│ Chrome Runtime Messages
┌──────────────────┴───────────────────┐
│ Service Worker (Background) │ ← Agent Logic, API Orchestration
└──────────────────┬───────────────────┘
│ Content Bridge
┌──────────────────┴───────────────────┐
│ Content Script │ ← DOM Manipulation, Screenshots
└──────────────────────────────────────┘
- Run
npm run dev(rebuilds on file changes) - Go to
chrome://extensions/ - Click the reload icon on Harbor
Contributions are welcome: bugs, features, docs, and ideas.
- Check existing issues
- Open a new issue or pull request
- Follow CONTRIBUTING.md
MIT — Free for personal and commercial use. See LICENSE for details.
Built with React, TypeScript, Vite, and Tailwind CSS.
Star on GitHub · Get Started · Join the Community