<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>OpenCode on Tatarinov</title><link>https://blog.tatarinovms.space/categories/opencode/</link><description>Recent content in OpenCode on Tatarinov</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 17 Jul 2026 18:00:00 +0500</lastBuildDate><atom:link href="https://blog.tatarinovms.space/categories/opencode/index.xml" rel="self" type="application/rss+xml"/><item><title>OpenChamber: веб-морда для OpenCode на DietPi</title><link>https://blog.tatarinovms.space/openchamber/</link><pubDate>Fri, 17 Jul 2026 18:00:00 +0500</pubDate><guid>https://blog.tatarinovms.space/openchamber/</guid><description>&lt;p&gt;&lt;img src="https://blog.tatarinovms.space/images/posts/openchamber/logo.webp" alt="logo"&gt;&lt;/p&gt;
&lt;p&gt;OpenChamber — это веб-интерфейс для агента OpenCode. В этой заметке я опишу, как поднять его на домашнем сервере с DietPi и получить доступ к веб-морде из любой точки через Tailscale.&lt;/p&gt;
&lt;h2 id="зачем-это-нужно"&gt;
 Зачем это нужно
 &lt;a class="heading-link" href="#%d0%b7%d0%b0%d1%87%d0%b5%d0%bc-%d1%8d%d1%82%d0%be-%d0%bd%d1%83%d0%b6%d0%bd%d0%be"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;OpenCode из коробки — это терминальный агент, да у него есть своя мордашка, но она страшная. OpenChamber добавляет к нему веб-морду: удобный UI, управление сессиями и просмотр того, что делает агент, прямо из браузера. Также он дает например удобную консоль. Связка «DietPi-сервер + Tailscale» позволяет держать агента дома, не открывая порты в интернет.&lt;/p&gt;</description></item><item><title>Синхронизация скиллов и MCP opencode через git-репозитории</title><link>https://blog.tatarinovms.space/opencodeskillsmcpsync/</link><pubDate>Fri, 17 Jul 2026 18:00:00 +0500</pubDate><guid>https://blog.tatarinovms.space/opencodeskillsmcpsync/</guid><description>&lt;p&gt;&lt;img src="https://blog.tatarinovms.space/images/posts/opencodeskillsmcpsync/logo.webp" alt=""&gt;&lt;/p&gt;
&lt;h2 id="зачем-это-нужно"&gt;
 Зачем это нужно
 &lt;a class="heading-link" href="#%d0%b7%d0%b0%d1%87%d0%b5%d0%bc-%d1%8d%d1%82%d0%be-%d0%bd%d1%83%d0%b6%d0%bd%d0%be"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;У меня в opencode накопилось несколько скиллов и MCP-серверов: конвертер в маркдаун, поиск в duckduckgo, deepwiki и т.д Раньше они лежали где попало. Переезжаешь на другую машину или слетает конфиг — и всё, собирай заново.&lt;/p&gt;
&lt;p&gt;Захотелось одного: чтобы всё было в git-репозиториях как единственный источник правды, а opencode просто читал оттуда. И чтобы обновление было в одну команду, а не ручной перенос файлов.&lt;/p&gt;</description></item><item><title>Установка caveman: говорим с ИИ по-пещерному и экономим токены</title><link>https://blog.tatarinovms.space/ustanovkacaveman/</link><pubDate>Fri, 17 Jul 2026 18:00:00 +0500</pubDate><guid>https://blog.tatarinovms.space/ustanovkacaveman/</guid><description>&lt;p&gt;&lt;img src="https://blog.tatarinovms.space/images/posts/ustanovkacaveman/logo.webp" alt="logo"&gt;&lt;/p&gt;
&lt;h2 id="зачем-это-нужно"&gt;
 Зачем это нужно
 &lt;a class="heading-link" href="#%d0%b7%d0%b0%d1%87%d0%b5%d0%bc-%d1%8d%d1%82%d0%be-%d0%bd%d1%83%d0%b6%d0%bd%d0%be"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Современные ИИ-агенты любят многословие. На каждый вопрос они выдают простыню текста с вежливыми вступлениями, пояснениями и повторами. Это тратит output-токены, а значит — деньги и время.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/juliusbrussee/caveman" class="external-link" target="_blank" rel="noopener"&gt;caveman&lt;/a&gt; — это скилл/плагин для Claude Code, Codex, Gemini, Cursor, opencode и 30+ других агентов. Он заставляет агента отвечать «по-пещерному»: коротко, фрагментами, без статей и воды. По замерам автора — в среднем 65% экономии output-токенов.&lt;/p&gt;</description></item><item><title>YouTube MCP: скачиваем видео и вшиваем субтитры</title><link>https://blog.tatarinovms.space/youtubemcp/</link><pubDate>Wed, 01 Jul 2026 18:00:00 +0500</pubDate><guid>https://blog.tatarinovms.space/youtubemcp/</guid><description>&lt;p&gt;&lt;img src="https://blog.tatarinovms.space/images/posts/youtubemcp/logo.webp" alt=""&gt;&lt;/p&gt;
&lt;h2 id="зачем-это-нужно"&gt;
 Зачем это нужно
 &lt;a class="heading-link" href="#%d0%b7%d0%b0%d1%87%d0%b5%d0%bc-%d1%8d%d1%82%d0%be-%d0%bd%d1%83%d0%b6%d0%bd%d0%be"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Я часто скачиваю видео с ютуба, чтобы перекинуть в телеграм канал. В телеграме видео можно глянуть и без звука, да и принято щас так, как в рилсах кароче. Да и ролики бывают не на славянских языках, вшивать их каждый раз руками это эт лень.&lt;/p&gt;
