Skip to main content

Knowledge API

База знаний Edge Lab содержит 4 категории материалов:
КатегорияОписание
lessonsПошаговые уроки с практикой
skillsСкиллы и гайды — навыки и инструменты
usecasesРеальные юзкейсы и примеры применения
liveЗаписи эфиров, AMA, воркшопов
Все endpoints используют авторизацию Bearer API-key: Authorization: Bearer edgelab_live_...Base URL: https://platform.edgelab.su/api/v1
Все тарифы (Edge, Pro, VIP) имеют доступ к Knowledge API через scope knowledge:read. Ограничений по тарифу нет.
Файлы хранятся на GitHub. API возвращает только ссылки на GitHub-репозиторий (github_url, raw_url). Проксирование и скачивание файлов через API не поддерживается — используйте raw_url для прямого скачивания с GitHub.

GET /knowledge/search

Полнотекстовый поиск по всем материалам базы знаний. Scope: knowledge:read (все тарифы) Полный URL: GET https://platform.edgelab.su/api/v1/knowledge/search

Query-параметры

ПараметрТипПо умолчаниюОписание
qstringПоисковый запрос (обязательный)
categorystringФильтр по категории: lessons, skills, usecases, live
limitinteger20Количество результатов (макс. 100)
offsetinteger0Смещение для пагинации

Пример запроса

curl "https://platform.edgelab.su/api/v1/knowledge/search?q=trading+bot&category=skills&limit=5" \
  -H "Authorization: Bearer edgelab_live_abc123"

Пример ответа

{
  "items": [
    {
      "id": "kn_t1r2a3d4",
      "title": "Создание торгового бота на Python",
      "description": "Пошаговый гайд по разработке бота для автоматической торговли через API биржи",
      "category": "skills",
      "skill_type": "guide",
      "author": "Даши",
      "relevance_score": 0.94,
      "created_at": "2025-02-10T08:00:00Z",
      "updated_at": "2025-03-01T12:00:00Z"
    },
    {
      "id": "kn_b5o6t7s8",
      "title": "3 юзкейса ботов для DCA",
      "description": "Как участники сообщества используют ботов для Dollar Cost Averaging",
      "category": "usecases",
      "related_skills": ["kn_t1r2a3d4", "kn_p9y0t1h2"],
      "author": "Алексей К.",
      "relevance_score": 0.81,
      "created_at": "2025-02-20T10:00:00Z",
      "updated_at": "2025-02-20T10:00:00Z"
    }
  ],
  "total": 8,
  "limit": 5,
  "offset": 0,
  "has_more": true
}

Ошибки

HTTP кодКод ошибкиКогда
400bad_requestОтсутствует обязательный параметр q
401unauthorizedНевалидный или отсутствующий API-ключ
403forbiddenНедостаточно scopes
429rate_limit_exceededПревышен лимит запросов

GET /knowledge/list

Список материалов с фильтрацией и сортировкой. В отличие от search, не требует поискового запроса. Scope: knowledge:read (все тарифы) Полный URL: GET https://platform.edgelab.su/api/v1/knowledge/list

Query-параметры

ПараметрТипПо умолчаниюОписание
categorystringФильтр: lessons, skills, usecases, live
sortstringcreated_at_descСортировка: created_at_desc, created_at_asc, title_asc, popularity
limitinteger20Количество результатов (макс. 100)
offsetinteger0Смещение для пагинации

Пример запроса

curl "https://platform.edgelab.su/api/v1/knowledge/list?category=live&sort=created_at_desc&limit=3" \
  -H "Authorization: Bearer edgelab_live_abc123"

Пример ответа

{
  "items": [
    {
      "id": "kn_l1v2e3s4",
      "title": "AMA: Как AI-агенты меняют крипто-трейдинг",
      "description": "Запись эфира с разбором реальных кейсов автоматизации",
      "category": "live",
      "duration_min": 62,
      "key_takeaways": [
        "AI-агенты снижают эмоциональные решения",
        "DCA + бот = стабильная стратегия",
        "Пример портфеля с $10/день"
      ],
      "author": "Даши",
      "created_at": "2025-03-10T18:00:00Z"
    }
  ],
  "total": 14,
  "limit": 3,
  "offset": 0,
  "has_more": true
}

