Об этом проекте
SelfBench — это платформа для бенчмаркинга кодинг-агентов и моделей на собственном кодовом репозитории пользователя. Задачи выводятся из слитых pull request'ов: для каждого PR восстанавливается состояние репозитория на коммите перед изменением, в качестве инструкции используется сам запрос PR, а агент-автор создаёт скрытые тесты и эталонное решение. Задача принимается только если тесты падают без решения, проходят с исходной реализацией, проходят повторно при перезапуске и выдерживают независимую проверку; принятые задачи являются нативными задачами Harbor. Хостинговое веб-приложение поддерживает вход через GitHub, подключение репозитория, пакетную генерацию задач уровней easy, medium и hard, а также создание отдельной задачи из выбранных PR. Пакеты могут выполняться часами и продолжаться после закрытия браузера. Пользователи могут просматривать инструкцию каждой задачи, окружение, скрытые тесты, эталонный патч и артефакты пайплайна, а затем одобрять или отклонять её. Запуски выбирают модели, харнессы и песочницу; результаты сравнивают точность с затратами и предоставляют транскрипты и оценки попыток. Результаты по публичным репозиториям можно публиковать на selfbench.dev. Доступ к моделям и песочнице может управляться SelfBench с выставлением счетов или предоставляться через учётные данные организации; API-ключи дают скриптовый доступ через HTTP API. Эталонное развёртывание для самостоятельного хостинга ориентировано на GCP с Cloud Run для API и Temporal worker, опциональными воркерами GKE Autopilot для задач Harbor, Cloud SQL и GCS. Провизioning использует Terraform, Secret Manager для runtime-секретов, окружения GitHub Actions и GitHub OAuth. Локальная разработка требует Bun 1.3.14+ и Docker Compose и позволяет совместно запускать API, worker, Temporal, Postgres и локальные Docker-песочницы; разработка фронтенда поддерживает горячую перезагрузку Vite. Проект распространяется под лицензией MIT.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.