<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Vasy Ivqnov</title><generator>teletype.in</generator><description><![CDATA[Vasy Ivqnov]]></description><image><url>https://img1.teletype.in/files/40/0f/400f011d-f5f6-4482-9414-7a33216eeed5.png</url><title>Vasy Ivqnov</title><link>https://teletype.in/@techonotes</link></image><link>https://teletype.in/@techonotes?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=techonotes</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/techonotes?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/techonotes?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Sat, 10 Oct 2026 20:40:52 GMT</pubDate><lastBuildDate>Sat, 10 Oct 2026 20:40:52 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@techonotes/plaginy-claude-dlya-napisaniya-statey</guid><link>https://teletype.in/@techonotes/plaginy-claude-dlya-napisaniya-statey?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=techonotes</link><comments>https://teletype.in/@techonotes/plaginy-claude-dlya-napisaniya-statey?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=techonotes#comments</comments><dc:creator>techonotes</dc:creator><title>Плагины Claude для написания статей: топ-10 на октябрь 2026</title><pubDate>Sat, 10 Oct 2026 09:38:01 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/57/5e/575e3704-8cb4-4d70-9050-b808332a155c.png"></media:content><tt:hashtag>нейросети</tt:hashtag><tt:hashtag>Claude</tt:hashtag><tt:hashtag>плагины</tt:hashtag><tt:hashtag>текст</tt:hashtag><tt:hashtag>редактура</tt:hashtag><description><![CDATA[<img src="https://img2.teletype.in/files/57/5e/575e3704-8cb4-4d70-9050-b808332a155c.png"></img>Языковая модель пишет гладко и узнаваемо. Подводка перед мыслью, три прилагательных подряд, вывод, который повторяет абзац. Читатель замечает это за две строки и перестаёт верить остальному тексту. Править такое руками можно, но одно и то же приходится объяснять модели в каждом новом чате.]]></description><content:encoded><![CDATA[
  <p id="0WLq">Языковая модель пишет гладко и узнаваемо. Подводка перед мыслью, три прилагательных подряд, вывод, который повторяет абзац. Читатель замечает это за две строки и перестаёт верить остальному тексту. Править такое руками можно, но одно и то же приходится объяснять модели в каждом новом чате.</p>
  <p id="HG0R">За 2026 год эту работу упаковали в плагины и навыки для Claude. Есть навык редактора с каталогом машинных оборотов. Есть навык соавтора, который не даёт писать без контекста. Есть набор для обложек и иллюстраций и конвейер блога с проверками перед выдачей. На GitHub таких репозиториев сотни: по словам humanizer и skill находится 699 проектов, по словам claude, writing и skill ещё 1874. У самого заметного 55 тысяч звёзд.</p>
  <p id="WwdN">Я прошёл по README, файлам навыков и манифестам двух десятков проектов и отобрал десять, которые имеют смысл для человека, пишущего статьи. Отдельно смотрел, что из этого работает с русским текстом, потому что почти всё написано под английский. Звёзды, версии и даты сняты с GitHub 9 октября 2026 года. Сам я эти инструменты месяцами не гонял. Всё ниже взято из документации и исходников, и там, где автор проекта что-то обещает, я так и пишу: обещает.</p>
  <h2 id="GBwQ">Плагин, навык, маркетплейс: три слова, которые путают</h2>
  <p id="5ReB">Навык (skill) устроен просто: это папка с файлом <code>SKILL.md</code>. В шапке файла два обязательных поля, имя и описание, ниже идёт инструкция для модели. Рядом могут лежать справочники и скрипты. Модель держит в памяти только описания установленных навыков и подгружает нужный целиком, когда задача на него похожа. Формат открыт и называется Agent Skills, поэтому один и тот же навык работает в Claude Code, Codex, Cursor и десятках других агентов.</p>
  <p id="XQQW">Плагин стоит на уровень выше. Это пакет, в котором могут лежать навыки, команды со слэшем, субагенты, хуки и подключения к внешним сервисам по протоколу MCP. Плагин ставится и обновляется как целое.</p>
  <p id="WQLD">Маркетплейс представляет собой каталог плагинов: репозиторий с файлом <code>marketplace.json</code>. Официальный каталог Anthropic подключается в Claude Code сам, сторонние добавляются одной командой.</p>
  <p id="BtvS">Для темы статьи важна одна цифра. В официальном каталоге на 9 октября 315 плагинов. 123 из них относятся к разработке, 69 к продуктивности, 39 к базам данных. Плагина для работы над текстом статьи там нет. Из полезного автору нашлись поиск Exa и подключения к Notion и Canva. Всё, о чём пойдёт речь ниже, живёт в отдельных репозиториях, и у каждого свой автор со своим представлением о качестве.</p>
  <h2 id="RdBm">Как это ставится: три пути</h2>
  <figure id="dLXP" class="m_column">
    <img src="https://img2.teletype.in/files/57/5e/575e3704-8cb4-4d70-9050-b808332a155c.png" width="1840" />
    <figcaption>Схема: три способа поставить навык или плагин для Claude</figcaption>
  </figure>
  <p id="lY2j"><strong>Claude Code, плагином.</strong> Две команды внутри сессии: добавить каталог и поставить плагин из него.</p>
  <pre id="xtLi" data-lang="text">/plugin marketplace add blader/humanizer
