Комментарии 15
UPDATE (Alpha 0.3.5): Упростили синтаксис!
В версии Alpha 0.3.5 мы отказались от обязательного использования флага --command. Теперь работа с CLI стала интуитивнее и быстрее.
❌ Было: codefox --command scan
✅ Стало: codefox scan (и codefox init соответственно).
Чтобы обновиться до актуальной версии, выполните: pip install --upgrade codefox
или
uv tool upgrade codefox
https://ollama.com/tavernari/git-commit-message
> git diff | ollama run "tavernari/git-commit-message"
Не смог запустить локально, простите) команда init просит токен ollama, что уже странно для локального запуска, потом scan выдает Failed to connect to mode: model 'gemma3:12b' not found (status code: 404) даже если конфиг из статьи подсунуть. Не интуитивно в общем :)
Добрый день! Спасибо за честный фидбек, вы абсолютно правы - сейчас этот шаг выглядит неинтуитивно, простите за путаницу! 🙏
Позвольте пояснить, как это исправить прямо сейчас:
Запрос токена: Команда
initпросит токен, так как мы заложили поддержку облака Ollama Cloud. Но для работы строго локально этот шаг нужно просто пропустить (ввестиnull). Вы правы, для локального инструмента это сбивает с толку. В следующем минорном патче я сделаю локальный режим дефолтным, чтобы токен запрашивался только при явном выборе облака.Ошибка 404 (model not found): Эта ошибка от самой Ollama означает, что на вашем жестком диске еще нет весов этой модели. CodeFox пока не умеет скачивать их автоматически. Чтобы всё заработало, нужно предварительно выполнить в терминале:
ollama pull gemma3:12b(или имя той модели, которую вы выбрали).
Посмотреть скачанные у вас модели можно командой codefox --command list (или на локальной машине через команду ollama list).
В следующий версии обязательно добавим авто-скачивание моделей и уберу обязательный вопрос про токен в новой Alpha-версии. Будем рады, если дадите инструменту второй шанс!
UPDATE (Alpha 0.3.5): Упростили синтаксис!
В версии Alpha 0.3.5 мы отказались от обязательного использования флага --command. Теперь работа с CLI стала интуитивнее и быстрее.
❌ Было: codefox --command scan
✅ Стало: codefox scan (и codefox init соответственно).
Чтобы обновиться до актуальной версии, выполните: pip install --upgrade codefox
или
uv tool upgrade codefox
Вот бы еще этот инструмент умел запускаться в пайлайне CI/CD Gitlab и писать inline комментарии прямо в Merge Request. Планируется такая функциональность?
Добрый день! Да, 100% планируется! :-)
Для пайплайнов мы готовим отдельную утилиту - это будут полноценные боты для GitLab CI и GitHub Actions, которые смогут делать ревью и писать inline-комментарии прямо в Merge Request
В качестве пожелания - было бы круто предусмотреть возможность подключения дополнительных MCP серверов. Например для периодической векторизации кода и метаданных проекта, для подключения собственных правил стат. анализа, интеграции с внешними источниками знаний (документация, ADR, архитектурные решения).
Тогда ревью в MR сможет опираться не только на diff текущего изменения, но и на накопленный контекст по репозиторию. Может сильно повысить качество cr
Спасибо большое за развернутое пожелание! Да, мы как раз смотрим в эту сторону. Интеграция с MCP-серверами идеально ложится в нашу концепцию умного ревью. Одно дело - просто читать соседние файлы через RAG, и совсем другое - дать модели доступ к ADR и документации проекта при ревью Merge Request'ов. Это у нас уже есть в планах на следующие мажорные версии)
уже есть давно такие инструменты
Всё так, инструментов действительно много.
Но большинство из них - либо платные SaaS-решения, либо довольно простые скрипты, которые требуют отправки кода во внешний API.
Наша цель - сделать open-source инструмент, который:
может работать внутри изолированного контура (On-Premise);
поддерживает локальные модели вроде Ollama;
и понимает контекст проекта через RAG.
Кстати, а какие из существующих ботов вы пробовали на практике?
Буду признателен, если поделитесь, что в них понравилось, а что раздражало - это сильно поможет нам не наступить на чужие грабли 🙂
Даже не пробуйте. Для нормального анализа больших данных из rag нужна хорошая llm с нормальной контекстной длиной, а это только "поиграться" типа : " сколько у птички ножек ? "
Справедливое замечание - если пытаться запихнуть весь проект в 7B модель.
Но архитектура CodeFox работает иначе.
Во-первых, мы не привязаны к одной LLM. В конфиге можно переключиться на Gemini или любой API через OpenRouter (GPT-4, Claude и т.д.), где с длиной контекста проблем нет.
Во-вторых, RAG не предназначен для загрузки “больших данных” в контекст. Его задача - точно извлечь релевантные куски.
В нашем случае это обычно 2–3 файла, связанные с Merge Request.
Для пре-коммит ревью этого более чем достаточно, чтобы ловить реальные баги, а не считать ножки у птичек 🙂
Круто!
Я сам для компании писал аналогичный софт, но мне и компании не нравятся локальные llm и то что выдает гитхаб. Сделал на основе copilot cli (позднее перешёл на sdk).
У меня идёт бесконечный опрос целевых репозиториев, когда появляется запрос ревью у аккаунта бота - скачиваю дифф.
У нас они как правило большие, так что сразу разбиваю на чанки по ханкам.
Далее запускаю агента(cli/sdk) на репозитории и скармливаю чанки по очереди.
Результат работы агент сразу пишет в файл json.
Была трабла с номерами строк, агент часто их путает или пытается комментить старые строки. Оказало проще заставить агента писать абсолютный номер строки в его дифе, а уже затем конвертировать в line+side и фильтровать.
Результат по апи в виде комментариев к конкретным строкам кода, часто с susgestions.
Хочу попробовать вначале каждой строки прописать уникальный хэш, читал что одному парню удалось так улучшить навигацию агента по строкам.
Минусы подхода:
Работа через облако, хотя никто не мешает подключить локальную ллм к агенту
Требует подписки копилота для аккаунта бота
Плюсы:
Возможность юзать крутые модели (у нас используется sonnet 4.6)
Переваривает все диффы, за счёт чанкованмя
Работает автоматически, т.к. крутится на билд машине.
Расширяется с mcp
Это полноценный агент способный к параллельному изучению кода, а не только раг.
P.S. будете применять мой опыт - упомяните где-нибудь в репе)
t.me/dezmontdexa

Как мы сделали AI code review через Ollama без облака?