Skip to content

Start

Swan is an open-source Chrome extension that calls you at the risky moment so you can step out of the porn loop before it takes over.

The fastest path is the Chrome Web Store. If you want to inspect or modify the code, you can self-host the extension locally with Chrome Developer Mode.

Install from Chrome

Open the Swan Chrome Web Store listing, click Add to Chrome, then open Swan from the extension toolbar.

Use this path if you want the normal Chrome extension experience and automatic browser-managed updates.

Self-host with Developer Mode

Use the source path if you want to inspect the code, change it, or run Swan without the store package.

bash
git clone https://github.com/dannylee1020/swan.git
cd swan
npm install
npm run dashboard

Then load the local extension:

  1. Open chrome://extensions.
  2. Enable Developer Mode.
  3. Click Load unpacked.
  4. Select output/chrome-mv3-dev.
  5. Keep npm run dashboard running while you work.

WXT watches the source and hot reloads the local extension, so you do not need to rebuild after every change.

Configure Swan

Open Swan settings and save the required values:

GroupRequired values
Phone ConfigurationRecipient phone number, Start voice call toggle, monitoring toggle
ElevenLabs Voice CallAPI key, Agent ID, Agent phone number ID

Use E.164 phone-number formatting for the recipient number, for example +15551234567.

Before relying on Swan, configure the ElevenLabs agent prompt and knowledge base and run a direct ElevenLabs test call.

Test the loop

  1. Click Send test alert in Swan settings.
  2. Confirm an AI call arrives from the ElevenLabs-connected number.
  3. Open Logs and verify the latest event has call status.
  4. Open Domain Tracking to review, remove, or add tracked domains.

Swan matches configured domains and their subdomains during top-level browser navigation.

Operate

Learn more

Open source browser intervention software.