/plugin install humanizer@humanizer</pre>
  <p id="IiT1">Вторая команда не ставит плагин сразу. Она открывает карточку, где перечислено, что именно приедет: навыки, команды, хуки, серверы MCP. Там же выбирается область действия. Вариантов три: для вас во всех проектах, для всех участников репозитория или только для вас в этом репозитории. Терминал, десктопное приложение и расширение VS Code читают одни и те же файлы настроек, так что плагин, поставленный в одном месте, виден в остальных. В облачных сессиях на claude.ai/code браузера плагинов нет.</p>
  <p id="Ht7O"><strong>Любой агент, через Skills CLI.</strong> Утилита <code>npx skills</code> находит установленных агентов и спрашивает, куда положить навык.</p>
  <pre id="f0hm" data-lang="sh">npx skills add blader/humanizer --global --agent claude-code</pre>
  <p id="E00q">Без флага <code>--global</code> навык попадёт только в текущий проект. Это самый переносимый путь, и многие авторы называют его основным.</p>
  <p id="pLXZ"><strong>Приложение Claude, архивом.</strong> В веб-версии и десктопе навык загружается как ZIP: раздел Customize, вкладка Skills, плюс, Create skill, Upload a skill. Работает на всех тарифах, включая бесплатный, но в настройках должна быть включена возможность Code execution and file creation. Папка навыка должна лежать в корне архива. Архив репозитория целиком, который GitHub отдаёт по кнопке Download ZIP, подходит не всегда: у humanizer-ru навык лежит глубже, и автор выкладывает отдельный готовый файл. В части README путь описан по-старому, через Settings и Capabilities.</p>
  <h2 id="Dzu6">Как я отбирал</h2>
  <p id="w2pS">Критериев четыре. Навык правит текст, а не переписывает его заново, и не дописывает факты. У него есть проверяемая механика: список правил, оценка или скрипт. Репозиторий живой, то есть последние правки свежие. И его можно поставить без серверов, ключей и подписок хотя бы в базовом режиме.</p>
  <p id="jp9I">Звёзды в списке приведены для ориентира. Порядок мест мой, и он рассчитан на автора, который пишет по-русски. Поэтому первым стоит проект с 427 звёздами, а не с 55 тысячами.</p>
  <ol id="fqmW">
    <li id="5xSl">ilyautov/humanizer-ru: редактура русского текста, сканер, сверка фактов. Звёзд 427, последняя правка 7 октября.</li>
    <li id="yfz6">blader/humanizer: убирает машинные обороты, 26 паттернов. Звёзд 55,1 тыс., последняя правка 28 сентября.</li>
    <li id="G3fx">anthropics/skills: соавторство в три этапа, файлы Word и PDF. Звёзд 180,1 тыс., последняя правка 9 октября.</li>
    <li id="b5hn">coreyhaines31/marketingskills: копирайтинг и редактура в семь проходов. Звёзд 53,9 тыс., последняя правка 8 октября.</li>
    <li id="oXud">conorbronsdon/avoid-ai-writing: детектор, три режима, словарь замен. Звёзд 4,9 тыс., последняя правка 8 октября.</li>
    <li id="CMk9">AgriciDaniel/claude-seo: бриф статьи и проверка под поиск. Звёзд 18,6 тыс., последняя правка 4 октября.</li>
    <li id="sJtk">JimLiu/baoyu-skills: обложки, иллюстрации, перевод, разметка. Звёзд 26,5 тыс., последняя правка 10 сентября.</li>
    <li id="YeOh">anthropics/knowledge-work-plugins: черновик по брифу, голос бренда. Звёзд 28,0 тыс., последняя правка 9 октября.</li>
    <li id="ql8k">AgriciDaniel/claude-blog: конвейер блога с пятью проверками. Звёзд 2,3 тыс., последняя правка 9 октября.</li>
    <li id="IjtU">hardikpandya/stop-slop: страница запретов и оценка из 50. Звёзд 17,9 тыс., последняя правка 17 марта.</li>
  </ol>
  <h2 id="ouOf">Десятка</h2>
  <h3 id="E73z">1. humanizer-ru: редактор для русского текста</h3>
  <p id="mVo7">Единственный проект в десятке, сделанный под русский язык с нуля. Лицензия MIT, версия 3.31.3, автор публикует под ником ilyautov.</p>
  <p id="Prwi">Внутри каталог из 67 признаков машинного текста и 21 жёсткий запрет. Запреты знакомы каждому, кто читал нейросетевые статьи: «В современном мире», «Стоит отметить, что», «Раскрыть потенциал», «Комплексный подход». Признаки тоньше: канцелярит, кальки с английского, нагромождение причастий, равномерная плотность абзацев, мораль в финале.</p>
  <p id="EgYA">Главное отличие в процедуре. Навык не переписывает текст. Он размечает конкретные места, для каждого решает, оставить его, сказать яснее или срезать, а потом сверяет результат с исходником по утверждениям. Режимов четыре: редактура, аудит без правок, точечная работа с одной категорией и тихая проверка собственных русских черновиков агента.</p>
  <p id="tQPt">В комплекте сканер на Python. Он ставит тексту оценку чистоты от 0 до 100 и работает без модели, поэтому на одном тексте всегда даёт один результат. Тот же сканер поднимается как сервер MCP с двумя инструментами. <code>scan_text</code> возвращает балл и найденные обороты с позициями. <code>compare_texts</code> сравнивает «было» и «стало» и показывает, не появились ли в правке новые числа, даты, имена и ссылки и не пропали ли старые. Для статьи с фактурой второй инструмент ценнее первого.</p>
  <pre id="HnCm" data-lang="text">/plugin marketplace add ilyautov/humanizer-ru
/plugin install humanizer-ru@ilyautov-plugins</pre>
  <p id="js13">Попробовать без установки можно на сайте проекта: сканер там считает в браузере, и текст никуда не отправляется.</p>
  <p id="gtXX">Оговорок две. По умолчанию навык вычищает все длинные тире. Если вы держитесь издательской типографики, скажите ему об этом прямо, иначе статья вернётся с запятыми на их месте. И балл сканера ничего не говорит об авторстве. Автор пишет это сам: высокий балл не гарантирует удачной редактуры, результат надо перечитывать.</p>
  <h3 id="H6V1">2. humanizer: образец, от которого отталкиваются остальные</h3>
  <p id="hGAI">55,1 тысячи звёзд, MIT, автор blader. Репозиторий появился 18 января 2026 года, и почти все остальные проекты этого рода, включая русские, называют его отправной точкой. По обзору Analytics Vidhya, 5 августа у него было 33,7 тысячи звёзд. За два месяца прибавилось больше двадцати тысяч.</p>
  <p id="XS5j">Источником правил служит страница Википедии «Signs of AI writing», по которой редакторы энциклопедии вычищают сгенерированные правки. В текущей версии 26 паттернов в шести группах. В августе их было 33, каталог с тех пор пересобрали. Пять сильнейших навык правит с первого появления:</p>
  <ul id="Cg6M">
    <li id="0zkh">противопоставление «не X, а Y»;</li>
    <li id="G5QM">эффектная фраза в конце абзаца;</li>
    <li id="dP8s">изречение, которое только звучит глубоко;</li>
    <li id="mJ1Q">разгон перед мыслью вроде «вот в чём дело»;</li>
    <li id="iTnq">спор с возражением, которого никто не высказывал.</li>
  </ul>
  <p id="zVN0">Часть остальных помечена как слабые. Одно тире или один пассив ничего не значат, считается только скопление.</p>
  <p id="zsyT">В устройстве навыка я бы выделил три решения. Он показывает работу: первый вариант, короткую критику того, что всё ещё звучит искусственно, и финал. Он не выдумывает: если фразе не хватает конкретной детали, навык спросит её у автора. И он умеет работать с файлом, меняя только прозу и не трогая код, шапку и адреса ссылок. Голос подстраивается по образцу, для этого хватает двух или трёх абзацев вашего текста.</p>
  <p id="XIys">README честен там, где другие авторы молчат. Цель навыка в том, чтобы текст хорошо читался человеком. Обход детекторов целью не объявлен, и большую часть результата детекторы по-прежнему помечают. Слепой тест, на который ссылается автор, маленький: 16 сравнений, во всех судьи предпочли правку исходнику.</p>
  <p id="KeLY">Для плагина нужен Claude Code версии 2.1.142 или новее. Для приложения Claude достаточно скачать репозиторий архивом и загрузить как навык. На русском тексте он работает частично, об этом ниже есть отдельный раздел.</p>
  <h3 id="eM8K">3. Навыки Anthropic: соавтор и офисные файлы</h3>
  <p id="xtSR">Репозиторий anthropics/skills собрал 180 тысяч звёзд, но это витрина формата, а не набор для пишущего человека. Из 12 навыков плагина example-skills автору статей нужен один, doc-coauthoring.</p>
  <p id="B7FT">Он устроен как сценарий из трёх этапов. На первом модель собирает контекст: кто читатель, какого результата вы ждёте от текста, есть ли шаблон. Потом она просит выложить всё, что вы знаете по теме, в любом порядке. На втором этапе документ строится по разделам, с вариантами и правкой каждого. Третий этап самый полезный, и руками его делают редко: готовый текст отдают свежему экземпляру Claude без контекста и смотрят, что он понял неправильно. Так находятся дыры, которых автор не видит, потому что слишком хорошо знает предмет.</p>
  <p id="uVQu">Навык писали под спецификации и служебные документы, но большой статье схема подходит так же. Соседний internal-comms держит форматы внутренних рассылок и отчётов. Второй плагин, document-skills, отвечает за файлы Word, PDF, PowerPoint и Excel. Эти четыре навыка открыты для чтения, но свободной лицензии у них нет.</p>
  <pre id="rZeo" data-lang="text">/plugin marketplace add anthropics/skills
