EnglishРусский Map

Fresh

title
Fresh
type
toolbox
summary
Терминальный редактор с хоткеями в стиле VS Code, мышью, LSP, плагинами на QuickJS и оркестратором worktree для кодинг-агентов
tags
rust, tui, editor, coding-agents
language
Rust
license
GPL-2.0
created
2026-09-13
updated
2026-09-13
lang
ru
translation_of
fresh-editor
source_updated
2026-09-13
translated
2026-09-14
translator
lllm/antigravity/gemini-3.7-flash-medium

Fresh - это терминальный текстовый редактор от Noam Lewis. Модель взаимодействия он заимствует у VS Code и Sublime Text, а не у vi или Emacs: стандартные сочетания клавиш, полноценная поддержка мыши, строка меню, палитра команд и отсутствие режимов. Основная подача - нулевая настройка. Он рассчитан на тех, кому нужен редактор вроде IDE через SSH или прямо в терминале, без необходимости предварительно осваивать модальный редактор.

Что внутри

Набор возможностей включает всё, чего обычно ждут от графического редактора: мультикурсор и блочное выделение, инкрементальный поиск и замену с подтверждением, git grep, разделение панелей, файловое дерево, предпросмотр markdown, закладки, макросы клавиатуры и встроенный терминал. Поддержка LSP даёт переход к определению, поиск ссылок, hover, code actions, переименование, диагностику и автодополнение. Плагины пишутся на TypeScript и работают в песочнице на базе QuickJS, причём ряд встроенных возможностей (подсветка TODO и цветов, разрешение конфликтов слияния, автодополнение путей) поставляется именно в виде плагинов. Есть интерфейс настроек и интерактивный редактор привязок клавиш.

В README утверждается, что файлы размером в несколько гигабайт открываются с незначительными накладными расходами по памяти, а задержка ввода остаётся низкой независимо от размера файла; в качестве подтверждения приводится ссылка на пост автора о загрузке огромных файлов. Это собственные заявления проекта.

Orchestrator

В кластер инструментов для агентов его включает компонент Orchestrator. Под каждую задачу выделяется отдельный workspace, привязанный к git worktree, со своими терминалами и долгоживущими командами. Переключение между workspace'ами происходит стрелками или через переключатель в доке. Кодинг-агенты (в README перечислены claude, codex, opencode и aider) запускаются внутри workspace'а с возможностью возобновления сессий, причём workspace'ы могут быть удалёнными через SSH. Это модель отдельного worktree под каждую задачу из kanbots и agent-manager, встроенная внутрь редактора, а не работающая рядом с ним. agent-shell - это вариант интеграции агентов в Emacs, но поверх ACP, а не терминалов.

Установка

curl -fsSL https://raw.githubusercontent.com/sinelaw/fresh/refs/heads/master/scripts/install.sh | sh
brew install fresh-editor
cargo install --locked fresh-editor

На Linux скрипт без root-прав устанавливает единый статический бинарник под musl в каталог ~/.local. Обновляется он командой fresh --cmd update, которая перед заменой бинарника проверяет опубликованную контрольную сумму и аттестацию релиза на GitHub. Все файлы, записанные за пределами каталога установки, фиксируются в чеке установки (install receipt), поэтому удаление сводится к очистке по этому списку. Доступны пакеты под дистрибутивы (deb, rpm, AUR, Nix, Gentoo GURU, порты FreeBSD), а также winget, Flatpak, AppImage и npm; использование пакетных менеджеров опционально, поскольку требует root-прав и ручных обновлений через пакетный менеджер.

На что обратить внимание

Редактор ежедневно проверяет обновления и попутно отправляет анонимную телеметрию: версию, ОС, архитектуру и тип терминала. Это включено по умолчанию. Флаг --no-upgrade-check или настройка check_for_updates: false отключают и то, и другое. На macOS документация рекомендует подправить настройки терминала, чтобы сочетания клавиш работали корректно - привычная плата за немодальные хоткеи внутри терминала, перехватывающего часть комбинаций.

Среди редакторов, которые вызываются через $EDITOR в editor-as-ui, Fresh относится к тем, что стремятся быть полноценной средой, а не просто компактным виджетом.

GPL-2.0, 8 865★, 332 форка, создан в декабре 2024 года, коммиты были прямо в день ingest'а. Автор один, но проект упакован во множестве дистрибутивов и активно развивается, поэтому в watchlist не занесён. Репозиторий: https://github.com/sinelaw/fresh