# Получение отмеченных звёздами проектов GitHub через Agent Browser

# Использование Agent Browser для получения проектов GitHub, отмеченных звёздами

## Цель
Используй навык Agent Browser, чтобы войти в GitHub и получить проекты, отмеченные звёздами текущим авторизованным пользователем, с сортировкой по количеству звёзд.

## Шаги выполнения (следуй по порядку)

1. **Запусти браузер и открой главную страницу GitHub**
   ```bash
   agent-browser --headed --profile "%HOMEPATH%\.agent-browser\chrome-win64\chrome-profiles\github" open https://github.com && agent-browser wait --load networkidle
   ```

2. **Получи информацию о текущем авторизованном пользователе**
   ```bash
   agent-browser snapshot -i
   # Find the user avatar or username link in the top-right corner to confirm login status
   # Extract the username of the currently logged-in user from the page
   ```

3. **Перейди на вкладку Stars текущего пользователя**
   ```bash
   # Construct URL: https://github.com/{username}?tab=stars
   agent-browser open https://github.com/{username}?tab=stars && agent-browser wait --load networkidle
   ```

4. **Отсортируй по количеству звёзд (сначала больше всего звёзд)**
   ```bash
   agent-browser snapshot -i  # First get the latest snapshot to find the sort button
   agent-browser click @e_sort_button  # Click the sort button
   agent-browser wait --load networkidle
   # Select "Most stars" from the dropdown options
   ```

5. **Получи и запиши информацию о проектах**
   ```bash
   agent-browser snapshot -i
   # Extract project name, description, stars, and forks information
   ```

## Важные замечания

### 1. Проблемы с фоновым процессом
- Если ты видишь "daemon already running", браузер уже запущен
- **Важно:** когда фоновый процесс уже работает, параметры `--headed` и `--profile` игнорируются, а браузер продолжает работать в текущем режиме
- Можно переходить к последующим командам без повторного открытия
- Чтобы перезапустить в режиме с видимым окном, сначала необходимо выполнить `agent-browser close`, затем использовать параметр `--headed` для повторного открытия

### 2. Динамический характер ссылок
- Ссылки на элементы (@e1, @e2 и т. д.) меняются после каждого изменения страницы
- Перед каждым взаимодействием необходимо выполнять `snapshot -i`, чтобы получить актуальные ссылки
- Никогда не считай ссылки постоянными

### 3. Шаблон выполнения команд
- Используй `&&` для соединения нескольких команд, избегая повторных запусков процессов
- Жди загрузки страницы после каждой команды: `wait --load networkidle`

### 4. Состояние входа
- Используй параметр `--profile`, чтобы указать каталог профиля и сохранять состояние входа
- Если авторизация истекла, войди вручную один раз, чтобы сохранить состояние

### 5. Раскрытие переменных окружения Windows
- **Важно:** в Windows переменные окружения, такие как `%HOMEPATH%`, перед использованием необходимо раскрыть в фактические пути
- **Неправильно:** `agent-browser --profile "%HOMEPATH%\.agent-browser\chrome-win64\chrome-profiles\github"`
- **Правильно:** сначала выполни `echo $HOME`, чтобы получить фактический путь, затем используй раскрытый путь
  ```bash
  # Get HOME path (e.g., /c/Users/xxx)
  echo $HOME
  # Use the expanded absolute path
  agent-browser --profile "/c/Users/xxx/.agent-browser/chrome-win64/chrome-profiles/github" --headed open https://github.com
  ```
- Без раскрытия переменных окружения возникнут ошибки соединения (например, `os error 10060`)

### 6. Настройка сортировки
- Нажми кнопку "Sort by: Recently starred" (обычно ссылка e44)
- Выбери вариант "Most stars"
- Повторно получи содержимое страницы

## Устранение распространённых проблем

| Проблема | Решение |
|-------|----------|
| daemon already running | Выполняй последующие команды напрямую или закрой и открой повторно |
| Недопустимая ссылка на элемент | Выполни snapshot -i, чтобы получить актуальные ссылки |
| Страница загружена не полностью | Добавь wait --load networkidle |
| Требуется повторный вход | Используй режим --headed, чтобы один раз войти вручную и сохранить состояние |
| Сортировка не применена | Подтверди, что нажал правильный вариант сортировки |

## Формат вывода результатов
- Название проекта и ссылка
- Количество звёзд (сортировка по убыванию)
- Количество форков
- Описание проекта (если доступно)

---
Источник: prompts.chat. Текст: CC0 1.0 Universal. Русская версия: Kvantora.