/plugin install example-skills@anthropic-agent-skills</pre>
  <p id="UouS">В приложении Claude ставить ничего не нужно: по словам Anthropic, на платных тарифах эти навыки уже доступны. В README есть оговорка, которую стоит прочитать. Навыки опубликованы как демонстрация, и поведение Claude в продукте может от них отличаться.</p>
  <h3 id="DZpA">4. marketingskills: копирайтинг и семь проходов редактуры</h3>
  <p id="0CuZ">53,9 тысячи звёзд, MIT, автор Кори Хейнс. В наборе 50 навыков для маркетолога продукта, от аудита SEO до ценообразования. Автору статей пригодятся четыре: copywriting, copy-editing, content-strategy и social.</p>
  <p id="Lw37">Сильнее всех copy-editing. Текст проходит семь последовательных проверок, и у каждой свой вопрос:</p>
  <ol id="gkQG">
    <li id="dVZ1">Ясно ли написано.</li>
    <li id="ERDo">Выдержаны ли голос и тон.</li>
    <li id="TAvx">Зачем это читателю.</li>
    <li id="Yx9H">Чем доказано.</li>
    <li id="6YRK">Достаточно ли конкретно.</li>
    <li id="IIln">Есть ли эмоция.</li>
    <li id="yLXQ">Снят ли риск для читателя.</li>
  </ol>
  <p id="gx06">После каждого прохода навык возвращается к предыдущим и смотрит, не сломал ли их. Отдельным блоком идёт проверка на машинные обороты с точными правилами: вопрос с ответом самому себе, двоеточие перед «откровением», перечень из трёх отрицаний. Один совет оттуда годится для любого языка. Подбор синонимов создаёт новые штампы, поэтому надо вернуться к факту и переписать от него. Если факта нет, навык ставит метку <code>[NEED: ...]</code> и ничего не выдумывает.</p>
  <p id="xwte">Все навыки набора сначала читают общий документ product-marketing с описанием продукта, аудитории и позиционирования. Его заполняют один раз, иначе советы будут общими.</p>
  <pre id="nGmS" data-lang="sh">npx skills add coreyhaines31/marketingskills --skill copywriting copy-editing</pre>
  <p id="Eiom">Ограничения понятные. Набор рассчитан на англоязычный маркетинг софта: посадочные страницы, рассылки, запуск продукта. Для колонки или технического разбора половина проходов лишняя. Проект живёт на деньги партнёров. Их интеграции перечислены открыто и отделены от основных навыков.</p>
  <h3 id="vDS2">5. avoid-ai-writing: детектор со словарём</h3>
  <p id="8OWC">4,9 тысячи звёзд, MIT, последняя правка 8 октября. Если humanizer опирается на суждение модели, то здесь ставка сделана на механику. В каталоге 74 категории паттернов и таблица замен на 112 слов в трёх уровнях. Слова первого уровня помечаются всегда, второго при скоплении, третьего только при высокой плотности.</p>
  <p id="Iqok">Режимов три:</p>
  <ul id="KnIt">
    <li id="y5pT">Rewrite делает до двух проходов правки и возвращает одну финальную версию.</li>
    <li id="U11b">Detect только помечает и делит находки на настоящие проблемы и спорные случаи.</li>
    <li id="gElf">Edit правит файл на месте минимальными изменениями и отказывается трогать код и конфигурацию.</li>
  </ul>
  <p id="FOdA">Есть пять профилей голоса и отдельный скрипт-детектор, который ставит тексту балл из командной строки.</p>
  <p id="zhAg">Автор аккуратно описал установку под Cowork. Там навыки подхватываются только из установленных плагинов, и простая копия в папке <code>~/.claude/skills</code> найдена не будет.</p>
  <pre id="BWQj" data-lang="text">/plugin marketplace add conorbronsdon/avoid-ai-writing
/plugin install avoid-ai-writing@conorbronsdon-skills</pre>
  <p id="txgD">Правила и детектор откалиброваны под английский, README говорит об этом в первых строках. Для русского текста словарь замен бесполезен.</p>
  <h3 id="jEZC">6. claude-seo: бриф до текста и проверка после</h3>
  <p id="1QJO">18,6 тысячи звёзд, MIT. Это большой плагин для аудита сайтов: 26 вложенных навыков и 19 субагентов. Автору статей из него нужны три команды.</p>
  <p id="2ZvM"><code>/seo content-brief &lt;тема&gt;</code> собирает бриф: целевые запросы, структуру, внутренние ссылки. <code>/seo content &lt;адрес&gt;</code> оценивает готовую страницу по критериям E-E-A-T из руководства для асессоров Google. <code>/seo geo &lt;адрес&gt;</code> проверяет, насколько текст пригоден для цитирования в ответах нейросетевого поиска.</p>
  <pre id="k4Ej" data-lang="text">/plugin marketplace add AgriciDaniel/claude-seo
/plugin install claude-seo@agricidaniel-claude-seo
/seo setup</pre>
  <p id="eX8I">Третья команда обязательна. Она создаёт изолированное окружение Python и ставит браузер Chromium для рендера страниц. Без ключей Google плагин работает, но скорость загрузки оценивает лабораторно, а не по полевым данным.</p>
  <p id="exqx">Плагин целиком ориентирован на Google. В его README нет ни слова о Яндексе, так что для Рунета это инструмент проверки структуры и полноты текста. Семантику для Яндекса он не соберёт.</p>
  <h3 id="in5D">7. baoyu-skills: обложка, иллюстрации, перевод</h3>
  <p id="maLx">26,5 тысячи звёзд, MIT, автор Баоюй (JimLiu). В наборе больше двадцати навыков, и они закрывают то, чем остальные проекты не занимаются: всё вокруг текста.</p>
  <ul id="1RLr">
    <li id="H3U0"><code>baoyu-cover-image</code> делает обложку по содержанию статьи. Параметров пять: тип, палитра, манера, текст на картинке и настроение. Палитр 11, манер 7.</li>
    <li id="34sU"><code>baoyu-article-illustrator</code> читает статью, находит места, где нужна схема или иллюстрация, и рисует их в едином стиле.</li>
    <li id="zDFT"><code>baoyu-format-markdown</code> превращает сырой текст в размеченный: шапка, заголовки, списки, выделения.</li>
    <li id="7Eui"><code>baoyu-translate</code> переводит в трёх режимах, от быстрого до полного цикла с вычиткой.</li>
    <li id="WFvp"><code>baoyu-url-to-markdown</code> и <code>baoyu-youtube-transcript</code> достают исходники: страницу в чистый Markdown, ролик в текст.</li>
  </ul>
  <pre id="7DzO" data-lang="sh">npx skills add jimliu/baoyu-skills</pre>
  <p id="Xxki">Нужны Node.js и возможность запускать <code>npx bun</code>. Картинки рисует не Claude. Навык генерации обращается к внешним моделям (OpenAI, Google, OpenRouter, Replicate и другим), и ключ одной из них придётся завести.</p>
  <p id="jKBB">Автор сам предупреждает не ставить всё сразу: каждый лишний навык занимает место в контексте агента при каждом запуске. Навыки публикации в набор тоже входят, но рассчитаны на X, WeChat и Weibo.</p>
  <h3 id="M8fW">8. Marketing от Anthropic: черновик по брифу и голос бренда</h3>
  <p id="Zx93">Репозиторий knowledge-work-plugins (28 тысяч звёзд, Apache 2.0) содержит 11 плагинов по профессиям. Их делали для Cowork, но в Claude Code они тоже ставятся. Плагин marketing даёт семь команд, и две из них про тексты.</p>
  <p id="qSBp"><code>/draft-content</code> пишет черновик по короткому брифу: тип материала, тема, аудитория, ключевые мысли, тон и объём. <code>/brand-review</code> сверяет готовый текст с голосом бренда, терминологией и стилевым руководством. Руководство описывается один раз в локальном файле настроек, после чего обе команды применяют его без напоминаний.</p>
  <pre id="HleA" data-lang="sh">claude plugin marketplace add anthropics/knowledge-work-plugins
claude plugin install marketing@knowledge-work-plugins</pre>
  <p id="LaCR">Плагин состоит из Markdown и JSON, кода в нём нет. Авторы прямо называют его отправной точкой, которую надо переписать под свою компанию. Пример из README обещает «цепляющий заголовок, вступление с крючком, подзаголовки под SEO и понятный призыв к действию». Это описание того самого шаблонного текста, который вычищают проекты с первых двух мест, так что ставить плагин имеет смысл в паре с редактором. Ещё одна деталь из документации: автообновление для этого каталога по умолчанию выключено.</p>
  <h3 id="NRkq">9. claude-blog: конвейер с пятью проверками</h3>
  <p id="jlko">2,3 тысячи звёзд, MIT, версия 2.2.0 от 26 августа. Автор тот же, что у claude-seo, и размах тот же: 30 команд <code>/blog</code>, пять субагентов, 252 теста.</p>
  <p id="UJKg">Идея в том, что автор не должен быть первым рецензентом. Каждый черновик проходит пять проверок до того, как его покажут человеку:</p>
  <ol id="b0yf">
    <li id="iLcq">Найдены ли нужные инструменты и ключи.</li>
    <li id="PVN7">Собран ли полный комплект: Markdown, HTML, PDF и обложка.</li>
    <li id="e9WE">Не разваливается ли вёрстка на трёх ширинах экрана.</li>
    <li id="LBTt">Какую оценку поставил субагент-рецензент.</li>
    <li id="UHkZ">Открываются ли ссылки и картинки.</li>
  </ol>
  <p id="vwJ3">Рецензент ставит балл по шкале в 100 пунктов. Ниже 90 черновик уходит на доработку, попыток три.</p>
  <pre id="QgxF" data-lang="text">/plugin marketplace add AgriciDaniel/claude-blog
