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 task server
surfkit create taskserver
List task servers
surfkit list taskservers
Delete a task server
surfkit delete taskserver -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
Hashes for surfkit-0.1.168-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fb6889beca0c3bb63ab5847118bff7720b30658744a8af11aa1479fa2c091d6 |
|
MD5 | 6841076823ebc72cc74424f1dac95377 |
|
BLAKE2b-256 | 29fb58674b16c5a116990e75c244464600b01b1a2254220b1ead5db73c3ffc66 |