Skip to main content

A toolkit for building AI agents that use devices

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 locally

surfkit create agent --name foo

Create an agent on kubernetes

surfkit create agent --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 in UI

surfkit view --name bar

Delete a device

surfkit delete device --name bar

Tracking Tasks

Create a tracker

surfkit create tracker

List trackers

surfkit list trackers

Delete a tracker

surfkit delete tracker -n foo

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

Integrations

Skillpacks is integrated with:

  • MLLM A prompt management, routing, and schema validation library for multimodal LLMs
  • Taskara A task management library for AI agents
  • Skillpacks A library to fine tune AI agents on tasks.
  • Threadmem A thread management library for AI agents

Community

Come join us on Slack

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"

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

  # Add the Poetry environment's bin directory to the PATH
  export PATH="$venv_dir/bin:$PATH"

  # Execute the surfkit.cli.main module using python -m
  surfkit "$@"
}

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.221.tar.gz (68.5 kB view details)

Uploaded Source

Built Distribution

surfkit-0.1.221-py3-none-any.whl (84.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: surfkit-0.1.221.tar.gz
  • Upload date:
  • Size: 68.5 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.221.tar.gz
Algorithm Hash digest
SHA256 b65ced30c5264c9a9d3abdebcf0561195236c2cee0cda1bc81f74b60f6c56ba8
MD5 759dc87d67b4693fd88cae062f90d263
BLAKE2b-256 8498d1fd3d579a0aca70a006355cdc08e470a29a4e614652f7e753f575aad5c8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: surfkit-0.1.221-py3-none-any.whl
  • Upload date:
  • Size: 84.7 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.221-py3-none-any.whl
Algorithm Hash digest
SHA256 79b81fe5f82fffeb42b88b478637e5c6f654f8ca6d0bfdbac5e582d8035d793e
MD5 5983576734dd09ec55c83d671b247e2d
BLAKE2b-256 54846fd59fed726c121db574c523581609d76fa11c6b7d22b86cc3950d7ef73c

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