/plugin install claude-blog@agricidaniel-blog</pre>
  <p id="asjI">Нужен Python 3.11 или новее. Обложку плагин добывает по цепочке: сервер генерации картинок, API Gemini, платные стоки, открытый каталог Openverse. Берётся первый источник, который ответил.</p>
  <p id="yJpW">Это самый тяжёлый проект в десятке, и ради одной статьи ставить его незачем. Он оправдан, когда блог ведётся потоком и на английском. Автор предлагает и установку скриптом через <code>curl</code>, рядом опубликована контрольная сумма установщика. Сверьте её или ставьте плагином.</p>
  <h3 id="8Tg8">10. stop-slop: одна страница запретов</h3>
  <p id="xvIS">17,9 тысячи звёзд, MIT. Самый маленький проект: файл <code>SKILL.md</code> и три справочника с фразами, структурами и примерами. Правил восемь, и среди них есть жёсткие: убрать все наречия, никакого пассива, ни одного длинного тире, не начинать предложение с вопросительного слова. В конце текст оценивается по пяти шкалам от 1 до 10: прямота, ритм, доверие к читателю, естественность, плотность. Меньше 35 из 50 означает, что текст надо переписать.</p>
  <p id="lWcA">Ценность в размере. Файл читается за три минуты, его можно положить в базу знаний проекта в приложении Claude или вставить в системный промпт любой модели. Плагином он не оформлен.</p>
  <p id="U1WL">Минусов два. Репозиторий не менялся с 17 марта. А запрет на все наречия при буквальном переносе на русский обедняет текст, поэтому справочники придётся переписать под себя.</p>
  <h2 id="poxJ">Что осталось за пределами десятки</h2>
  <p id="08C2"><strong>sepia</strong> (3,1 тысячи звёзд, создан 28 августа). Работает на уровне структуры текста, а не слов. Автор опирается на исследование StoryScope: по одним структурным признакам классификатор отличает машинную прозу от человеческой с показателем macro-F1 93,2%, и правка стиля этого не лечит. Для технических статей у навыка свои правила: начинать с проблемы, показать один настоящий тупик, занять позицию, давать числа вместе с условиями. Калибровка английская и китайская.</p>
  <p id="EPm3"><strong>article-writing из набора ECC</strong> (275,7 тысячи звёзд у репозитория). Короткий навык с дельными правилами: начинать с конкретного (примера, числа, снимка экрана) и объяснять после примера, а не до. Но это один файл из сотен в наборе для разработчиков, и ставить весь набор ради него не стоит.</p>
  <p id="R8kR"><strong>claude-skills-journalism</strong> (416 звёзд). Единственный найденный набор про проверку, а не про стиль: порядок проверки фактов, верификация источников по методу SIFT, расшифровка интервью. Сделан под американскую редакцию, со стилем AP и запросами по закону о свободе информации.</p>
  <p id="sKye"><strong>smixs/humanizer-ru</strong> (187 звёзд). Второй русский проект, проще первого: 38 паттернов, линтер на Python, режим «это писала нейросеть?» со списком улик и цитатами. Перед каждым выпуском автор прогоняет 19 сценариев и 127 проверок, в том числе на сохранность фактов и цифр.</p>
  <p id="eD6n"><strong>Научные наборы.</strong> academic-research-skills (51 тысяча звёзд) и claude-scientific-writer (2,4 тысячи) ведут статью от обзора литературы до ответа рецензентам. Это отдельный жанр со своими правилами, и в общий список я их не включал.</p>
  <h2 id="5ENx">Русский текст: что переносится, а что нет</h2>
  <p id="JWLe">Английские навыки ловят две разные вещи. Первая из них слова. Списки вроде delve, leverage и testament к русскому тексту неприменимы, как и правила про дефисы в составных прилагательных или про фигурные кавычки. Вторая вещь структура: противопоставление «не X, а Y», тройки однородных членов, эффектная фраза в конце каждого абзаца, вопрос с немедленным ответом. Так модель пишет на любом языке, и структурные правила humanizer к русскому тексту применимы.</p>
  <p id="ToDc">Канцелярита английские каталоги не знают совсем. «Осуществляет деятельность», «является», «в рамках», «данный», цепочки существительных в родительном падеже. Для русского читателя это главный признак казённого и машинного текста, и ловят его только русские проекты.</p>
  <p id="dBKX">В документации humanizer-ru есть два замера, которые полезно помнить.</p>
  <p id="6PZk">Первый про тире. На корпусе LLMTrace (14 763 русских текста от 30 генераторов) в отзывах и историях длинное тире ставят от 2 до 8% людей и от 28 до 33% машин. В энциклопедических статьях картина обратная. Тире выдаёт машину в разговорном жанре и ничего не значит в справочном.</p>
  <p id="jobW">Второй про жанр. На 35 158 русских научных аннотациях строгий список запретов срабатывал на 35,9% человеческих текстов, то есть человека от модели не отличал. С поправкой на жанр ложных срабатываний осталось 4,2%. Вывод практический: гонять сканер по научной или юридической статье без указания жанра бессмысленно.</p>
  <p id="0SYt">И про детекторы. По данным того же проекта, лучший специализированный детектор для русского показывает около 86% точности на бенчмарке AINL-Eval 2025. Это ошибка в каждом седьмом случае. Английские детекторы на русском ошибаются в обе стороны: помечают живой текст как машинный и пропускают аккуратный машинный.</p>
  <h2 id="C5OX">Чего плагины не делают</h2>
  <p id="BAnx"><strong>Не проводят через детекторы.</strong> Авторы обоих главных проектов пишут это прямо. У humanizer обход детекторов не заявлен целью, у humanizer-ru сказано, что гарантии нет. Если от статьи требуют «процент человечности», плагин эту задачу не решит.</p>
  <p id="DhoD"><strong>Не проверяют факты.</strong> Сверка в humanizer-ru сравнивает числа, даты и имена в двух версиях текста. Она скажет, что в правке появилась новая цифра. Верна ли исходная, она не знает. Ошибка из черновика аккуратно переедет в чистовик.</p>
  <p id="QBxA"><strong>Не дают материала.</strong> Опыт, замер, пример из практики, неудобная деталь. Хорошие навыки это понимают и просят недостающее у автора. Плохие заполняют пустоту гладкими словами.</p>
  <p id="qtM7"><strong>Не отменяют чтения.</strong> Правка по правилам тоже оставляет след: текст, из которого убраны все тире, все наречия и все тройки, узнаётся не хуже исходного. Автор sepia формулирует это так: калибруйтесь по человеческому распределению, а не выворачивайте машинное наизнанку.</p>
  <h2 id="2jLo">Безопасность и расход контекста</h2>
  <p id="meW6">Плагин может запускать хуки и серверы MCP, то есть выполнять код на вашей машине. Карточка установки в Claude Code показывает состав плагина в разделе Will install, и читать её нужно до установки. В README официального каталога Anthropic стоит предупреждение: компания не контролирует, что входит в плагины, и не может проверить, что они работают как заявлено и не изменятся. Это сказано про курируемый каталог. К сторонним репозиториям оно относится тем более.</p>
  <p id="UB5e">Что имеет смысл делать:</p>
  <ul id="8JF7">
    <li id="5PQI">читать <code>SKILL.md</code> и скрипты до установки, особенно если навык тянет зависимости или ходит в сеть;</li>
    <li id="DeLB">ставить незнакомое в область одного репозитория, а не на всю машину;</li>
    <li id="R6ls">не запускать установщики через <code>curl</code> без сверки контрольной суммы;</li>
    <li id="BvJC">помнить, что сторонние каталоги по умолчанию не обновляются сами: это неудобно, зато плагин не поменяется без вашего ведома.</li>
  </ul>
  <p id="3Q9D">Справочный центр Claude называет два главных риска чужих навыков: внедрение инструкций в промпт и утечку данных.</p>
  <p id="JVmi">Второй расход невидимый. Каждый установленный навык добавляет своё описание в контекст каждой сессии. Команда <code>claude plugin details &lt;имя&gt;</code> показывает, сколько токенов плагин занимает постоянно и какой из его навыков самый тяжёлый. На вкладке Installed есть раздел Not used recently, и раз в месяц туда полезно заглядывать.</p>
  <h2 id="WcmB">Свой навык, если готовые не подошли</h2>
  <p id="OUeO">Все проекты из десятки закрепляют чужие правила. У издания или автора обычно есть свои: какие слова не употребляем, как оформляем числа, с чего начинаем раздел. Такие правила годами живут в головах редакторов и в старых переписках, а модели их приходится пересказывать заново.</p>
  <p id="DItp">Навык для этого пишется за вечер. Нужна папка с одним файлом:</p>
  <pre id="Jpoe" data-lang="markdown">---
