SkillHub — Мультиплатформенный агент для перепродажи
SkillHub — это набор из 8 навыков (skills) для Claude Code + MCP-сервер, реализующий «умного агента по перепродаже» (Smart Resale Agent). Он помогает выкладывать и перепродавать товары на вторичных площадках (C2C) с минимальным участием человека: от распознавания фото до авто-делистинга при продаже. Версия v2 работает как стандартный MCP-сервер (JSON-RPC через stdio), совместимый с Claude Desktop, Cursor, VS Code или веб-интерфейсами.
Архитектура
skillhub/
├── broker_core/ # Общий движок (pip install -e .)
│ ├── session_manager.py # Логин в браузере → сохранение куки
│ ├── platform_client.py # Авторизованные клиенты API площадок
│ ├── state_manager.py # Состояние листингов (~/.broker/listings.json)
│ ├── scheduler.py # Регистрация launchd (macOS) / cron (Linux)
│ ├── audit_logger.py # Аудит с неизменяемым логом (~/.broker/audit.jsonl)
│ └── mcp_server.py # ★ MCP-сервер — 7 инструментов через JSON-RPC
├── guardrails/ # Фреймворк промтов (v2): Omni-Agent-Guardrails.yaml
├── skills/ # 8 навыков Claude Code
│ ├── personal-broker/ # Оркестратор семи шагов
│ ├── broker-recognize/ # Шаг 1: Фото → структурированная информация о товаре
│ ├── broker-auth/ # Шаг 2: Привязка аккаунтов площадок
│ ├── broker-price/ # Шаг 3: Исследование цен (с авторизацией)
│ ├── broker-fuse/ # Шаг 4: Price Shield (минимальная цена)
│ ├── broker-card/ # Шаг 5: Генерация карточек + публикация
│ ├── broker-schedule/ # Шаг 6: Настройка расписания репрайсинга
│ └── broker-delist/ # Шаг 7: Автоделистинг при продаже
├── tests/ # 41 тест
└── docs/ # Гайды по настройке MCP-клиентов
Конвейер из 7 шагов
- broker-recognize — загрузка фото, распознавание товара (Claude Vision)
- broker-auth — открытие браузера, однократный логин на площадки
- broker-price — поиск аналогов с учётом авторизации → отчёт о ценах
- broker-fuse — ⚠️ установка минимальной цены (floor price) ДО публикации
- broker-card — создание карточек, проверка floor price, подтверждение пользователем → автопубликация
- broker-schedule — настройка launchd/cron для ежедневной проверки цен (с защитой floor)
- broker-delist — детект продажи → авто-удаление со всех площадок (без подтверждения)
Каждый навык можно вызвать отдельно (например, /broker-price только для анализа цен).
Требования
- Python 3.9+
- Playwright (для авторизации на площадках):
pip install playwright && playwright install chromium
- ANTHROPIC_API_KEY (обязателен для фото-распознавания):
export ANTHROPIC_API_KEY='sk-ant-...'
Быстрый старт
Путь A: Claude Desktop (рекомендуется, 5 минут)
- Установите:
git clone https://github.com/madguyevans-creator/skillhub.git
cd skillhub && pip install -e .
pip install playwright && playwright install chromium
- Получите API-ключ: перейдите на console.anthropic.com → API Keys → создайте ключ. Сохраните:
echo 'sk-ant-your-key' > ~/.broker/api_key
- Настройте Claude Desktop: добавьте в
~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"skillhub": {
"command": "python3",
"args": ["/path/to/skillhub/broker_core/mcp_server.php"],
"env": {"BROKER_MOCK_MODE": "true"}
}
}
}
- Перезапустите Claude Desktop. Готово!
Пример использования: скажите «Продай эти кроссовки» и приложите фото. Claude автоматически вызовет 7 MCP-инструментов в правильном порядке.
Путь B: Claude Code CLI
git clone https://github.com/madguyevans-creator/skillhub.git
cd skillhub && pip install -e .
cp -r skills/* ~/.claude/skills/
Затем внутри Claude Code используйте команды: /personal-broker (полный конвейер), /broker-recognize, /broker-price, /broker-fuse.
Путь C: Демо без аккаунтов (режим моков)
По умолчанию BROKER_MOCK_MODE=true — всё работает с симулированными данными. Никаких API-ключей и реальных площадок не нужно. Распознавание фото возвращает демо-кроссовки Nike.
git clone ... && cd skillhub && pip install -e .
# Готово — можно использовать Путь A или B
Реальный режим: отключение моков
export BROKER_MOCK_MODE=false
python3 skills/broker-auth/scripts/auth.py --all
Откроется браузер — войдите на каждую площадку один раз. Куки сохраняются.
Режим песочницы / Mock Mode
По умолчанию BROKER_MOCK_MODE=true — все вызовы API (поиск, публикация, делистинг) возвращают реалистичные симулированные данные. Никаких реальных HTTP-запросов. Это позволяет:
- Демонстрировать полный конвейер без аккаунтов
- Безопасно разрабатывать — никакого риска случайной публикации
- Избегать блокировок и CAPTCHA
Для работы с реальными API установите BROKER_MOCK_MODE=false и привяжите аккаунты через broker-auth.
Прозрачный аудит (Transparency Log)
Каждое решение агента записывается в ~/.broker/audit.jsonl — неизменяемый лог в формате JSONL. Вы всегда можете проверить, что и почему сделал агент.
Что логируется: результаты исследования цен, проверки Price Shield (заблокировано/разрешено), публикации, репрайсинг, делистинг, регистрация расписаний.
Как просмотреть:
from broker_core import audit_logger
print(audit_logger.format_trail('item_abc123')) # Человекочитаемая хронология
trail = audit_logger.get_audit_trail('item_abc123') # JSON-массив
Ключевые проектные решения
| Решение |
Обоснование |
| Не «скраппинг» |
Используются собственные куки пользователя — поиск как залогиненный пользователь |
| Один логин на все площадки |
Логин через браузер, куки живут ~30 дней |
| Цена = медиана проданных |
Рекомендуемая цена = медиана реально проданных аналогов. Если нет — 5% ниже медианы активных |
| Price Shield как глобальный перехватчик |
Любое действие, меняющее цену, проверяется на соответствие floor price |
| Автоисполнение после подтверждения |
После подтверждения карточки, floor и расписания — публикация и репрайсинг без повторного согласования |
| Без подтверждения на делистинг |
При обнаружении продажи на любой площадке — авто-снятие со всех |
| launchd / cron |
Системное планирование без дополнительных демонов |
| Mock mode по умолчанию |
Безопасное демо без реальных аккаунтов |
| Прозрачный аудит |
Неизменяемый JSONL-лог — пользователь всегда может проверить действия |
Лицензия
MIT — подробнее в LICENSE
Комментарии
Комментариев пока нет. Будьте первым.