Загрузка файлов
Загрузите файлы один раз, разрешите запуску их использовать, и агент прикрепит нужный файл к каждому полю загрузки.
Формы часто просят файл: резюме, скан удостоверения личности, счёт. Загрузите свои файлы в Lovely Router один раз. Если запуску разрешено их использовать, агент прикрепляет к каждому полю загрузки подходящий файл — к полю «Resume» ваше резюме, а не сопроводительное письмо, даже если оба в PDF.
Загрузка файла#
Отправьте байты файла как есть на PUT /v1/browser/files/{name}, указав тип файла в Content-Type. Необязательный параметр запроса description помогает агенту сделать выбор.
curl -X PUT "https://lovelyrouter.com/v1/browser/files/Maria_Garcia_CV_2026.pdf?description=Resume%2C%20updated%202026" \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-H "content-type: application/pdf" \
--data-binary @Maria_Garcia_CV_2026.pdfИли отправьте multipart-форму на POST /v1/browser/files, передав файл в поле file. Поля name (по умолчанию — имя загружаемого файла) и description необязательны:
curl https://lovelyrouter.com/v1/browser/files \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-F "file=@Maria_Garcia_CV_2026.pdf;type=application/pdf" \
-F "description=Resume, updated 2026"Оба способа возвращают сохранённый файл:
{
"id": "file_7a3c9e1b5d2f8a4c6e0b",
"name": "Maria_Garcia_CV_2026.pdf",
"mime": "application/pdf",
"bytes": 84213,
"sha256": "5f2b8c…",
"description": "Resume, updated 2026",
"created_at": "2026-10-11T09:20:44.000Z",
"last_used_at": null
}Без Content-Type файл сохраняется как application/octet-stream; передавайте настоящий тип, чтобы его видели и агент, и сайт. Повторная загрузка под тем же именем заменяет файл и сохраняет его id. Файлы хранятся в зашифрованном виде, как и секреты из хранилища. Примеры на Python и Node.js используют настройку API, H и headers из раздела Запуск первой задачи.
| Ограничение | Значение |
|---|---|
| Размер файла | 10 МБ |
| Файлов на аккаунт | 100 |
| Имя | От 1 до 128 символов: буквы, цифры, пробелы и . _ - ( ) + ,, начинается с буквы, цифры или _ |
| Описание | 300 символов (более длинный текст обрезается) |
Как разрешить запуску использовать файлы#
Передайте files при старте запуска: список имён или id файлов либо "*" для всех ваших файлов.
curl https://lovelyrouter.com/v1/browser/runs \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-H "content-type: application/json" \
-d '{
"goal": "Apply for the Backend Engineer role as Maria Garcia (maria.garcia@example.com), based in Portland, Oregon. Attach her resume. Submit the application and tell me the application ID.",
"start_url": "https://jobs.example.com/backend-engineer/apply",
"files": ["Maria_Garcia_CV_2026.pdf", "Maria_Garcia_Cover_Letter.pdf"],
"max_steps": 40
}'Агент может прикреплять файлы только в запусках, где передан files, и только перечисленные файлы. Неизвестное имя возвращает 400 с сообщением Unknown file(s): CV.pdf. Upload with PUT /v1/browser/files/{name}.
В трассировке action шага загрузки начинается с upload:, а его description называет поле. Если перед отправкой запуск приостанавливается для вашего подтверждения, needs.fields показывает, какой файл прикреплён, например Resume: file "Maria_Garcia_CV_2026.pdf".
Как агент выбирает файл#
На каждом поле загрузки агент сравнивает ваши файлы с тем, что просит поле. Он смотрит на:
- имя, тип, размер и описание каждого файла
- подпись поля и типы файлов, которые оно принимает
- вашу цель и содержимое страницы вокруг поля
Он подбирает документ по назначению, а не только по типу. Чтобы помочь ему:
- Используйте понятные имена.
Maria_Garcia_CV_2026.pdfлучше, чемscan_0412.pdf. - Добавьте описание, если имя не говорит всего: «Резюме, обновлено в 2026», «Страница паспорта с фото».
- Укажите в цели, какой файл использовать, если это важно: «Прикрепи её резюме (не сопроводительное письмо)».
- Передавайте только нужные запуску файлы, а не
"*", если у вас много похожих файлов.
Список и удаление файлов#
# List your files, sorted by name
curl https://lovelyrouter.com/v1/browser/files -H "Authorization: Bearer $LOVELY_API_KEY"
# Delete by name or id
curl -X DELETE "https://lovelyrouter.com/v1/browser/files/Maria_Garcia_CV_2026.pdf" -H "Authorization: Bearer $LOVELY_API_KEY"Список возвращает {"object": "list", "data": [...]} с объектом файла для каждого файла. last_used_at показывает, когда файл в последний раз прикреплял запуск. Удаление возвращает {"deleted": "<name or id>"} или 404 с No such file. Загружать и удалять файлы можно также в консоли, в разделе «Секреты и файлы».
Ошибки#
| Статус | Сообщение | Причина |
|---|---|---|
400 | File names are 1-128 chars: letters, digits, space . _ - ( ) + , | В имени есть другие символы или оно слишком длинное. |
400 | Empty file | В теле нет ни одного байта. |
400 | Send multipart/form-data with a "file" field (and optional "description", "name") | В multipart-форме нет поля file. |
409 | file limit reached (100); delete some first | У вас уже 100 файлов. Замена файла с существующим именем по-прежнему работает. |
413 | Files are limited to 10 MB | Файл больше 10 МБ. |