name: redaktor-bloga
description: Правка статей блога по правилам редакции. Использовать, когда просят вычитать или отредактировать статью.
---

# Редактор блога

- Первое предложение раздела несёт факт, а не подводку.
- Число приводится с датой и источником.
- Термин объясняется при первом упоминании.
- В конце правки показать список изменений, а не весь текст.</pre>
  <p id="LfMG">Поле <code>description</code> важнее, чем кажется. Модель решает по нему, подключать ли навык, поэтому в описании должно быть сказано, когда он нужен, а не только что он делает. Папка кладётся в <code>~/.claude/skills</code> для Claude Code или загружается архивом в приложение.</p>
  <p id="7DUH">В плагине example-skills от Anthropic есть skill-creator, навык для написания навыков. Он ведёт по тем же шагам и помогает проверить, срабатывает ли описание на нужных запросах. Готовые проекты из десятки при этом остаются лучшими образцами. По humanizer видно, как описывать паттерн парой «было и стало». По copy-editing видно, как разбить редактуру на проходы с одним вопросом в каждом.</p>
  <h2 id="SN0T">С чего начать: три набора</h2>
  <figure id="jvFp" class="m_column">
    <img src="https://img1.teletype.in/files/4b/71/4b7111bf-b021-4b6b-86c1-2355f6449221.png" width="1840" />
    <figcaption>Схема: на каком этапе работы над статьёй какой плагин нужен</figcaption>
  </figure>
  <p id="ZP4P"><strong>Вы пишете по-русски сами.</strong> Поставьте humanizer-ru и используйте его в режиме аудита: он показывает места и не правит без спроса. Сервер со сверкой фактов подключается одной командой:</p>
  <pre id="lS8w" data-lang="sh">claude mcp add humanizer-ru -- uvx ru-humanizer mcp</pre>
  <p id="6Blq">Для длинных материалов добавьте doc-coauthoring ради третьего этапа, чтения текста свежей моделью. Больше на старте ничего не нужно.</p>
  <p id="r3XR"><strong>Блог продукта на английском.</strong> Связка marketingskills (навыки copywriting и copy-editing) и humanizer закрывает черновик и вычитку. Бриф под поиск даёт claude-seo. Этого хватает на две или три статьи в неделю.</p>
  <p id="uJVZ"><strong>Редакция или поток.</strong> Здесь выгоднее собрать свой плагин, чем ставить чужой конвейер. Плагин marketing от Anthropic годится как каркас: в нём уже есть место для голоса бренда и команда проверки. Обложки и иллюстрации можно взять из baoyu-skills, а claude-blog изучить как пример того, как проверки записываются в код и не остаются на совести автора.</p>
  <p id="zpFB">Самую дешёвую проверку можно сделать сегодня. Возьмите свою последнюю опубликованную статью, откройте сайт humanizer-ru и вставьте текст в сканер. Он ничего не правит и никуда текст не отправляет, а список найденных оборотов покажет, нужен ли вам редактор такого рода.</p>
  <h2 id="d9fY">Источники</h2>
  <ul id="mVIR">
    <li id="GKkv">Документация Claude Code об установке плагинов: <a href="https://code.claude.com/docs/en/discover-plugins" target="_blank">code.claude.com/docs/en/discover-plugins</a></li>
    <li id="991Z">Справочный центр Claude о навыках: <a href="https://support.claude.com/en/articles/12512180-use-skills-in-claude" target="_blank">support.claude.com/en/articles/12512180-use-skills-in-claude</a></li>
    <li id="CBo5">Официальный каталог плагинов: <a href="https://github.com/anthropics/claude-plugins-official" target="_blank">github.com/anthropics/claude-plugins-official</a></li>
    <li id="oMqY">Навыки Anthropic: <a href="https://github.com/anthropics/skills" target="_blank">github.com/anthropics/skills</a></li>
    <li id="G4O1">Плагины для Cowork: <a href="https://github.com/anthropics/knowledge-work-plugins" target="_blank">github.com/anthropics/knowledge-work-plugins</a></li>
    <li id="4XxB">humanizer-ru: <a href="https://github.com/ilyautov/humanizer-ru" target="_blank">github.com/ilyautov/humanizer-ru</a></li>
    <li id="s6ac">humanizer: <a href="https://github.com/blader/humanizer" target="_blank">github.com/blader/humanizer</a></li>
    <li id="oYOV">marketingskills: <a href="https://github.com/coreyhaines31/marketingskills" target="_blank">github.com/coreyhaines31/marketingskills</a></li>
    <li id="octc">avoid-ai-writing: <a href="https://github.com/conorbronsdon/avoid-ai-writing" target="_blank">github.com/conorbronsdon/avoid-ai-writing</a></li>
    <li id="GBPI">claude-seo и claude-blog: <a href="https://github.com/AgriciDaniel/claude-seo" target="_blank">github.com/AgriciDaniel/claude-seo</a>, <a href="https://github.com/AgriciDaniel/claude-blog" target="_blank">github.com/AgriciDaniel/claude-blog</a></li>
    <li id="msLA">baoyu-skills: <a href="https://github.com/JimLiu/baoyu-skills" target="_blank">github.com/JimLiu/baoyu-skills</a></li>
    <li id="BsRy">stop-slop: <a href="https://github.com/hardikpandya/stop-slop" target="_blank">github.com/hardikpandya/stop-slop</a></li>
    <li id="3JoV">sepia: <a href="https://github.com/Nanako0129/sepia" target="_blank">github.com/Nanako0129/sepia</a></li>
    <li id="mYbY">Обзор от 5 августа 2026 года: <a href="https://www.analyticsvidhya.com/blog/2026/08/top-5-claude-writing-skills/" target="_blank">analyticsvidhya.com/blog/2026/08/top-5-claude-writing-skills</a></li>
  </ul>
  <tt-tags id="bhLL">
    <tt-tag name="нейросети">#нейросети</tt-tag>
    <tt-tag name="Claude">#Claude</tt-tag>
    <tt-tag name="плагины">#плагины</tt-tag>
    <tt-tag name="текст">#текст</tt-tag>
    <tt-tag name="редактура">#редактура</tt-tag>
  </tt-tags>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@techonotes/bluetooth-na-hakintoshe-chto-kupit-i-kak</guid><link>https://teletype.in/@techonotes/bluetooth-na-hakintoshe-chto-kupit-i-kak?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=techonotes</link><comments>https://teletype.in/@techonotes/bluetooth-na-hakintoshe-chto-kupit-i-kak?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=techonotes#comments</comments><dc:creator>techonotes</dc:creator><title>Bluetooth на хакинтоше: что купить и как подключить</title><pubDate>Wed, 07 Oct 2026 10:17:12 GMT</pubDate><media:content medium="image" url="https://img4.teletype.in/files/fc/b6/fcb6ae0c-755f-407c-963e-9b5c65e3f500.png"></media:content><tt:hashtag>хакинтош</tt:hashtag><tt:hashtag>bluetooth</tt:hashtag><tt:hashtag>macos</tt:hashtag><tt:hashtag>opencore</tt:hashtag><tt:hashtag>железо</tt:hashtag><description><![CDATA[<img src="https://img4.teletype.in/files/fc/b6/fcb6ae0c-755f-407c-963e-9b5c65e3f500.png"></img>Сборка такая: Gigabyte Z690 UD DDR4 с i5-13600KF, видеокарта RX 5700 XT, macOS 13.4.1, OpenCore 1.0.7, SMBIOS iMacPro1,1. На самой плате блютуза нет, как и в большинстве десктопных конфигураций. Значит, адаптер придётся покупать отдельно. И тут важно не ошибиться: разделяет «заработает сразу» и «не заведётся вообще» именно чип, а не цена и не возня с настройками.]]></description><content:encoded><![CDATA[
  <p id="igIz">Сборка такая: Gigabyte Z690 UD DDR4 с i5-13600KF, видеокарта RX 5700 XT, macOS 13.4.1, OpenCore 1.0.7, SMBIOS iMacPro1,1. На самой плате блютуза нет, как и в большинстве десктопных конфигураций. Значит, адаптер придётся покупать отдельно. И тут важно не ошибиться: разделяет «заработает сразу» и «не заведётся вообще» именно чип, а не цена и не возня с настройками.</p>
  <h2 id="iXYs">Всё упирается в чип</h2>
  <p id="WVLX">С Monterey поддержка блютуза переехала из ядра в пользовательское пространство. За выбор отвечает демон <code>bluetoothd</code> через модуль <code>bm3_usb</code>, а перечень подходящих устройств зашит прямо в его бинарник.</p>
  <p id="O1YL">Это видно по замеру:</p>
  <pre id="8h6K" data-lang="bash">ioreg -w0 | grep USBTransport</pre>
  <p id="nDnE">Все блютуз-транспорты в системе загружены, но каждый помечен <code>!matched</code>. Причина в их персоналиях:</p>
  <pre id="bcAs">CSRBluetoothHostControllerUSBTransport      | provider: IOResources
