Transcription
Пару недель назад я выпустил видео о Pi. Это было своего рода первое впечатление, где я много говорил об SDK. Краткие мысли о TUI и части реального кодирующего агента, но я не так уж много им пользовался, и мне особо нечего было сказать. Я хотел сделать продолжение, потому что я им очень много пользовался. Pi стал моим основным ежедневным кодирующим агентом. Я использую его вместо всего остального. Кодеки больше не так уж и нужны. Я делаю практически все с GBT 5.5 на низком уровне рассуждений и с кодирующим агентом PI. Я знаю, вы, вероятно, слышали о многих разных кодирующих агентах и видели множество видео о них, но просто поверьте мне и выслушайте меня по этому поводу. Этот отличается. То, как он работает, не похоже ни на одного другого кодирующего агента. И если вы когда-либо пробовали Pi раньше, вы, вероятно, уже можете сказать, что что-то не так, потому что это не то, как Pi выглядит "из коробки". Когда вы устанавливаете Pi в первый раз, это суперминималистичный кодирующий агент. Самый минималистичный из всех. Он включает четыре инструмента прямо из коробки, суперпростой, супербазовый системный промпт, очень приятный, чистый, функциональный TUI, и это все. Удивительно, но этого достаточно, чтобы он был действительно хорошим инструментом "из коробки". Эти модели стали настолько хороши в работе с Bash и написании команд Bash, чтении файлов, записи файлов, исследовании файловых систем, всем этом. Это все, что вам действительно нужно для отличного опыта, но вы можете пойти гораздо дальше. То, о чем я хочу в основном говорить в этом видео, — это система расширений в Pi. Когда я впервые попробовал Pi, все говорили мне: "О, ты должен попробовать расширения. Они действительно, действительно хороши." И я предполагал, что они похожи на расширения в других программах, которые хороши и полезны, но они просто добавляют, возможно, одну дополнительную команду здесь и там. И я не осознавал глубины, на которой вы можете полностью настроить Pi с помощью системы расширений. Это так [ __ ] хорошо. И лучшая часть всего этого в том, что кодирующий агент Pi — это все, что вам нужно для настройки вашего агента Pi. То, как я думаю об этих вещах в последнее время, заключается в том, что Open Code похож на VS Code. Когда вы устанавливаете Open Code, вы получаете действительно хорошие настройки по умолчанию "из коробки". У них есть свои мнения. У них красивый пользовательский интерфейс. Они естественно работают со всеми этими поставщиками моделей. У них даже есть свои собственные бесплатные модели, которые просто работают "из коробки". Когда вы устанавливаете Open Code, вы получите хороший опыт. У него есть мнения, которые можно расширять, но, знаете, это хорошая основа, которая очень доступна и понятна большому количеству людей, но не настолько настраиваема до безумной степени, как PI, потому что PI очень аналогичен чему-то вроде Neoim. Я никогда не был большим поклонником Neoim, хотя я использовал привязки Vim с самого начала, когда начал учиться программировать в старшей школе. Я видел, как люди в интернете говорили, какой крутой Vim, и я подумал: "О, я хочу этому научиться. Это выглядит круто." Я научился. Это встроено в мой мозг. Я не могу работать в редакторе кода без движений Vim в данный момент. Но то, как я делал это на протяжении многих лет, — это просто использование cursor, VS Code или теперь Zed. Zed — мой новый основной редактор. Я очень доволен направлением, в котором движется эта вещь. Я просто использую их с кучей пользовательских привязок клавиш и движениями Vim, и этого достаточно. Я не чувствовал необходимости углубляться в полную кроличью нору Neoim, чтобы получить эту глубокую настройку. Я углубился в кроличью нору, чтобы сделать это на Pi. И я думаю, что главное отличие в том, что Neoim был довольно сложен в настройке, особенно лет четыре года назад. Было много вещей, которые вам нужно было узнать. Было много проб и ошибок. Много конфигураций, которые вам нужно было искать. Это не было тривиально. Потребовалось много времени и усилий, чтобы изучить и создать свою пользовательскую настройку Neoim. Pi вы можете достичь того же уровня настройки, просто без кривой обучения. Потому что кривая обучения — это сказать агенту Pi, чтобы он это сделал. Когда я говорю "сказать агенту Pi, чтобы он это сделал", буквально у меня есть свежий экземпляр Pi, загруженный. Ничего странного или необычного здесь нет, кроме моих пользовательских расширений, к которым мы перейдем через секунду. Если я просто скажу: "Как мне создать пользовательское расширение Pi?" Если я просто спрошу его, как это сделать, вы можете увидеть прямо здесь, первое, что сделал агент, — это прочитал файл extensions.md в node_modules, потому что я установил это глобально с помощью V+. Так я его установил. Все, что вам нужно сделать, это просто npmi-g. Когда он установлен, он включает в себя кучу рукописных markdown-файлов, которые объясняют, как настраивать и работать с Pi. И они доступны агенту через системный промпт по умолчанию. Так, он знает "из коробки", если ему нужно что-то сделать в Pi, он должен обратиться к этому, выяснить, как это сделать, а затем даст мне ответ, как это сделать. Итак, вы можете увидеть прямо здесь, он говорит мне, как создать глобальное расширение или расширение проекта, как использовать /reload, чтобы оно действительно заработало после внесения изменений. Это еще одна действительно [ __ ] крутая вещь, которую вы можете сделать с этим: в других кодирующих агентах, если вы внесли какие-то изменения, вам нужно перезапустить их, чтобы они заработали. Архитектура Pi полностью поддерживает горячую перезагрузку. Так что, если я что-то меняю в своих расширениях Pi, например, добавил новое. Просто добавьте базовое расширение "hello world", которое является командной строкой /hello world, когда я ввожу /hello world, оно должно просто вывести "hello world" в tui. Он пройдет и фактически создаст мое расширение. Итак, он записывает новое расширение hello world.ts в расширения Pi. И теперь, когда это сделано, я могу просто ввести /reload. И теперь, когда он перезагрузил мое новое расширение, вы можете увидеть hello world.ts в моем списке. /hello, а затем я передам world. И теперь он просто скажет мне "hello world". Вот и все. У меня теперь полностью настроенное расширение добавлено в мой экземпляр Pi. Это буквально все, что требуется. Есть также куча других вещей, которые вы можете делать с Pi. Как я сказал в своем предыдущем видео, я много говорил об SDK. Это действительно мощный SDK, на котором построен OpenClaw, и благодаря тому, насколько он минималистичен и мощен, вы можете делать на его основе безумные вещи. Это проект, созданный Марио. Он очень крутой. Вам очень стоит подписаться на него в Твиттере, если вы еще этого не сделали, потому что идея Pi — создать действительно мощное минималистичное ядро, которое будет супернадежным. Сам TUI супернадежный. Система расширений супернадежная. Основные инструменты — это все, что вам действительно понадобится для большинства моделей. затем вы можете создавать свои собственные вещи поверх этого. Например, он даже не включает поддержку MCP. Если вам нужна поддержка MCP, то, как вы ее добавляете, это сказать PI: "Эй, я хочу поддерживать MCPS. Как мне это сделать? Можешь добавить это для меня?" И он просто сделает это для вас. И в результате, за последние 3 недели ежедневной работы с этим, основная модель, которую я использовал для этого, — это GPT 5.5 на низком уровне рассуждений. Он невероятно хорошо работает с Pi. Я создал свою собственную систему, которая идеально мне подходит. Я полностью открыл свою конфигурацию Pi. Я дам ссылку на нее ниже, если вы хотите посмотреть. Мы подробно поговорим обо всех изменениях, которые я внес, почему и какой у меня реальный рабочий процесс. Но сначала нам нужно услышать слово от сегодняшнего спонсора. Долгое время мы все занимались нашим CI либо в GitHub actions, либо в каком-то решении, которое пытается исправить GitHub actions. Но проблема в том, что GitHub actions фундаментально сломан. И я думаю, что в данный момент гораздо лучше перенести CLI куда-то еще, например, к сегодняшнему спонсору, Depot. Их новый продукт CI невероятен. Это полный движок CI, который существует полностью вне GitHub actions, что делает его намного быстрее и надежнее. И вся система основана на API, что означает, что она полностью совместима с синтаксисом GitHub action. Единственное, что вам нужно сделать, чтобы перенести существующий рабочий процесс GitHub actions на depot, — это запустить `doci migrate` с помощью действительно хорошего CLI, и он просто заработает. Вы получаете кучу преимуществ от этого. Одно из них, очевидно, — производительность. Я имею в виду, просто возьмите Postto в качестве примера. Без Depot их сборки занимают около 72 минут. С Depot — около 4 минут. Так что, небольшой разница. Но у них также есть реестр DBO, который прекрасно работает с CI, особенно с их новой системой кэширования "pull through", которая фактически означает, что если у вас есть образ Docker или какой-либо другой образ, хранящийся в другом реестре, и вам нужно загрузить его во время CI, обычно это будет очень медленный, хрупкий, болезненный процесс. Но Dbo может обслуживать эти кэшированные слои из своего CDN, который глобально распределен, что означает, что время сборки естественно сократится. И это также решает множество раздражающих проблем, с которыми вам пришлось бы столкнуться, чтобы подключить один из этих реестров контейнеров, вместо того чтобы проходить через болезненные потоки OAUTH бесчисленное количество раз для каждой сборки. Вы просто входите в реестр один раз с вашей панели управления depot, и тогда он настроен навсегда, и это все, о чем вам нужно беспокоиться. От их CI до их реестра, их CLI и многого другого — это идеальное место для управления вашими сборками по адресу dav7.link/depo. Прежде чем перейти к тому, как я настроил свой, я хочу кратко рассказать о том, как выглядит мой рабочий процесс. Я давно являюсь большим поклонником настольных приложений для кодирующих агентов. Действительно, с тех пор, как пару месяцев назад вышло приложение Codeex, я был довольно оптимистичен в отношении них. Затем вышел T3 Code, и я делал практически всю свою работу в T3 Code некоторое время. Но я фактически обнаружил, что возвращаюсь в терминал, чтобы делать там больше работы, потому что я так доволен Pi прямо сейчас. Он просто работает так чертовски хорошо. В целом, мой рабочий процесс выглядит так: я использую Semox для своего терминала. Это проект, который был выпущен пару месяцев назад, я уверен. Я был немного неуверен в нем в то время. Я думал: "Хорошо, это хорошая идея, но я не знаю, насколько хорошо он будет поддерживаться со временем. Куда он на самом деле пойдет?" Я был немного неуверен, но это одна из тех вещей, которые приятно меня удивили. Со временем он становился только лучше. Я очень доволен Semox. Он находится в очень хорошем состоянии прямо сейчас, и я делаю практически всю свою работу с ним, потому что он позволяет мне иметь эти боковые разделы, где, если я нажимаю Command One, я могу перейти в исходный раздел, где я был, я могу вернуться к этому проекту или этому проекту или этому проекту или этому проекту. Так что, я могу многозадачно работать над проектами. И когда я работаю над реальным проектом, в целом, у меня открыто, слева в разделенном виде, просто Command D, чтобы разделить их. У меня будут мои агенты PI, во множественном числе. Обычно у меня будет куча вкладок Pi, открытых здесь, а затем у меня будет мой сервер разработки, открытый здесь, чтобы я мог видеть свой реальный терминал, работающий. Весь этот рабочий процесс просто сработал для меня. У меня не было никаких реальных проблем с ним. Это очень хорошо. И затем, если мне нужно прочитать какой-то код или отредактировать файл, я просто открою Zed или что-то еще и сделаю это там. В конечном итоге я могу найти способ вернуться к более ориентированной на настольные приложения версии, я действительно хочу добавить Pi в T3 Code на первом месте. Его довольно легко заставить работать там. У меня уже есть это. Но чтобы он действительно работал так, чтобы команды слэш работали, расширения работали, это суперпервый классный опыт Pi. Это потребует немного больше работы. Так что я собираюсь разобраться с этим и действительно сделать это правильно. Как только это будет сделано, я, вероятно, вернусь к этому. Но пока это хороший способ делать вещи. И особенно с тем, как я люблю работать сейчас с GBT 5.5, всегда использую его на низком уровне рассуждений, потому что эта модель действительно хороша "из коробки". Я буду делать кучу разных задач по одному проекту параллельно с разными экземплярами Pi. Так что у меня будет один, где я работаю над бэкендом, один, где я работаю над фронтендом. И я очень агрессивно создаю новые потоки. Команды слэш здесь действительно хороши. Так что, если я делаю какую-то работу и думаю: "Хорошо, это сделано. Я больше не хочу с этим работать." Я могу использовать `/copy`, чтобы взять последнее сообщение и использовать его как контекст, чтобы я мог вставить его в новую сессию, чтобы очистить окно контекста. Или, возможно, я хочу скопировать все из сессии, потому что я провел некоторое исследование с помощью навыка BTCA. Тогда я просто введу `/copy all`. И это пользовательское расширение, которое я сделал. Мы поговорим об этом через секунду. А затем я могу просто ввести `/new`, создать новую сессию. Она полностью очищена. Все просто работает. Я могу ввести `/res`, когда захочу, чтобы вернуться к существующей сессии. Или, если я работаю в сессии, есть действительно приятная команда `/tree`, которая покажет вам дерево всего, что делал агент. Так что, у меня было это сообщение пользователя. Это все вызовы инструментов, которые он сделал. Это было сообщение ассистента. Очень легко перемещаться по тому, что вы на самом деле делаете, и выполнять очень ручное управление контекстом. Это кажется идеальным кодирующим агентом, когда вы занимаетесь работой кодирующего агента, но также уделяете много внимания коду и действительно не "вибрируете" кодированием, а скорее глубоко задумываетесь о том, что вы на самом деле делаете. Это отличный агент для этого. Итак, как я уже сказал, моя настройка Pi полностью открыта. Я дам ссылку на нее ниже, если вы хотите клонировать ее на свою машину. Вы можете получить ту же настройку Pi, что и у меня. У меня есть инструкции здесь, что я на самом деле не рекомендую использовать мою конкретную настройку. Это скорее просто справочник, типа: "Окей, вот некоторые крутые вещи, которые вы можете сделать с этим." Так что, я бы честно рекомендовал пройтись по моим расширениям, посмотреть, что там есть, выяснить, что хорошо, а что нет, и просто ввести это в своего собственного агента. Это реальное преимущество, которое вы получаете здесь, — это возможность гипернастроить ваш Pi до того, что вы хотите. Мое не должно быть вашим. Мы все работаем по-разному. Если вам нужно что-то, что просто имеет хорошие настройки по умолчанию и хорошие мнения "из коробки", есть куча вариантов. Цель Pi — настроить свою собственную вещь, если это имеет смысл. Но опять же, если вы хотите использовать его, полные инструкции для всего этого находятся прямо внизу репозитория, ссылка в описании ниже. Но переходя к фактическим расширениям, которые у меня есть, основные из них — это, прежде всего, `copy all`. Все, что делает это, — добавляет новую команду, чтобы я мог скопировать всю ветку. Так что все сообщения, которые я отправил, все сообщения, которые отправил ассистент, на мою клипборд, чтобы я мог вставить их в другую сессию в качестве дополнительного контекста. Это очень полезно, если я провожу сессию исследований или что-то в этом роде. Например, пытаюсь выяснить, какой правильный формат сервиса effect v4. Как мне его использовать? Получить все примеры кода, получить все обратные трассировки. Скопировать и вставить это в новую сессию, чтобы другой агент мог получить полный контекст этого, не перегружаясь вызовами инструментов. `Diff` — это просто способ для меня легче просматривать изменения. Я ввожу `/diff`. Он дает мне список всех файлов, которые были изменены в последнем повороте. Я могу нажать Enter на одном из них. Он откроет его в Zed для меня, что очень приятно. У меня есть поиск Firecrawl. Одна из самых больших вещей, которую я скучаю по Codeex, — это веб-поиск. OpenAI имеет лучший инструмент поиска в отрасли, потому что у них весь интернет кэширован на CDN где-то. Это очень быстро. Это работает очень хорошо, но вы очевидно теряете это, если находитесь вне среды Codeex. Так что я добавил Firecrawl. Они очень хороши. Я очень доволен ими в последнее время. Что-то вроде Exa, если вы использовали Exa раньше, но у них есть инструмент веб-поиска и инструмент скрейпинга. Все, что делает инструмент скрейпинга, — это берет любой URL-адрес, который вы ему даете. Он будет его скрейпить и предоставит вам эту веб-страницу в markdown, читаемом LLM. Так что это просто позволяет моей модели иметь хорошие инструменты веб-поиска, не полагаясь на curl для всего. `Flow title` — это просто для получения этого приятного пользовательского заголовка Pi. `OC` — чтобы дать ему полный контекст и инструкции о том, как подключиться и работать с моим экземпляром OpenClaw, потому что я управляю всем этим из своих агентов, потому что это просто лучший способ сделать это. У меня есть мой Mac Mini прямо там. Я подключаюсь к нему по SSH через tailscale. Я просто говорю агенту, как это сделать. Так что, если я хочу отправить проект для работы в фоновом режиме на нем или добавить новый навык в мой openclaw, который использует кучу пользовательских скриптов, это то, как я на самом деле это делаю. `Open code zen login` — я на самом деле не думаю, что это необходимо. Я думаю, что я глуплю. Я думаю, вы можете просто ввести ключ API open code zen, и он заработает. Но у меня есть этот хак, чтобы убедиться, что вход по ooth и API-ключу для open code работает. Вероятно, он не нужен. `TPS tracker` — это забавная вещь, которую я добавил, чтобы вы могли видеть здесь, внизу, грубую оценку того, насколько быстрой была генерация. Так что, например, для этого на GBT 5.5 low это было 140 токенов в секунду. Это кажется правильным. Это было очень, очень быстро. `TX9` — это маленькая вещь, над которой я работаю, которая является моей личной системой фоновых агентов. Это, по сути, просто навык, который дает модели кучу вещей, которые она может и должна делать, и описание того, как этот поток работает, чтобы взять проект, над которым я сейчас работаю, сделать его снимок, захватить все там, получить промпт от меня, отправить его на мой Mac Mini, запустить кодирующего агента на Mac Mini, чтобы фактически выполнить работу, а затем, если я захочу вернуться к нему позже, я снова запускаю TX9. Один из вариантов там — обзор или получение или последующие действия. Так что я могу просто работать с ним таким образом. Это своего рода система GStack, где вы создаете программу из markdown. Это снова может быть навык. Единственная причина, по которой это расширение, а не навык, заключается в том, что навыки всегда будут частично вставляться в контекст с заголовком и описанием, что не идеально. Я хочу вызывать это только тогда, когда я явно вызываю его. Так что, если я явно ввожу `/tx9`, это единственный раз, когда он вставляется в контекст, потому что одна из вещей, которые вы можете делать с расширениями Pi, — это фактически отправлять сообщение во время выполнения. Это здорово. `Usage` — это просто еще одна вещь, которая, по сути, является навыком, но я не хочу, чтобы она вставлялась, если я явно не скажу ей. Это даст модели кучу инструкций о том, как рассчитать мое использование по всем агентам, которые я использую. Pi, Codeex, я хочу добавить factory и пару других, но это просто способ для меня в целом проверить, сколько я использовал в последнее время. `Yeet` — это действительно полезная вещь. Это как команда, которую Тео придумал некоторое время назад, когда у него был его cloud code, чтобы сделать скрипт yeet, который, если он просто запускает его в своем терминале, он автоматически добавит и закоммитит с сообщением, которое он передает ему. Затем спросит его, хочет ли он нажать. Если он скажет "да", он нажмет. Это просто это, но LLM делает это. Он просто говорит модели этот поток, а затем, когда он закончен, он выведет, куда он был нажат, и если вы скажете ему, он создаст PR. По сути, так же, как если я закончил с изменением и хочу отправить его на продакшн, я ввожу `/yeet`, и это сделано. И, наконец, `zsh over bash`. Это просто для того, чтобы убедиться, что всякий раз, когда я использую восклицательный знак для запуска команд в Pi, что я делаю [ __ ] все время. Убедитесь, что он использует zsh, чтобы я получал мои обычные завершения и у меня не было вещей, которых нет в моем пути, потому что, опять же, я использую zsh на этой машине. Нужно убедиться, что это работает. Единственное, что еще стоит отметить, — это пользовательская тема GitHub dark default, которую я бы рекомендовал скопировать, потому что мне очень нравится, как выглядит мой Pi. Он выглядит действительно, действительно [ __ ] хорошо со всеми моими темами. У меня есть мои навыки, но они общие для всех агентов. Эти специфичны для этого проекта. Это то, о чем я хочу поговорить в другом видео. Это просто действительно крутой навык дизайна фронтенда, который лучше. И затем BTCA local, который просто набор инструкций о том, как исследовать репозиторий. Я определенно могу представить, как превращу это в расширение Pi. Потому что, опять же, проблема с навыками в том, что они всегда находятся в контексте. Даже если у вас есть что-то в описании, что гласит: "Эй, никогда не вызывай это. Это для пользователя, чтобы вручную активировать." Они все еще там. И мне это все еще не нравится. Например, вы все еще можете вызвать BTCA local таким образом, и он запустит экземпляр BTCA local, но это не так приятно, как что-то вроде `/`, которое просто отправит промпт напрямую, не имея этого в контексте перед тем, как я вызову эту фактическую вещь. И чтобы подчеркнуть этот момент, я хотел показать настройку Pi Дилана Моройи. Он тоже открыт. Он опубликовал это, что является маленьким скриншотом его Pi, по крайней мере, на 18 февраля. Я бы поставил на то, что он изменил его с тех пор, но это действительно круто, все, что он сделал. Например, это его агент Pi. Это мой агент Pi. Они не похожи друг на друга, и в этом суть. Это кодирующий агент в стиле Neoim, который вы можете настроить до [ __ ] степени, и это так легко сделать, потому что вы просто говорите агенту, чтобы он фактически сделал это. Очевидно, у него совершенно другой набор расширений, чем у меня. Я не буду проходить через все это, но есть просто несколько крутых, которые даже я, читая это сейчас, думаю: "О, это действительно крутая идея." Например, это обновление, которое добавляет команду `/update` и флаг `d-update`, который определит метод установки для Pi, а затем обновит Pi, убедится, что все исправлено, сообщит об изменениях версий и все такое. Это действительно полезно. Я хотел бы иметь это, и на самом деле я собираюсь это сделать. Я собираюсь это взять. Так что я просто буду немного болтать с ним, типа: "Эй, можешь добавить это для меня?" Он сделает кучу работы, выяснит, как добавить расширения. Немного почитает здесь. У него также есть свои собственные веб-инструменты. Он использует Exa. Это тоже работает очень хорошо. Лично я предпочитаю Firecrawl. Я думаю, что они в целом лучше, и мне нравится модель ценообразования, но суть в том, что вы можете просто вставить все, что хотите. Это не имеет значения. Он добавил пользовательский инструмент для задач. Я лично не люблю рабочий процесс с задачами, но это имеет смысл, если это то, что вы хотите. Он также имеет PMCP, чтобы убедиться, что MCP действительно работает в Pi, потому что его нет "из коробки". И действительно крутая вещь, которую он имеет здесь, — это Pi Ephemeral. Я смотрел его настройку раньше, и я был очень сбит с толку, почему в его настройке, и я дам ссылку на это ниже, я был очень сбит с толку, почему у него была эта эфемерная директория здесь с некоторыми MCP и навыками. Похоже, что это фактически добавляет эфемерный UI для выбора локальных навыков проекта, промптов, расширений, серверов MCP. И, по сути, это гарантирует, что они не загружены 24/7 вместо текущей системы, где любые мои навыки всегда будут загружены, если они глобальны. Это эфемерные навыки, которые можно вызвать только в том случае, если вы явно добавите их в контекст. Это потрясающе для серверов MCP. Например, подумайте о сервере MCP reptile. Это очень полезно. Мне это очень нравится, но я не всегда хочу, чтобы это было в контексте. Я не всегда хочу, чтобы агент имел это. Это одна из тех вещей, которые я хочу вызывать вручную. Это способ сделать это. Это очень круто. Еще пара вещей, таких как Pycloak, чтобы пометить конфиденциальный текст, чтобы вы не случайно не раскрыли API-ключи в прямом эфире. Это было бы довольно полезно для меня. Whimsical, чтобы просто изменить его, чтобы он был более причудливым. Опять же, вы просто можете увидеть, что есть миллион способов настроить эту вещь. И я бы рекомендовал использовать ее не так, что вы садитесь и говорите: "Хорошо, какие все возможные вещи мне понадобятся в Pi?" Так не делается. Вы начинаете с базового уровня, типа: "Вот вещи, которые мне действительно нужны "из коробки", которых, вероятно, нет." Может быть, тема или что-то в этом роде. Затем, когда вы работаете, когда вы сталкиваетесь с этими вещами и говорите: "О, черт, я так устал вручную говорить агенту, можешь ли ты закоммитить эти изменения и отправить их?" Тогда вы идете и говорите: "Подожди, я могу просто сделать из этого расширение. Эй, можешь ли ты сделать повторно используемое расширение под названием /`, которое делает эту вещь?" Теперь у вас есть это навсегда, и вы можете просто вводить `/` в дальнейшем. Так я заполнил свое, и так я продолжаю заполнять свое. Вы просто меняете это по ходу дела. Не делайте это заранее. Делайте это по мере необходимости. Делайте это, когда вы сделали что-то несколько раз. Звучит так, будто вы сделали какое-то повторяющееся действие три или четыре раза, тогда пора, вероятно, сделать расширение. И это действительно [ __ ] легко. И также это расширение обновления, которое мы добавили ранее, я просто введу `/reload`. Я введу `/update`. Пусть оно выполнится. Оно обновляет Pi через VP, что очень полезно, потому что я получаю сообщение типа: "О, убедитесь, что вы обновили свой экземпляр Pi", и мне приходится выходить и делать это вручную с помощью VPI-G или VP up-g или чего-то еще. Это просто глупо. Это просто запускает команду в фоновом режиме для обновления моего Pi. Он полностью обновлен. Отлично. Очень полезно. И теперь мне никогда не придется об этом думать. Это магия, которую вы получаете от этого агента. Я очень рекомендую попробовать. Это здорово. Если это было полезно для вас, вы определенно должны поставить лайк и подписаться. У меня будет еще много чего сказать о Pi, моделях и другом случайном хламе в будущем. Я уверен, что на экране есть хорошее видео, на которое вы должны нажать. И до следующего раза наслаждайтесь вашим новым пирогом.