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
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
Built Distribution
File details
Details for the file surfkit-0.1.186.tar.gz
.
File metadata
- Download URL: surfkit-0.1.186.tar.gz
- Upload date:
- Size: 59.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.10.1 Darwin/22.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e58ad1b80d4b6f7bf9f7689b54e21184975220574b6de991ecd3ecd4a4520b8 |
|
MD5 | 8d531f06e9063afe53fc7ee8c7de3fd6 |
|
BLAKE2b-256 | a0a76ba0917caac0f0362a2c414bab398d2881f637917a5eef36d425b2bf3653 |
File details
Details for the file surfkit-0.1.186-py3-none-any.whl
.
File metadata
- Download URL: surfkit-0.1.186-py3-none-any.whl
- Upload date:
- Size: 75.0 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3293a1c9c6eb3194b47b36aa1924d549dd137095b72ba2fbc2b9700f478e9134 |
|
MD5 | 9b9ac9766595e98fa325fecb2d981927 |
|
BLAKE2b-256 | f4cd369267370fec1fb38493924b87ddb1841f19bb645dede30d45fc34c9104d |