Skip to main content

Natural language browser automation

Project description

SurfAI

🏄 Natural Language Browser Automation

Say what you want, SurfAI does the browsing.

Quick Start

# Install
pip install surfai

# Configure your LLM (choose one)
surfai config --model kimi --key sk-your-kimi-key
surfai config --model deepseek --key sk-your-deepseek-key

# Start automating
surfai "Go to GitHub and find the most starred Python project"

Features

  • 🎯 Zero Code: Just say what you want in natural language
  • 🤖 Multi-LLM: Supports Kimi, DeepSeek, OpenAI, Gemini
  • 🔒 Local First: Runs on your machine, data stays private
  • 📸 Screenshots: Capture pages automatically
  • 📊 Data Export: Save results to CSV, JSON, Excel

Supported Models

Model Provider Setup
Kimi Moonshot surfai config --model kimi --key sk-xxx
DeepSeek DeepSeek surfai config --model deepseek --key sk-xxx
GPT-4o OpenAI surfai config --model openai --key sk-xxx
Gemini Google surfai config --model gemini --key xxx

Usage Examples

Command Line

# Extract data
surfai "Go to example.com and get all product prices"

# Take screenshot
surfai "Open github.com/microsoft and take a screenshot"

# Complex task
surfai "Search for 'Python tutorials' on Google, open the first result, summarize the content"

Python API

import asyncio
from surfai import Browser

async def main():
    async with Browser() as browser:
        await browser.goto("https://github.com/openclaw/openclaw")
        stars = await browser.extract("stars count")
        print(f"Stars: {stars}")
        await browser.screenshot("openclaw.png")

asyncio.run(main())

Configuration

Configuration is stored in ~/.surfai/config.json:

{
  "default_model": "kimi",
  "models": {
    "kimi": {
      "api_key": "sk-xxx",
      "base_url": "https://api.moonshot.cn/v1"
    },
    "deepseek": {
      "api_key": "sk-xxx",
      "base_url": "https://api.deepseek.com/v1"
    }
  }
}

License

MIT License - see LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

surfai-0.8.2.tar.gz (2.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

surfai-0.8.2-py3-none-any.whl (28.5 kB view details)

Uploaded Python 3

File details

Details for the file surfai-0.8.2.tar.gz.

File metadata

  • Download URL: surfai-0.8.2.tar.gz
  • Upload date:
  • Size: 2.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for surfai-0.8.2.tar.gz
Algorithm Hash digest
SHA256 8f1da45f337b2e6c0a68d79c35038921d017553025209c49b8ca4b4ddd494dab
MD5 25c29c860fdd7b67f56ed87677eec405
BLAKE2b-256 ed06d9eebf9c71aebb5d2a7ef0af1464d918bed89d5703327257d3e5aade2ea4

See more details on using hashes here.

File details

Details for the file surfai-0.8.2-py3-none-any.whl.

File metadata

  • Download URL: surfai-0.8.2-py3-none-any.whl
  • Upload date:
  • Size: 28.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for surfai-0.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c224d07d1fbfe88445f108b7142ab50c619c4c785cd496e9185e3153a5acdb09
MD5 3e27fa15e9e401c18cbe25453603ea92
BLAKE2b-256 2166cb15067dbcbe2c2abbf34f4b4ff6db5cfbe48c1e7a24688aefc7da11d26b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page