BroadcomBluetoothHostControllerUSBTransport | provider: IOResources
IOBluetoothHostControllerUSBTransport       | provider: IOResources</pre>
  <p id="ogVD">Если провайдер <code>IOResources</code>, а не <code>IOUSBHostDevice</code>, то с USB-устройствами такие транспорты не сопоставляются вообще, какие идентификаторы ни пропиши. Если перебрать все кексты в <code>/System/Library/Extensions</code>, под блютузом найдётся ровно две персоналии с USB-провайдером, и обе сидят в <code>IOBluetoothFamily</code>: «Bluetooth Entitlement» с <code>idVendor: 1452</code> (это Apple) и конкретный хаб из Mac Pro 6,1.</p>
  <p id="tmdp">Из этого следуют два вывода, и оба экономят вам вечер:</p>
  <ul id="R0ld">
    <li id="dT3V">Гайды в духе «откройте <code>IOBluetoothFamily.kext/…/Info.plist</code> и впишите свои VID и PID», которые до сих пор вылезают первыми в поиске, мертвы по двум причинам. Устройство теперь отбирает демон, а системный том начиная с Big Sur запечатан, так что править там нечего. Именно для этого и сделан <code>BlueToolFixup</code>: он работает с памятью, а не с файлами.</li>
    <li id="Dr5a">Неподходящий чип настроить нельзя. Он либо есть в списке демона, либо его там нет. Промежуточного варианта не бывает, и карта портов его не создаст.</li>
  </ul>
  <h2 id="U3k1">Четыре варианта, которые работают</h2>
  <p id="NoQ8">Рабочих вариантов четыре. Сразу скажу про источники: своими руками я пока ни один не проверил, замена ещё едет. Поэтому у каждого варианта указано, откуда данные.</p>
  <ul id="hrR4">
    <li id="ptDL"><strong>USB-донгл ASUS USB-BT400 и клоны.</strong> Чип Broadcom BCM20702A0. Ставить <code>BlueToolFixup</code>, <code>BrcmPatchRAM3</code> и <code>BrcmFirmwareData</code>. Источник: Bluetooth 4.0, самый массовый рабочий вариант у хакинтошников.</li>
    <li id="KGsJ"><strong>USB-донгл Laird BT851 (</strong><strong><code>04b4:f901</code></strong><strong>).</strong> Чип Cypress CYW20704. Нужен <code>BlueToolFixup</code>, прошивка зашита в сам донгл. Источник: отчёт на tonymacx86 за август 2022, macOS 12.5. Трекпад, AirPods и Handoff работают, AirDrop у автора не поднялся.</li>
    <li id="Em7a"><strong>Карта M.2 Intel AX200 или AX210 через переходник.</strong> Чип Intel. Нужны <code>IntelBluetoothFirmware</code> и <code>IntelBTPatcher</code>, а Wi-Fi закрывает <code>AirportItlwm</code>. Источник: проект OpenIntelWireless, сам не проверял.</li>
    <li id="Fr7C"><strong>Карта BCM94360CD на переходнике PCIe.</strong> Чип Broadcom. Ставить почти ничего не нужно, видится как родная. Источник: с ней работают Continuity и AirDrop, но стоит заметно дороже.</li>
  </ul>
  <p id="kBF7">Как выбрать между ними:</p>
  <p id="qjWZ"><strong>Нужны только наушники, клавиатура и мышь.</strong> Берите донгл на BCM20702A0. Дешевле пути, который гарантированно даёт рабочий блютуз, нет, и половина сборок сидит именно на нём.</p>
  <p id="D6TD"><strong>Нужны Handoff, AirDrop и разблокировка часами.</strong> Тогда только карта Broadcom с родными идентификаторами. Донгл этого не даст никогда: Continuity строится на связке Wi-Fi и блютуза с одной поддерживаемой карты, по отдельности блютуз задачу не решает. Это по руководству Dortania, личного замера у меня нет.</p>
  <p id="f2TI"><strong>Wi-Fi в сборке тоже нет.</strong> AX210 закрывает обе задачи одной картой, но ценой Continuity. Мне как раз интереснее этот вариант: в EFI уже лежит отключённый <code>AirportItlwm</code>.</p>
  <p id="jAcH">Чего брать не стоит: дешёвые донглы на CSR, <code>0a12:0001</code>. macOS 13 отбраковывает их уже на этапе выбора устройства. Проверено на этой машине: демон находит донгл, читает идентификаторы и следующей строкой сообщает, что получить их не удалось.</p>
  <pre id="Hk2f">[bm3_usb][GetProductAndVendorID] -- Found USB Device :
        idVendor = 0x0A12   idProduct = 0x0001   deviceClass = 0xE0
