CodeAgent CLI
Терминальный кодинг-агент на Python в манере Claude Code: читает репозиторий, правит файлы, запускает команды, с памятью, подагентами и MCP
- 1 026 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Агент сам выполняет команды оболочки и пишет файлы, согласование нужно только для опасных команд и записи вне белого списка
- Ходит в сеть к поставщику модели и на веб-страницы, а ключ API хранится в `~/.codeAgent/settings.json` открытым текстом
- Хуки, задания cron, фоновые подагенты и подключения MCP работают в рамках прав пользователя
Установка
Ручная установка
git clone https://github.com/Harvil1/codeAgent.git
cd codeAgent
uv sync
uv run python main.pyНужны Python 3.11 или новее и `uv`. Ключ API задается переменной окружения поставщика или в `~/.codeAgent/settings.json`. Продолжить последний сеанс: `uv run python main.py -c`.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Агент сам выполняет команды оболочки и пишет файлы, согласование нужно только для опасных команд и записи вне белого списка
- Ходит в сеть к поставщику модели и на веб-страницы, а ключ API хранится в `~/.codeAgent/settings.json` открытым текстом
- Хуки, задания cron, фоновые подагенты и подключения MCP работают в рамках прав пользователя
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
CodeAgent работает в терминале как ИИ-помощник для программирования. Вы пишете задачу обычным языком, агент читает код, правит файлы, запускает команды и ищет в сети, пока не закончит. Основной цикл собирает сообщения, сжимает контекст, обновляет набор инструментов и вызывает модель. Затем он раздает вызовы инструментов и заканчивает, когда модель инструментов больше не просит. Автор пишет, что реализовал все от интерфейса до основного цикла вручную и снабдил код подробными комментариями на китайском. Модель подключается по протоколу OpenAI или Anthropic, по умолчанию стоит DeepSeek. Рядом можно настроить вспомогательную дешевую модель для сжатия, поиска и выделения памяти. Опасные команды и запись файлов вне белого списка идут на панель согласования: разрешить один раз, разрешить всегда или отклонить. Внешние инструменты подключаются через `.mcp.json` проекта, при первом подключении требуется согласие. Память хранится в `MEMORY.md` и в журнале JSONL. Подагенты запускаются синхронно или в фоне, в изолированных worktree, есть командный режим с координатором, движок рабочих процессов с возобновлением, задания cron, хуки и откат сеанса командой `/rewind`. Конвейер самообучения наблюдает за диалогом и сохраняет повторяемые приемы как новые скиллы.
Для кого. Для разработчиков, которые хотят открытый терминальный агент в духе Claude Code с моделями DeepSeek, OpenAI, Anthropic или OpenRouter, и для тех, кто изучает устройство агента по подробно прокомментированному коду.
Подходит, если
- Нужен терминальный агент для Windows с поддержкой cmd, Windows Terminal и PowerShell
- Хочется работать с DeepSeek или другой моделью с протоколом OpenAI вместо Claude Code
- Опасные команды и запись вне белого списка должны идти на согласование с запоминанием решения
- Для изучения устройства агента нужен читаемый код: инструменты, сжатие контекста, память, подагенты
- Нужны подагенты в отдельных worktree, задания по расписанию и откат сеанса к контрольной точке
Не подходит, если
- Нужна сильная изоляция запуска команд на любой системе: песочница `bwrap` есть только в Linux
- Нужен готовый установочный пакет: проект ставится клонированием и командой `uv sync`, нужны Python 3.11 или новее и `uv`
- Нужна документация на русском: описание и комментарии в коде написаны по-китайски, английский вариант лежит в `README.en.md`
Пример запроса к агенту
Прочитай этот репозиторий, найди причину падения тестов, исправь ее и запусти тесты еще раз, а команды вне белого списка покажи мне на согласованиеОграничения
- Проект ведут и проверяют в первую очередь на Windows. Linux запускается с необязательной песочницей `bwrap`, а macOS по оценке автора теоретически работает и полностью не проверен. В `git-bash` (mintty) агент перезапускается через `winpty`.
- Ключ API читается из переменных `DEEPSEEK_API_KEY`, `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `OPENROUTER_API_KEY`, `ZHIPUAI_API_KEY` или из `models.<имя>.api_key` в `~/.codeAgent/settings.json`, где ключ лежит открытым текстом.
- Все данные хранятся в `~/.codeAgent/`: настройки, сеансы, память, скиллы, плагины и журналы, которые ротируются: до трех файлов по 5 МБ. Каталог меняется переменной `CODEAGENT_HOME`.
- Автор рекомендует перед правкой запускать `scripts/verify.py` с более чем 60 проверками и `ruff check`.
Как отключить. Закройте сеанс и удалите клонированную папку проекта. Чтобы стереть настройки, сеансы, память и журналы, удалите каталог `~/.codeAgent/` целиком, это полный сброс. Подключения MCP из `.mcp.json` проекта убираются правкой этого файла.
Частые вопросы
Нужно ли использовать DeepSeek?
Нет, DeepSeek стоит по умолчанию, но подходит любой сервер с протоколом OpenAI или Anthropic. Команда `/model` проведет по настройке: поставщик, ключ и адрес, либо правится `settings.json`.
Что происходит с опасной командой?
Команды с разрушительным действием и запись файлов вне белого списка идут на панель согласования с тремя вариантами: разрешить один раз, разрешить всегда или отклонить. Решения запоминаются между сеансами по команде или по префиксу, а конструкции вроде `$()` и подстановки процессов повышают уровень согласования.
Как агент защищается от утечки ключей?
Сканер секретов не дает ключам API попасть в файлы и память. Защита от SSRF и изоляция веб-содержимого ограничивают то, что агент берет из сети. Удаление защищенных путей запрещено, а изменение самого агента блокируется.
Что такое самообучение?
Конвейер наблюдает за ходом диалога и сохраняет повторяемые приемы как новые скиллы, наблюдение идет эвристикой или вспомогательной моделью. Скиллы лежат в `~/.codeAgent/skills/`, плагины ставятся командой `/plugin`.
Как продолжить прерванный сеанс?
Запуск с флагом `-c` возвращает последнюю сессию, а команды `/resume`, `/sessions` и `/new` управляют остальными. Команда `/rewind` откатывает работу к выбранной контрольной точке.
Как работает сжатие контекста?
Есть четыре уровня, от легкой обрезки до глубокого пересказа, плюс сводки по пачкам инструментов и очистка старых результатов по времени. Временные сообщения вставляются так, чтобы не ломать кешируемый префикс запроса.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыТерминальный агент для кодинга, заточенный под модель deepseek-v4: глубокие рассуждения, управление усилием, Agent Skills и MCP
MiniCode — компактный терминальный кодинг-агент на TypeScript в духе Claude Code: цикл с инструментами, интерфейс TUI, навыки, MCP и подагенты
Кодинг-агент для терминала и рабочего стола: не засчитывает «готово» без тестов или diff и работает с DeepSeek, GLM, Kimi, Claude, Codex и Gemini
Локальная песочница для ИИ-агентов: они запускают код и действия в изолированном контейнере, доступном через MCP
Rust SDK для агентов программирования и готовый CLI abstract: REPL, 34 инструмента, MCP, граф памяти, Anthropic и OpenAI, вывод JSON для CI
Терминальный агент для кода от Charm: любые модели, смена модели посреди сессии, LSP, MCP и Agent Skills
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| CodeAgent (эта запись) | нет | 1 026 | |
| OpenCode | нет | 220 388 | открытый агент для терминала и десктопа с режимами разработки и планирования |
| Aider | нет | 49 706 | парное программирование с картой кодовой базы, автокоммитами в git, линтингом и тестами после правок |
| CoreCoder | нет | 1 864 | учебный терминальный агент для кода на Python |
Коротко о README
В репозитории пакет `agent/` с десятками модулей (клиент модели, сжатие контекста, память, права, хуки, подагенты, движок рабочих процессов, защита от внедрения команд), встроенные определения подагентов `coordinator`, `explore`, `plan` и `verification`, скрипт проверки `scripts/verify.py`, файл `main.py` и описания на китайском и английском. Основная страница показывает возможности, быстрый старт, таблицу команд, расположение данных, обзор архитектуры и ответы на частые вопросы.