После поста про добавление TUI в Coddy прошло примерно три недели, версия уехала на двадцать семь промежуточных релизов, так как хотелось прежде всего довести до ума базовый необходимый минимум для комфортной работы с агентом, чем мы с Антоном @foxyminds активно и занимались. За это время было добавлено большое количество фичей, но я постараюсь быстренькой пробежаться по самым главным.
Фоновые задачи
Одна из самых важных фичей, теперь Coddy может запускать в фоне пачку задач и дожидаться их завершения, при этом агент "засыпает" приостанавливая генерацию пока фоновые процессы выполняются, но сразу после завершению они "разбудят" агента и тот продолжит генерацию.
Фоновых процессов можно запустить несколько, при этом можно настроить сколько одновременных исполняемых фоновых процессов может исполняться в один момент времени.
Сабагенты
Данный функционал как не сложно догадаться основан на фоновых процессах и является его логическим развитием. Основная причина по которой я хотел затянуть в проект сабагентов в том, что с их помощью можно запускать асинхронные интеллектуальные задачки и через оркестратор родительского агентам лишь наблюдать за ходом работы и читать результат, экономя тем самым токены.
Просишь агента разобраться, как в чужом проекте устроена, скажем, авторизация, он читает пачку файлов после чего контекст забивается и модель начинает тупить, особенно это заметно на задачках выполняемых маленькими модельками запущенными например на on-premise железе. Одно из решений это декомпозиция задачи на задачки поменьше и делегирование их выполнения изолированными сабагентам.
У каждого сабагента будет свой контекст, своя сессия и своя роль, описанная обычным markdown-файлом в
.coddy/agents (или в ~/.coddy/agents, если роль нужна во всех проектах). По завершению работы сабагент присылает оркестратору только финальный отчёт. Вся рутина остаётся в дочерней сессии, её видно в панели Tasks, а транскрипт открыть и почитать при необходимости.Авторизация через NeuralDeep
Поскольку я принимаю участие в развитии проекта NeuralDeep решил добавить в Coddy возможность проходить авторизацию:
coddy providers login neuraldeep
Любой пользователь может создать учётную запись с бесплатным тарифом, пройти авторизацию и получить для Coddy ключик, после чего пользоваться всеми моделями доступными по тарифному плану.
Режим ask
Раньше у Coddy был только agent (то есть выполнение работы на файловой системе) и plan (составление плана работ), теперь добавили ещё режим ask (просто чат с моделью, агент работает в read only режиме).
Настройка через чат
Мне давно хотелось сделать так чтобы ради добавления провайдера или правки лимитов не надо было лезть в текстовый конфиг руками.
Теперь этим занимается сам агент, причём аккуратно. Он накидывает правки, показывает что собрался поменять, и до файла они доезжают только после вашего подтверждения. На коммите конфиг проверяется по схеме, старая версия уходит в снапшот, а скилы, правила, инструменты и MCP-серверы перезагружаются на горячую, без перезапуска процесса. Если наворотил лишнего, откат командой ролбэк, так что теперь указивка "добавь провайдера openai, вот тебе ключи, заведи там модельку gpt-6-astra и сделай её дефолтной для долгосрочной памяти" закрывает задачу целиком, и работает это из любой поверхности, хоть из телеграма с телефона.
Самое любопытное что эта фича реализована через пачку тулов и специальный скил /configure-coddy, он как-раз и описывает что и как надо делать, кстати синтаксис настройки агента я делал по образу и подобию UCI, в своё время я проводил очень много времени создавая и настраивая прошивки OpenWRT, так что в некотором смысле это моя дань уважения данной операционке.
Как установить
Пишем в консоли такую вот команду:
# Linux / macOS
curl -fsSL https://coddy.dev/install.sh | bash
# Windows
irm https://coddy.dev/install.ps1 | iex
А обновить так:
coddy update
Сайт проекта - https://coddy.dev
Исходные коды - https://github.com/coddy-project/coddy-agent