[bm3_usb][IOThreadFunc] -- USB -- Can&#x27;t obtain vendorID and productID -- try again</pre>
  <p id="LlPr">Дальше идёт цикл, <code>Transport layer initialization failed</code> и десятки перезапусков демона подряд. Ни кексты, ни карта портов, ни снятие с устройства чужих процессов этот отказ не сдвигают, он повторяется слово в слово. Опознать такой донгл можно ещё по отзывам с фотографиями: у устройства, которое продают как Bluetooth 4.0, в свойствах стоит строка продукта <code>BT2.0</code>.</p>
  <h2 id="MEwY">Без трёх вещей блютуз не заведётся</h2>
  <p id="6Hpb">Верный чип только первый пункт из трёх. Остальные два делаются руками, и без них не заведётся даже правильное железо.</p>
  <p id="cujM"><strong>Кекст </strong><strong><code>BlueToolFixup</code></strong><strong>.</strong> Он нужен всем, кто сидит на macOS 12 и новее. Лежит в релизах BrcmPatchRAM, кладётся в <code>EFI/OC/Kexts</code> и прописывается в <code>config.plist</code> последней записью после Lilu, с <code>MinKernel 21.0.0</code>. Без него сторонние контроллеры молча игнорируются: ни ошибки, ни строки в журнале.</p>
  <p id="8R9T"><strong>Прошивочные кексты под конкретный чип.</strong> Броадкомам, которым прошивку заливают при каждом старте, нужны <code>BrcmPatchRAM3</code> и <code>BrcmFirmwareData</code>. Интелам нужны <code>IntelBluetoothFirmware</code> и <code>IntelBTPatcher</code>. Cypress и родным картам Broadcom больше ничего не требуется.</p>
  <p id="ch8M"><strong>Порт с пометкой «внутренний».</strong> Контроллер блютуза macOS берёт только с того порта, где в карте портов стоит <code>UsbConnector = 255</code>. В моём <code>UTBMap.kext</code> это правится одним значением: у порта <code>HS04</code>, куда вставлен адаптер, <code>3</code> меняется на <code>255</code>. Сработало сразу: у устройства появилось <code>Built-In: Yes</code>, а транспорт в профайлере сменился с <code>UART</code> на <code>USB</code>. Втыкать стоит в USB 2.0. Блютуз-адаптеры работают на Full Speed, скорость им не нужна, а перечисление на 2.0 идёт ровнее.</p>
  <p id="Yha9">После правок прогоните <code>ocvalidate</code> по конфигу и перезагрузитесь.</p>
  <h2 id="7FIG">Три команды покажут, почему молчит блютуз</h2>
  <p id="3eNT">На вопрос «почему не работает» почти всегда отвечают три команды. Вот что они выдают на моей машине прямо сейчас. Блютуз-железа в ней нет, и это видно по второму кадру.</p>
  <p id="9Bt9"><strong>Три команды: кекст, состояние контроллера, транспорты</strong></p>
  <figure id="7Xin" class="m_column">
    <img src="https://img4.teletype.in/files/fc/b6/fcb6ae0c-755f-407c-963e-9b5c65e3f500.png" width="2400" />
    <figcaption>kextstat: BlueToolFixup 2.7.2 и Lilu 1.7.2 загружены</figcaption>
  </figure>
  <figure id="12Mv" class="m_column">
    <img src="https://img4.teletype.in/files/7a/ce/7ace4cf0-b860-4b8e-9691-65444c6e2637.png" width="2400" />
    <figcaption>system_profiler: Address NULL, State Off, чипсет BCM_4350C2 из SMBIOS</figcaption>
  </figure>
  <figure id="Hf9N" class="m_column">
    <img src="https://img2.teletype.in/files/97/9f/979f8f59-95dd-4e66-bc91-91545a179870.png" width="2400" />
    <figcaption>ioreg: четыре транспорта блютуза, все с пометкой !matched</figcaption>
  </figure>
  <p id="pvsh">Первая команда проверяет, жив ли кекст: <code>kextstat | grep -iE &quot;lilu|bluetool&quot;</code>. Если BlueToolFixup в списке отсутствует, идти дальше некуда, проблема в конфиге, а не в железе.</p>
  <p id="vK50">Вторая показывает состояние контроллера: <code>system_profiler SPBluetoothDataType</code>. Смотрите на две строки. Если всё в порядке, там настоящий <code>Address</code> и <code>State: On</code>. Если нет, то <code>Address: NULL</code> и <code>State: Off</code>.</p>
  <p id="5c7N">А вот строка, которая вводит в заблуждение многих: <code>Chipset: BCM_4350C2</code>. Она выводится даже тогда, когда блютуз-железа в машине нет вообще, как на кадре выше. Это чип настоящего iMac Pro, зашитый в <code>bluetoothd</code>, который смотрит на SMBIOS; ACPI-устройства за ней не стоит. Не радуйтесь этой строке и не подбирайте под неё кексты.</p>
  <p id="DNop">Третья показывает транспорты в <code>ioreg</code>. Пока у нужного стоит <code>!matched</code>, контроллер не подхвачен. Заметьте: транспортов там четыре, и загружены они всегда, так что само их присутствие ничего не гарантирует.</p>
  <p id="cYZH">Подробности всегда лежат в журнале демона. В zsh <code>log</code> это встроенная команда, поэтому вызывать её нужно по полному пути:</p>
  <pre id="vRmf" data-lang="bash">/usr/bin/log show --last 5m --predicate &#x27;process == &quot;bluetoothd&quot;&#x27; --style compact</pre>
  <p id="UryZ">Строка <code>Found USB Device</code> значит, что дело дошло до отбора. <code>Transport layer initialization failed</code> означает, что чип не подхватили.</p>
  <h2 id="rpCM">У меня пока без результата</h2>
  <p id="cNft">Честно говоря, блютуза в машине пока нет, и кадры выше это подтверждают. Донгл, купленный наугад на маркетплейсе, оказался тем самым CSR и отправился в мусор, а карта AX210 ещё в пути. Как приедет, допишу, что получилось.</p>
  <p id="RBhx">Если у вас на Ventura или Sonoma работает USB-донгл, расскажите в комментариях, какой именно. Интересуют чип и идентификаторы:</p>
  <pre id="7CjU" data-lang="bash">system_profiler SPUSBDataType | grep -A 6 -i bluetooth</pre>
  <p id="XslK">Из ответов соберу список проверенного железа и вынесу его в конец статьи. Такого списка мне как раз и не хватало в начале.</p>
  <tt-tags id="ft9M">
    <tt-tag name="хакинтош">#хакинтош</tt-tag>
    <tt-tag name="bluetooth">#bluetooth</tt-tag>
    <tt-tag name="macos">#macos</tt-tag>
    <tt-tag name="opencore">#opencore</tt-tag>
    <tt-tag name="железо">#железо</tt-tag>
  </tt-tags>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@techonotes/deepseek-harness-agent-kotoryy-celikom-sobran-iz</guid><link>https://teletype.in/@techonotes/deepseek-harness-agent-kotoryy-celikom-sobran-iz?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=techonotes</link><comments>https://teletype.in/@techonotes/deepseek-harness-agent-kotoryy-celikom-sobran-iz?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=techonotes#comments</comments><dc:creator>techonotes</dc:creator><title>DeepSeek Harness: агент, который целиком собран из плагинов</title><pubDate>Wed, 07 Oct 2026 00:31:06 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/8a/87/8a876d2b-e451-48e7-824b-74447c40f345.png"></media:content><tt:hashtag>DeepSeek</tt:hashtag><tt:hashtag>ИИ_агенты</tt:hashtag><tt:hashtag>плагины</tt:hashtag><description><![CDATA[<img src="https://img1.teletype.in/files/8a/87/8a876d2b-e451-48e7-824b-74447c40f345.png"></img>DeepSeek Harness (dsh) — открытый агентский харнесс от DeepSeek AI. Снаружи это ещё одна команда для работы с моделями, внутри — конструктор: здесь плагином является всё, включая хранение сеансов, песочницу, сжатие контекста и саму модель.]]></description><content:encoded><![CDATA[
  <p id="M6N0">DeepSeek Harness (dsh) — открытый агентский харнесс от DeepSeek AI. Снаружи это ещё одна команда для работы с моделями, внутри — конструктор: здесь плагином является всё, включая хранение сеансов, песочницу, сжатие контекста и саму модель.</p>
  <h2 id="vzId">Всё есть плагин</h2>
  <p id="ouBS">Харнесс стоит на Cordis, а его архитектура описана в работе про пространственно-временную композируемость. Идея простая: приложение не пишется кодом, а собирается из слоёв-патчей. Профиль — это список бандлов плюс ваш <code>cordis.patch.yml</code>, и каждый следующий слой может отменить или дополнить предыдущий. Отсюда и <code>dsh --dump-config</code>: он печатает собранное дерево целиком, и видно, какой бандл что добавил.</p>
  <h2 id="aNvG">Профили вместо режимов</h2>
  <p id="SZKM">Одна команда умеет разное, и разница задаётся профилем, а не флагом:</p>
  <ul id="4sqE">
    <li id="4mY6"><code>dsh web</code> — локальный веб-интерфейс на <code>http://127.0.0.1:3080</code>;</li>
    <li id="3TX6"><code>dsh --profile headless &quot;задача&quot;</code> — один свежий сеанс, ответ в вывод и выход: удобно для CI;</li>
    <li id="qCqp"><code>dsh --profile sdk</code> — JSON-RPC для внешних клиентов;</li>
    <li id="Abce"><code>dsh --profile acp</code> — тот же агент внутри редактора.</li>
  </ul>
  <p id="z8F2">Профиль лежит в отдельной папке, а патчи перезагружаются на лету: правка плагина подхватывается без перезапуска. Свой набор ставится командой <code>dsh plugin --profile web add</code>.</p>
  <h2 id="D4pk">Агенты внутри агента</h2>
  <p id="xhJD">Самое интересное — харнесс умеет запускать других агентов, и это не одна кнопка:</p>
  <ul id="tcyv">
    <li id="JoOl"><strong>субагенты</strong> работают в фоне, у каждого свой контекст: родитель продолжает работу и получает результат, когда тот готов;</li>
    <li id="CWgG"><strong>наследник контекста</strong> — субагент, который видит уже состоявшийся разговор, для задач «продолжи и проверь»;</li>
    <li id="ny2u"><strong>workflow</strong> — JavaScript-сценарий, который сам раскидывает десятки субагентов по фазам, конвейером или с барьером: оркестрация описана кодом, а не диалогом;</li>
    <li id="h3zV"><strong>ralph</strong> — цикл свежих агентов по одному неизменному заданию, где рабочая папка служит долговременной памятью.</li>
  </ul>
  <figure id="gMPx" class="m_column">
    <img src="https://img1.teletype.in/files/8a/87/8a876d2b-e451-48e7-824b-74447c40f345.png" width="1200" />
    <figcaption>Схема: профиль, плагины, агент и суб-агенты</figcaption>
  </figure>
  <h2 id="dK9J">Инструменты под задачу</h2>
  <p id="8eoW">Базовый набор тоже собран из плагинов, и каждый можно выключить: чтение и правка файлов, поиск по репозиторию, фоновые задания, веб-поиск и загрузка страниц, подключение внешних серверов по MCP, «скиллы» — папки с инструкциями, которые агент подгружает по надобности.</p>
  <h2 id="HluI">Песочница и сеансы</h2>
  <p id="K5J2">Файловые операции ограничены песочницей: <code>workspace-write</code> пускает только в рабочую папку. Отказ выглядит не как падение, а как честная пометка «доступ запрещён» — её можно показать человеку и попросить прав побольше. Границу при этом называют заранее: где-то агент спрашивает на каждое опасное действие, а где-то действует сам.</p>
  <p id="tOBB">История сеанса пишется в файл и переживает перезапуск: сеанс можно возобновить, сжать, посмотреть, сколько он съел токенов. Долгая цель живёт в состоянии сеанса, а не в голове модели.</p>
  <h2 id="jdw7">Что это меняет для команд</h2>
  <p id="6q9M">Для небольшой команды DSH снимает вопрос «свой агент или готовый сервис»: готовые сервисы дают фиксированный набор функций, а харнесс — конструктор. Можно начать с одного профиля, а потом добавлять плагины по мере появления задач: сегодня — публикация статей, завтра — разбор конкурентов, послезавтра — автоматическая выгрузка метрик.</p>
  <p id="e2dE">Отдельно стоит сказать про прозрачность. Каждый вызов инструмента, каждое изменение файла и каждый переход состояния попадают в журнал. Это не «логи для отладки», а рабочий инструмент: когда агент ошибается, видно, на каком шаге и почему. И это же делает возможной честную цену: если шаг не понадобился, его видно в журнале, а не в счёте.</p>
  <p id="4R0E">Наконец, DSH не заставляет переезжать целиком. Профиль можно собрать под одну задачу и держать рядом с привычными инструментами: агент по ключу ходит в ваш сервис, забирает результат и возвращает его туда, где вы работаете.</p>
  <h2 id="HzdV">Как это выглядит на практике</h2>
  <p id="GRhH">Мы собрали цепочку из четырёх плагинов:</p>
  <figure id="usaU" class="m_column">
    <img src="https://img2.teletype.in/files/df/96/df960a81-a778-4639-b84f-75a600bf4bfb.png" width="1200" />
    <figcaption>FrameFactory: бриф и структура</figcaption>
  </figure>
  <figure id="edRB" class="m_column">
    <img src="https://img2.teletype.in/files/dd/e5/dde5bd29-80dd-4579-bab0-63006ce598bf.png" width="1200" />
    <figcaption>Prompt-Polish: улучшение запроса</figcaption>
  </figure>
  <figure id="KfFG" class="m_column">
    <img src="https://img3.teletype.in/files/ec/aa/ecaa4d31-b420-408c-a5a4-c5119bf35b84.png" width="1200" />
    <figcaption>Detector-Remover: снятие AI-отпечатков</figcaption>
  </figure>
  <p id="DZcf">Четыре шага: от брифа до человеческого текста</p>
  <ol id="zusE">
    <li id="o9Om"><strong>FrameFactory</strong> формирует бриф: темы, заголовки, план статьи и чек-лист.</li>
    <li id="iO64"><strong>Prompt-Polish</strong> переписывает черновой запрос, убирая повторы и делая формулировки короче.</li>
    <li id="k9Sf"><strong>Improve-Prompt</strong> показывает diff до отправки — важные термины и ссылки остаются нетронутыми.</li>
    <li id="yU4D"><strong>Detector-Remover</strong> добавляет разговорные обороты и лёгкую стилистическую неровность, чтобы текст реже срабатывал на AI-детекторах.</li>
  </ol>
  <h2 id="5PKI">С чего начать</h2>
  <p id="3Xry">Если хочется попробовать DSH на одной задаче, порядок такой. Сначала ставится сам харнесс и запускается <code>dsh web</code> — этого достаточно, чтобы увидеть базовый набор плагинов. Потом добавляется один-два плагина под задачу: например, для работы с текстом — генерация брифа и полировка запроса. И только после этого имеет смысл думать про субагентов и workflow: они раскрываются там, где задач уже много и они повторяются.</p>
  <p id="mv81">Важно не пытаться собрать «идеальный профиль» заранее. Профиль — это не конфигурация на годы, а рабочий набор: сегодня он один, завтра вы добавили плагин, послезавтра убрали лишнее. Патчи перезагружаются на лету, так что цена ошибки низкая: неудачный слой можно откатить, а не переписывать всё заново.</p>
  <p id="9juB">И ещё одно: DSH не прячет модель. Если вам нужен конкретный провайдер или конкретная модель, это тоже плагин. Значит, можно сравнить два варианта на одной и той же задаче, не переписывая агента.</p>
  <h2 id="LzkJ">Зачем это нужно</h2>
  <p id="48Ac">DSH — не «CLI для LLM», а среда, где агент собирается под задачу: свои инструменты, свои политики, свои профили. Самое ценное здесь — не набор готовых функций, а то, что любую из них можно заменить своей: харнесс не диктует, как устроен агент, а даёт его собрать. Проект открыт под MIT и находится в developer preview — ломающие изменения обещаны прямо в README.</p>
  <p id="89so">Код и документация: <a href="https://github.com/deepseek-ai/DeepSeek-Harness" target="_blank">github.com/deepseek-ai/DeepSeek-Harness</a>.</p>
  <tt-tags id="j3JV">
    <tt-tag name="DeepSeek">#DeepSeek</tt-tag>
    <tt-tag name="ИИ_агенты">#ИИ_агенты</tt-tag>
    <tt-tag name="плагины">#плагины</tt-tag>
  </tt-tags>

]]></content:encoded></item></channel></rss>