&lt;p&gt;Я запилил эмсипи-сервер для оупенкода, который делает всё одной командой: скачивает видео, достаёт субтитры (русские или английские), переводит их на русский прямо в чате и вшивает в видео. Никаких апи-ключей, никаких внешних сервисов — только yt-dlp, ffmpeg и сам оупенкод.&lt;/p&gt;</description></item><item><title>DeepWiki MCP: AI-документация для любого репозитория</title><link>https://blog.tatarinovms.space/deepwikimcp/</link><pubDate>Sat, 27 Jun 2026 18:00:00 +0500</pubDate><guid>https://blog.tatarinovms.space/deepwikimcp/</guid><description>&lt;p&gt;&lt;img src="https://blog.tatarinovms.space/images/posts/deepwikimcp/logo.webp" alt="logo"&gt;&lt;/p&gt;
&lt;h2 id="зачем-это-нужно"&gt;
 Зачем это нужно
 &lt;a class="heading-link" href="#%d0%b7%d0%b0%d1%87%d0%b5%d0%bc-%d1%8d%d1%82%d0%be-%d0%bd%d1%83%d0%b6%d0%bd%d0%be"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;В работе с опенсорсом постоянно возникает ситуация: нашёл интересный репозиторий, а документация — это просто README. Хочется быстро разобраться, как всё устроено, но читать исходники в лоб — долго и лениво.&lt;/p&gt;
&lt;p&gt;DeepWiki решает эту проблему: он анализирует код и README репозитория, и генерирует структурированную документацию с разделами, ссылками на исходники и с возможностью задавать вопросы.&lt;/p&gt;
&lt;p&gt;А через MCP (Model Context Protocol) это становится доступно прямо из оупенкод — агент может сам сходить в диипвики за документацией по любому репозиторию.&lt;/p&gt;</description></item><item><title>DuckDuckGo Search MCP: веб-поиск для оупенкод</title><link>https://blog.tatarinovms.space/duckduckgosearchmcp/</link><pubDate>Fri, 26 Jun 2026 18:00:00 +0500</pubDate><guid>https://blog.tatarinovms.space/duckduckgosearchmcp/</guid><description>&lt;p&gt;&lt;img src="https://blog.tatarinovms.space/images/posts/duckduckgosearchmcp/logo.webp" alt="logo"&gt;&lt;/p&gt;
&lt;h2 id="зачем-это-нужно"&gt;
 Зачем это нужно
 &lt;a class="heading-link" href="#%d0%b7%d0%b0%d1%87%d0%b5%d0%bc-%d1%8d%d1%82%d0%be-%d0%bd%d1%83%d0%b6%d0%bd%d0%be"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Оупенкод хорош, но у него есть ограничение — он ничего не знает о мире за пределами того, что заложено в моделях которые ты юзаешь в агенте.&lt;/p&gt;
&lt;p&gt;DuckDuckGo Search MCP сервер решает эту проблему: он даёт оупенкод два инструмента — поиск в вебе и загрузку контента со страниц. Теперь агент может сам сходить в поисковик за актуальной информацией.&lt;/p&gt;
&lt;p&gt;Чем это отличается от встроенного &lt;code&gt;WebFetch&lt;/code&gt;? WebFetch умеет только загружать контент по конкретному URL. Если агент не знает адрес — он бесполезен. А DuckDuckGo Search MCP добавляет &lt;strong&gt;поиск&lt;/strong&gt;: агент сам находит нужные страницы по запросу, а потом может прочитать их через &lt;code&gt;fetch_content&lt;/code&gt;. То есть это полноценный веб-сёрфинг, а не просто загрузка по известной ссылке.&lt;/p&gt;</description></item><item><title>MarkItDown: конвертируем в макрдаун из оупенкод</title><link>https://blog.tatarinovms.space/markitdownmcp/</link><pubDate>Fri, 26 Jun 2026 18:00:00 +0500</pubDate><guid>https://blog.tatarinovms.space/markitdownmcp/</guid><description>&lt;p&gt;&lt;img src="https://blog.tatarinovms.space/images/posts/markitdownmcp/logo.webp" alt=""&gt;&lt;/p&gt;
&lt;h2 id="зачем-это-нужно"&gt;
 Зачем это нужно
 &lt;a class="heading-link" href="#%d0%b7%d0%b0%d1%87%d0%b5%d0%bc-%d1%8d%d1%82%d0%be-%d0%bd%d1%83%d0%b6%d0%bd%d0%be"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;В работе с оупенкодом да и с агентами в целом, постоянно нужно читать документы, пдф файлы, эксель таблицы, презентации и прочие, не очень текстовые форматы. ЭЛЛ&amp;rsquo;мки хорошо понимают макрдаун, поэтому задача конвертации в маркдаун возникает постоянно. Также таким образом я — набиваю свое хранилище в обсидиан всякими гайдами.&lt;/p&gt;
&lt;p&gt;Майкрософт выпустила утилиту &lt;a href="https://github.com/microsoft/markitdown" class="external-link" target="_blank" rel="noopener"&gt;MarkItDown&lt;/a&gt; пайтон библиотеку, которая умеет конвертировать, практически, всё во что угодно в маркдаун:&lt;/p&gt;</description></item></channel></rss>