Быстрый старт
Это руководство поможет вам установить SILO, создать ваш первый скилл и исполнить его.
1. Установка
Вы можете установить SILO через pip или uv. Мы рекомендуем использовать uv для управления зависимостями.
Чтобы проверить установку, запустите:
Usage: silo [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
auth Manage secret keys in the local vault.
init Scaffold a new SILO skill.
inspect Show detailed skill info.
install Install a skill to the hub.
mcp-run Run the SILO MCP server.
ps List installed skills.
run Execute a tool from a skill.
search Search for tools semantically.
2. Создание вашего первого скилла
В SILO есть CLI-инструмент для мгновенного создания заготовок скиллов. Давайте создадим скилл с именем weather.
Эта команда создаст папку weather с файлом skill.py. Откройте его в редакторе:
# /// script
# requires-python = ">=3.9"
# dependencies = [
# "silo",
# ]
# ///
from silo import Skill, AgentResponse
skill = Skill(namespace="weather")
@skill.tool()
def get_forecast(city: str):
"""Возвращает прогноз погоды для города."""
# В реальном скилле здесь был бы вызов API погоды.
return AgentResponse(
llm_text=f"Погода в городе {city}: солнечно, 25°C.",
raw_data={"city": city, "temp": 25, "condition": "sunny"}
)
Блок /// script сообщает uv, какие зависимости нужны этому файлу.
3. Установка и исполнение
Чтобы ваш скилл стал доступен в хабе SILO, установите его:
Теперь вы можете исполнить его через раннер SILO:
⠋ Executing weather:get_forecast...
╭────────────────────────────── Execution Result ───────────────────────────────╮
│ Погода в городе Moscow: солнечно, 25°C. │
╰──────────────────────────────────────────────────────────────────────────────╯
4. Как работают секреты
Если вашему скиллу нужен API-ключ, используйте require_secret("KEY_NAME").
При первом запуске скилла SILO: 1. Проверит переменные окружения. 2. Проверит Keychain вашей ОС. 3. Если ключ не найден, откроется окно браузера, где вы сможете безопасно ввести ключ, который затем сохранится в Keychain.
При следующих запусках ключ будет подгружаться из Keychain автоматически.
Вы можете просмотреть все инструменты и инструкции установленного скилла с помощью команды:
⠋ Inspecting weather...
╭─────────────────────────── Skill: weather (Instructions) ────────────────────────────╮
│ Use this tool when the user asks about weather or climate. │
╰──────────────────────────────────────────────────────────────────────────────────────╯
Available Tools
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Tool Name ┃ Description ┃ Approvals ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ get_forecast │ Возвращает прогноз погоды для города. │ Auto │
└──────────────┴──────────────────────────────────────────────────────────┴───────────┘
6. Поиск инструментов
Если вы не помните точное название инструмента или хотите посмотреть, что доступно для конкретной задачи, используйте команду поиска:
⠋ Searching for 'узнать погоду'...
Search results for 'узнать погоду'
┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Tool (ID) ┃ Description ┃
┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ weather.get_forecast │ Возвращает прогноз погоды для города. │
└──────────────────────┴──────────────────────────────────────────────────────────────┘
SILO использует семантическое сопоставление, чтобы найти наиболее релевантные инструменты во всех установленных скиллов.
Что дальше?
Теперь, когда вы знаете основы, изучите: * Написание скиллов: Более глубокий взгляд на инструменты и типы ответов. * Безопасность и управление секретами: Как SILO защищает ваши данные.