Хотелось бы поделиться новостью, что наконец-то Microsoft интегрировал SFTP браузер в Windows Terminal. Но, к сожалению, этого не произойдет, хотя функционал уже реализован и работает в форке terminal-sftp, мейнтейнер отклонил PR #20736 с сообщением:

Ответ мейнтейнера перед закрытием PR.
Ответ мейнтейнера перед закрытием PR.

Перевод:

"Простите, но это не соответствует нашему видению продукта. Мы - эмулятор терминала, и не намерены расширяться в сторону просмотра файлов. Хотя, это классная функция!"

Всем привет! Я использую Windows Terminal с переменным успехом на протяжении нескольких лет, где помимо оболочек PowerShell и Git Bash, у меня добавлены профили для подключения по SSH, настроенные через параметр commandline в settings.json. Доступ к хостам осуществляется по ключу, поэтому менеджер паролей мне не требуется. Такого решения хватает для 90% моих задач, но когда встает вопрос доступа к файлам на удаленных машинах (скачать, загрузить или изменить файл в привычном редакторе), приходится прибегать к сторонним инструментам. В поисках лучшего и удобного решения, перепробовал многие — начиная с WinSCP и заканчивая стеком sshfs (SSHFS-Win + Manager) и Code Server.

Логичный вопрос — зачем перегружать терминал? Тут все просто — использовать один привычный инструмент для решения связанных задач. Именно поэтому сообщество создало проект Tabby (ранее Terminus), который повторяет пользовательский опыт терминала от Microsoft, но при этом добавляет возможность хранения паролей и SFTP-браузер. Я им пользовался еще на ранних стадиях развития, ловил много багов и быстро от него отказался в пользу MobaXterm, который активно использовал на тот момент.

Запросы на SFTP, SCP и MODEM-передачу файлов начали появляться в репозитории microsoft/terminal начиная с 2019 года. Например, в Issue #1999 (который открыт по сей день и находится в бэклоге, ожидая внедрения плагинов), а также #1602, #4151, #11855 и многих других, которые были закрыты без реализации.

Реализация

Windows Terminal — это большой проект на C++, и без опыта с этим языком разбираться в нем та еще задачка. Только на анализ того, куда встраивать браузер, я потратил несколько недель, переписываясь с чат-ботами и делая наброски. Зная исход заранее, открывать очередной issue я не стал, а логику браузера решил делегировать ИИ, заодно давно хотел опробовать, на что способны агенты кодирования. Для реализации использовал OpenCode — открытый инструмент с бесплатной моделью Zen, и вот, что из этого получилось:

Менеджер управления профилями и подключения к SFTP сессиям.
Менеджер управления профилями и подключения к SFTP сессиям.

Браузер открывается отдельной вкладкой терминала при нажатии Ctrl+Shift+S или через палитру команд (Ctrl+Shift+P - Open SFTP browser). При первом запуске пользователя встречает менеджер профилей, которые управляются из интерфейса и сохраняются в конфигурационном файле %LOCALAPPDATA%\Microsoft\Windows Terminal\sftp-profiles.json. SSH/SFTP реализован на базе библиотеки libssh2, при первом соединении проверяется known_hosts и выводится диалог подтверждения отпечатка ключа. Пароли профилей хранятся в зашифрованном виде с помощью DPAPI (CryptProtectData), поэтому в открытом виде на диск они не утекают. Файлы можно просматривать, создавать, удалять, скачивать на локальную машину, загружать на сервер или открывать на редактирование в VSCode.

Файловый менеджер.
Файловый менеджер.

Код браузера открыт, а собранная версия опубликована на странице релизов, откуда ее может загрузить и попробовать любой желающий.

Итог

Пройдя путь от изучения до реализации и потратив недели на анализ внедрения, я сделал простой вывод — пока большой проект не готов расширять свое продуктовое видение, ничто не мешает воплотить любые собственные задумки и использовать их, вместо того чтобы годами ждать официальной поддержки. Особенно реальным это становится сегодня, с возможностями генеративного ИИ. Для меня это оказался интересный опыт, на генерацию логики понадобилось около двух тысяч токенов и 3 дня, а на отладку и тесты — еще столько же.

А какими решениями вы пользуетесь для доступа к файлам на удаленных машинах? Делитесь в комментариях!

Комментарии (5)


  1. igrblkv
    30.09.2026 06:51

    Ничего не понятно, но очень интересно!

    У меня уже есть Предварительная версия терминала, мне в ту же папку надо архив распаковать? WinGet после такого что и откуда будет обновлять?

    Или надо рядом создать ещё один Windows Terminal и пользоваться двумя Терминалами?


  1. Lifailon Автор
    30.09.2026 06:51

    Обновления такая версия поддерживать не будет. Хотя автоматизировать данный процесс можно, это не гарантирует стабильности.

    Так как функционал не будет внедрен в официальный репозиторий (о чем говорится в шапке статьи), форк подразумевается использовать как альтернативу оригинальному терминалу.


    1. igrblkv
      30.09.2026 06:51

      Т.е. ставить рядом и пользоваться двумя?

      Это у меня итак отдельно есть WinSCP, например.

      А плагином (к стандартному релизу от мелкомягких) это не реализуется?
      Там psm1 какие-то есть, они только для раскрашивания годятся?


      1. Lifailon Автор
        30.09.2026 06:51

        Официальный Windows Terminal на текущий момент вообще не поддерживает систему плагинов.

        А файлы с расширение .psm1 — это модули PowerShell, которые используются в проекте только для автоматизации сборки и настройки профилей, функционал самого терминала они не расширяют.


  1. crawlingroof
    30.09.2026 06:51

    Far наше всё.