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
Built Distribution
Hashes for surfkit-0.1.217-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 393cc881e9a5b5baea1750a708b1ed1b7c5deabb8da128b74da5d3d16a308a2e |
|
MD5 | b899b6902e1f2aa14ae3d0bc42fc19f7 |
|
BLAKE2b-256 | 729272a9bed4676d594f9eff63c2c3b38259383eb578b116a8a81799a9518ee1 |