Skip to content
forked from finic-ai/finic

Data integration platform for LLMs. Connect to SaaS tools with turnkey auth and sync documents from N data sources with only one integration

License

Notifications You must be signed in to change notification settings

kkpan11/psychic

 
 

Repository files navigation

🦊 Finic

A fleet of stealth browsers at your fingertips.

License Issues

Finic provides browser infrastructure for developers building web scrapers, browser automations, and AI agents in Python. It does this by giving you a browser in the cloud you can control remotely using Playwright or Puppeteer (in just a few lines), or Selenium (with some work).

Finic is designed to be unopionated about the development process, and simply provide browser and network-level utilities to make sure your automations don't get blocked.

Quickstart

git clone https://github.com/finic-ai/finic.git

Running Locally

Run the image locally the same as any other Docker container.

sudo docker-compose up --build

Once the container is running, you can connect to it like this.

CDP_URL = "ws://localhost:8000/ws"

async def main():
    print("Connecting to Browser...")
    async with async_playwright() as pw:
        browser = await pw.chromium.connect_over_cdp(CDP_URL)
        try:
            print("Connected! Navigating...")
            page = await browser.new_page()
            await page.goto("https://example.com", timeout=2 * 60 * 1000)
            print("Navigated! Scraping page content...")
            html = await page.content()
            print(html)
        finally:
            await browser.close()

asyncio.run(main())

Or run python testscript.py to test out the container.

If you want to use a Finic browser with an existing project, simply replace this line:

browser = playwright.chromium.launch(headless=False)

with this one: with this:

browser = playwright.chromium.connect_over_cdp("ws://localhost:8080/ws")

About

Data integration platform for LLMs. Connect to SaaS tools with turnkey auth and sync documents from N data sources with only one integration

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 67.9%
  • Python 28.7%
  • JavaScript 1.5%
  • HTML 0.7%
  • Dockerfile 0.7%
  • Shell 0.2%
  • Other 0.3%