Name | surfkit JSON |
Version |
0.1.292
JSON |
| download |
home_page | None |
Summary | A toolkit for building AI agents that use devices |
upload_time | 2024-12-15 22:24:31 |
maintainer | None |
docs_url | None |
author | Patrick Barker |
requires_python | <4.0,>=3.10 |
license | MIT |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<!-- PROJECT LOGO -->
<br />
<p align="center">
<!-- <a href="https://github.com/agentsea/skillpacks">
<img src="https://project-logo.png" alt="Logo" width="80">
</a> -->
<h1 align="center">Surfkit</h1>
<p align="center">
A toolkit for building and sharing AI agents that operate on devices
<br />
<a href="https://docs.hub.agentsea.ai/introduction"><strong>Explore the docs »</strong></a>
<br />
<br />
<a href="https://youtu.be/exoOUUwFRB8">View Demo</a>
·
<a href="https://github.com/agentsea/surfkit/issues">Report Bug</a>
·
<a href="https://github.com/agentsea/surfkit/issues">Request Feature</a>
</p>
<br>
</p>
## Features
- **Build** multimodal agents that can operate on devices
- **Share** agents with the community
- **Run** agents and devices locally or in the cloud
- **Manage** agent tasks at scale
- **Track** and observe agent actions
## Demo
https://github.com/agentsea/surfkit/assets/5533189/98b7714d-9692-4369-8fbf-88aff61e741c
## Installation
```sh
pip install surfkit
```
## Quickstart
### Prerequisites
- Docker
- Python >= 3.10
- MacOS or Linux
### Python
Use an agent to solve a task
```python
from surfkit import solve
task = solve(
"Search for the most common variety of french duck",
agent_type="pbarker/SurfPizza",
device_type="desktop",
)
task.wait_for_done()
result = task.result
```
### CLI
#### Create an Agent
Find available agents on the Hub
```
surfkit find
```
Create a new agent
```
surfkit create agent -t pbarker/SurfPizza -n agent01
```
List running agents
```
surfkit list agents
```
#### Create a Device
Create an Ubuntu desktop for our agent to use.
```
surfkit create device --provider docker -n desktop01
```
List running devices
```
surfkit list devices
```
#### Solve a task
Use the agent to solve a task on the device
```
surfkit solve "Search for the most common variety of french duck" \
--agent agent01 \
--device desktop01
```
## Documentation
View our [documentation](https://docs.hub.agentsea.ai) for more in depth information.
## Usage
### Building Agents
Initialize a new project
```sh
surfkit new
```
Build a docker container for the agent
```sh
surfkit build
```
### Running Agents
Create an agent locally
```sh
surfkit create agent --name foo -t pbarker/SurfPizza
```
Create an agent on kubernetes
```sh
surfkit create agent --runtime kube -t pbarker/SurfPizza
```
List running agents
```sh
surfkit list agents
```
Get details about a specific agent
```sh
surfkit get agent foo
```
Fetch logs for a specific agent
```sh
surfkit logs foo
```
Delete an agent
```sh
surfkit delete agent foo
```
### Managing Devices
Create a device
```sh
surfkit create device --type desktop --provicer gce --name bar
```
List devices
```sh
surfkit list devices
```
View device in UI
```sh
surfkit view bar
```
Delete a device
```sh
surfkit delete device bar
```
### Tracking Tasks
Create a tracker
```sh
surfkit create tracker
```
List trackers
```sh
surfkit list trackers
```
Delete a tracker
```sh
surfkit delete tracker foo
```
### Solving Tasks
Solve a task with an existing setup
```sh
surfkit solve "search for common french ducks" --agent foo --device bar
```
Solve a task creating the agent ad hoc
```sh
surfkit solve "search for alpaca sweaters" \
--device bar --agent-file ./agent.yaml
```
List tasks
```sh
surfkit list tasks
```
### Publishing Agents
Login to the hub
```sh
surfkit login
```
Publish the agent
```sh
surfkit publish
```
List published agent types
```sh
surfkit find
```
## Integrations
Skillpacks is integrated with:
- [MLLM](https://github.com/agentsea/mllm) A prompt management, routing, and schema validation library for multimodal LLMs
- [Taskara](https://github.com/agentsea/taskara) A task management library for AI agents
- [Skillpacks](https://github.com/agentsea/skillpacks) A library to fine tune AI agents on tasks.
- [Threadmem](https://github.com/agentsea/threadmem) A thread management library for AI agents
## Community
Come join us on [Discord](https://discord.gg/hhaq7XYPS6).
## Developing
Add the following function to your `~/.zshrc` (or similar)
```sh
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.
Raw data
{
"_id": null,
"home_page": null,
"name": "surfkit",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": null,
"author": "Patrick Barker",
"author_email": "patrickbarkerco@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/13/e0/da2c0b6bf02ea92097caf3d377804c8f47b71955a8c47701836678ad871e/surfkit-0.1.292.tar.gz",
"platform": null,
"description": "<!-- PROJECT LOGO -->\n<br />\n<p align=\"center\">\n <!-- <a href=\"https://github.com/agentsea/skillpacks\">\n <img src=\"https://project-logo.png\" alt=\"Logo\" width=\"80\">\n </a> -->\n\n <h1 align=\"center\">Surfkit</h1>\n\n <p align=\"center\">\n A toolkit for building and sharing AI agents that operate on devices\n <br />\n <a href=\"https://docs.hub.agentsea.ai/introduction\"><strong>Explore the docs \u00bb</strong></a>\n <br />\n <br />\n <a href=\"https://youtu.be/exoOUUwFRB8\">View Demo</a>\n \u00b7\n <a href=\"https://github.com/agentsea/surfkit/issues\">Report Bug</a>\n \u00b7\n <a href=\"https://github.com/agentsea/surfkit/issues\">Request Feature</a>\n </p>\n <br>\n</p>\n\n## Features\n\n- **Build** multimodal agents that can operate on devices\n- **Share** agents with the community\n- **Run** agents and devices locally or in the cloud\n- **Manage** agent tasks at scale\n- **Track** and observe agent actions\n\n## Demo\n\nhttps://github.com/agentsea/surfkit/assets/5533189/98b7714d-9692-4369-8fbf-88aff61e741c\n\n## Installation\n\n```sh\npip install surfkit\n```\n\n## Quickstart\n\n### Prerequisites\n\n- Docker\n- Python >= 3.10\n- MacOS or Linux\n\n### Python\n\nUse an agent to solve a task\n\n```python\nfrom surfkit import solve\n\ntask = solve(\n \"Search for the most common variety of french duck\",\n agent_type=\"pbarker/SurfPizza\",\n device_type=\"desktop\",\n )\n\ntask.wait_for_done()\n\nresult = task.result\n```\n\n### CLI\n\n#### Create an Agent\n\nFind available agents on the Hub\n\n```\nsurfkit find\n```\n\nCreate a new agent\n\n```\nsurfkit create agent -t pbarker/SurfPizza -n agent01\n```\n\nList running agents\n\n```\nsurfkit list agents\n```\n\n#### Create a Device\n\nCreate an Ubuntu desktop for our agent to use.\n\n```\nsurfkit create device --provider docker -n desktop01\n```\n\nList running devices\n\n```\nsurfkit list devices\n```\n\n#### Solve a task\n\nUse the agent to solve a task on the device\n\n```\nsurfkit solve \"Search for the most common variety of french duck\" \\\n --agent agent01 \\\n --device desktop01\n```\n\n## Documentation\n\nView our [documentation](https://docs.hub.agentsea.ai) for more in depth information.\n\n## Usage\n\n### Building Agents\n\nInitialize a new project\n\n```sh\nsurfkit new\n```\n\nBuild a docker container for the agent\n\n```sh\nsurfkit build\n```\n\n### Running Agents\n\nCreate an agent locally\n\n```sh\nsurfkit create agent --name foo -t pbarker/SurfPizza\n```\n\nCreate an agent on kubernetes\n\n```sh\nsurfkit create agent --runtime kube -t pbarker/SurfPizza\n```\n\nList running agents\n\n```sh\nsurfkit list agents\n```\n\nGet details about a specific agent\n\n```sh\nsurfkit get agent foo\n```\n\nFetch logs for a specific agent\n\n```sh\nsurfkit logs foo\n```\n\nDelete an agent\n\n```sh\nsurfkit delete agent foo\n```\n\n### Managing Devices\n\nCreate a device\n\n```sh\nsurfkit create device --type desktop --provicer gce --name bar\n```\n\nList devices\n\n```sh\nsurfkit list devices\n```\n\nView device in UI\n\n```sh\nsurfkit view bar\n```\n\nDelete a device\n\n```sh\nsurfkit delete device bar\n```\n\n### Tracking Tasks\n\nCreate a tracker\n\n```sh\nsurfkit create tracker\n```\n\nList trackers\n\n```sh\nsurfkit list trackers\n```\n\nDelete a tracker\n\n```sh\nsurfkit delete tracker foo\n```\n\n### Solving Tasks\n\nSolve a task with an existing setup\n\n```sh\nsurfkit solve \"search for common french ducks\" --agent foo --device bar\n```\n\nSolve a task creating the agent ad hoc\n\n```sh\nsurfkit solve \"search for alpaca sweaters\" \\\n--device bar --agent-file ./agent.yaml\n```\n\nList tasks\n\n```sh\nsurfkit list tasks\n```\n\n### Publishing Agents\n\nLogin to the hub\n\n```sh\nsurfkit login\n```\n\nPublish the agent\n\n```sh\nsurfkit publish\n```\n\nList published agent types\n\n```sh\nsurfkit find\n```\n\n## Integrations\n\nSkillpacks is integrated with:\n\n- [MLLM](https://github.com/agentsea/mllm) A prompt management, routing, and schema validation library for multimodal LLMs\n- [Taskara](https://github.com/agentsea/taskara) A task management library for AI agents\n- [Skillpacks](https://github.com/agentsea/skillpacks) A library to fine tune AI agents on tasks.\n- [Threadmem](https://github.com/agentsea/threadmem) A thread management library for AI agents\n\n## Community\n\nCome join us on [Discord](https://discord.gg/hhaq7XYPS6).\n\n## Developing\n\nAdd the following function to your `~/.zshrc` (or similar)\n\n```sh\nfunction sk() {\n local project_dir=\"/path/to/surfkit/repo\"\n local venv_dir=\"$project_dir/.venv\"\n local ssh_auth_sock=\"$SSH_AUTH_SOCK\"\n local ssh_agent_pid=\"$SSH_AGENT_PID\"\n\n export SSH_AUTH_SOCK=\"$ssh_auth_sock\"\n export SSH_AGENT_PID=\"$ssh_agent_pid\"\n\n # Add the Poetry environment's bin directory to the PATH\n export PATH=\"$venv_dir/bin:$PATH\"\n\n # Execute the surfkit.cli.main module using python -m\n surfkit \"$@\"\n}\n```\n\nReplacing `/path/to/surfkit/repo` with the absolute path to your local repo.\n\nThen calling `sk` will execute the working code in your repo from any location.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A toolkit for building AI agents that use devices",
"version": "0.1.292",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6bf3ce207c9d8a373c48eba682fc9aef5453bc042c8ee4916e6168c35c9cc9a0",
"md5": "9931721bbac7ed687ba284d5c417e3c3",
"sha256": "79f284b2b02661b8854d7c537d4de49176cd9cf1275b8d0d2eb2d1733150db2b"
},
"downloads": -1,
"filename": "surfkit-0.1.292-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9931721bbac7ed687ba284d5c417e3c3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 82152,
"upload_time": "2024-12-15T22:24:28",
"upload_time_iso_8601": "2024-12-15T22:24:28.498867Z",
"url": "https://files.pythonhosted.org/packages/6b/f3/ce207c9d8a373c48eba682fc9aef5453bc042c8ee4916e6168c35c9cc9a0/surfkit-0.1.292-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "13e0da2c0b6bf02ea92097caf3d377804c8f47b71955a8c47701836678ad871e",
"md5": "fa3595d659656321809574a2df267ae9",
"sha256": "f062d01ec32f5b17c331abe2ffbf02d19cc11460facdac01e804963c6826d430"
},
"downloads": -1,
"filename": "surfkit-0.1.292.tar.gz",
"has_sig": false,
"md5_digest": "fa3595d659656321809574a2df267ae9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 66510,
"upload_time": "2024-12-15T22:24:31",
"upload_time_iso_8601": "2024-12-15T22:24:31.097013Z",
"url": "https://files.pythonhosted.org/packages/13/e0/da2c0b6bf02ea92097caf3d377804c8f47b71955a8c47701836678ad871e/surfkit-0.1.292.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-15 22:24:31",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "surfkit"
}