Ошибки

HTTP кодКод ошибкиКогда
400bad_requestНевалидные параметры запроса
401unauthorizedНевалидный или отсутствующий API-ключ
403forbiddenНедостаточно scopes
429rate_limit_exceededПревышен лимит запросов

GET /knowledge/

Полные детали материала, включая содержимое и специфичные поля по категории. Scope: knowledge:read (все тарифы) Полный URL: GET https://platform.edgelab.su/api/v1/knowledge/{id}

Параметры пути

ПараметрТипОписание
idstringИдентификатор материала

Пример ответа (lesson)

{
  "id": "kn_l1e2s3s4",
  "title": "Настройка DCA-бота за 30 минут",
  "description": "От регистрации на бирже до первой автоматической покупки",
  "category": "lessons",
  "content_markdown": "# Настройка DCA-бота\n\n## Шаг 1: Регистрация...",
  "steps": [
    {"step": 1, "title": "Регистрация на бирже", "duration_min": 5},
    {"step": 2, "title": "Создание API-ключа", "duration_min": 3},
    {"step": 3, "title": "Настройка бота", "duration_min": 10},
    {"step": 4, "title": "Первый тестовый запуск", "duration_min": 12}
  ],
  "author": "Даши",
  "has_files": true,
  "created_at": "2025-01-15T08:00:00Z",
  "updated_at": "2025-03-05T14:30:00Z"
}

Поля по категориям

Помимо общих полей (id, title, description, category, author, content_markdown, has_files, created_at, updated_at), каждая категория содержит специфичные поля:

Ошибки

HTTP кодКод ошибкиКогда
401unauthorizedНевалидный или отсутствующий API-ключ
403forbiddenНедостаточно scopes
404not_foundМатериал с указанным ID не найден
429rate_limit_exceededПревышен лимит запросов

GET /knowledge//files

Список файлов, прикреплённых к материалу. Файлы хранятся на GitHub — API возвращает ссылки для скачивания. Scope: knowledge:read (все тарифы) Полный URL: GET https://platform.edgelab.su/api/v1/knowledge/{id}/files

Параметры пути

ПараметрТипОписание
idstringИдентификатор материала

Пример ответа

{
  "items": [
    {
      "filename": "dca-bot-config.py",
      "size_bytes": 4521,
      "mime_type": "text/x-python",
      "github_url": "https://github.com/edgelab-su/knowledge-files/blob/main/lessons/dca-bot/config.py",
      "raw_url": "https://raw.githubusercontent.com/edgelab-su/knowledge-files/main/lessons/dca-bot/config.py"
    },
    {
      "filename": "README.md",
      "size_bytes": 1203,
      "mime_type": "text/markdown",
      "github_url": "https://github.com/edgelab-su/knowledge-files/blob/main/lessons/dca-bot/README.md",
      "raw_url": "https://raw.githubusercontent.com/edgelab-su/knowledge-files/main/lessons/dca-bot/README.md"
    }
  ],
  "total": 2,
  "limit": 20,
  "offset": 0,
  "has_more": false
}
Файлы хранятся на GitHub, а не загружаются через API. API не проксирует файлы — используйте raw_url для прямого скачивания с GitHub. Для просмотра в браузере — github_url.

Ошибки

HTTP кодКод ошибкиКогда
401unauthorizedНевалидный или отсутствующий API-ключ
404not_foundМатериал с указанным ID не найден
429rate_limit_exceededПревышен лимит запросов

Паттерн работы агента

Рекомендуемый flow для AI-агента при работе с Knowledge API:
  1. Поиск: GET /knowledge/search?q=нужная тема — найти релевантные материалы
  2. Детали: GET /knowledge/{id} — получить полное содержимое
  3. Спросить хозяина: «Нашёл гайд по теме X. Хочешь, чтобы я скачал файлы?»
  4. Файлы: GET /knowledge/{id}/files — получить ссылки на GitHub
  5. Скачать: загрузить файлы через raw_url для локальной работы
Если задача хозяина связана с конкретным навыком — начните с GET /knowledge/search?category=skills. Для обучения — category=lessons. Для вдохновения — category=usecases.