Skip to main content

A toolkit to build GUI surfing AI agents

Project description


Surfkit

A toolkit for building AI agents that use devices
Explore the docs »

View Demo · Report Bug · Request Feature


Installation

pip install surfkit

Usage

Building Agents

Initialize a new project:

surfkit new [NAME]

Build a docker container for the agent:

surfkit build

Running Agents

Create an agent:

surfkit create agent --name foo --runtime kube

List running agents:

surfkit list agents

Get details about a specific agent:

surfkit get agent --name foo

Fetch logs for a specific agent:

surfkit logs --name foo

Delete an agent:

surfkit delete agent --name foo

Managing Devices

Create a device:

surfkit create device --type desktop --provicer gce --name bar

List devices:

surfkit list devices

View device details:

surfkit view --name bar

Delete a device:

surfkit delete device --name bar

Solving Tasks

Solve a task with an existing setup:

surfkit solve --description "search for common french ducks" --agent foo --device bar

Solve a task creating the agent ad hoc:

surfkit solve --description "search for alpaca sweaters" --device bar --agent-file ./agent.yaml

Solve a task and kill the agent post-execution:

surfkit solve --description "search for the meaning of life" --device bar --agent-file ./agent.yaml --kill

List tasks:

surfkit list tasks

Publishing Agents

Login to the hub:

surfkit login

Publish the agent:

surfkit publish

List published agent types:

surfkit list types

Run a published agent:

surfkit create agent --type SurfPizza --runtime kube

Developing

Add the following function to your ~/.zshrc (or similar)

function sk() {
    local project_dir="/path/to/surfkit/repo"
    local venv_dir="$project_dir/.venv"

    local ssh_auth_sock="$SSH_AUTH_SOCK"
    local ssh_agent_pid="$SSH_AGENT_PID"

    source "$venv_dir/bin/activate"

    export SSH_AUTH_SOCK="$ssh_auth_sock"
    export SSH_AGENT_PID="$ssh_agent_pid"

    python -m surfkit.cli.main "$@"
    deactivate
}

Replacing /path/to/surfkit/repo with the absolute path to your local repo.

Then calling sk will execute the working code in your repo from any location.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

surfkit-0.1.146.tar.gz (51.0 kB view details)

Uploaded Source

Built Distribution

surfkit-0.1.146-py3-none-any.whl (63.8 kB view details)

Uploaded Python 3

File details

Details for the file surfkit-0.1.146.tar.gz.

File metadata

  • Download URL: surfkit-0.1.146.tar.gz
  • Upload date:
  • Size: 51.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.1 Darwin/22.6.0

File hashes

Hashes for surfkit-0.1.146.tar.gz
Algorithm Hash digest
SHA256 e6f5e667b14ac12269852f2b5f1a1ce2de12a414809f96c5d211fd712c9fd5f2
MD5 2d0167d18e9d8d5b6fef288002013a1e
BLAKE2b-256 a8fa4e2fd3eee77247dfe302d542df2e0a4607a6dabe474e75eee106f61a63eb

See more details on using hashes here.

File details

Details for the file surfkit-0.1.146-py3-none-any.whl.

File metadata

  • Download URL: surfkit-0.1.146-py3-none-any.whl
  • Upload date:
  • Size: 63.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.1 Darwin/22.6.0

File hashes

Hashes for surfkit-0.1.146-py3-none-any.whl
Algorithm Hash digest
SHA256 e911f5bac8b18386c61d36621cacc0cd8344cbe5f8e2e2e52db0dbb9fca11a3e
MD5 eba5a71a38590d6d0f514dad65e85e31
BLAKE2b-256 665794cae6421974fa2aecaad214926d590b67a65463c7db09c6f9881bb7cbd7

See more details on using hashes here.

Supported by

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