Обновить
512K+

Open source *

Открытое программное обеспечение

867,65
Рейтинг
Сначала показывать
Порог рейтинга

Проект tlosint-vm - виртуальная машину от Tracelabs OSINT, которая проверяет тысячи открытых источников по запросу:

  • сервис специально создали для соревнований OSINT‑исследователей и поиска пропавших пользователей в сети;

  • готовый стек: Shodan CLI, Sherlock (поиск по логинам и юзернеймам), PhoneInfoga (разведка по номерам телефонов), SpiderFoot и sn0int (автоматизированные OSINT‑фреймворки), theHarvester и h8mail (email), Sublist3r (поддомены), exiftool и steghide (метаданные и стеганография);

  • проработана приватность — как только пользователь выходит из сервиса, то система чистит все данные и куки;

  • внутрь также вшили хранилище Obsidian, где можно оставлять заметки во время поиска;

  • без ограничений, открытый проект, легальный поиск по открытым источникам.

Теги:
+7
Комментарии0

Представлен проект Hugging Bay — Pirate Bay для нейросетей. Туда заливают слитые и open Source веса практически всех моделей через торренты для локального запуска. Можно найти модели под любые задачи и железо — есть удобные фильтры и разбивка по категориям. ИИ‑поисковики, модели для кодинга, аналитики, дизайна, перевода на все языки мира, OCR, OSINT и прочего.

Теги:
+18
Комментарии8

Открытый проект RepoStore для смартфонов на Android превращает GitHub в Google Play и помогает найти любые Android‑приложения среди репозиториев. С помощью RepoStore можно быстро найти и открыть APK‑файл — у него будут описание и даже рейтинг. Всё разделено по категориям.


Теги:
+13
Комментарии0

Разработчик Тарун Гупта представил открытый проект autopilot-jobhunt. Это — ИИ-инструмент, который автоматически ищет вакансии в интернете, сравнивает их с профилем пользователя и присылает наиболее подходящие варианты в Telegram.

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

По запросу ИИ-инструмент может адаптировать резюме под конкретную вакансию и подготовить сопроводительное письмо. При этом решение не отправляет отклик автоматически: пользователь должен самостоятельно проверить документы и решить, подавать ли заявку.

Сервис задуман как бесплатный. Для поиска вакансий он использует веб-агента TinyFish, а для анализа — бесплатные модели через OpenRouter. По умолчанию система переключается между Llama, Nvidia Nemotron, Google Gemma 4 и Alibaba Qwen3, если у одной из моделей заканчивается лимит. Вместо OpenRouter можно подключить Claude Code и API Anthropic, но в этом случае понадобится подходящая подписка или оплаченные токены.

Разработчик отдельно описал меры защиты данных. Файл с настройками и ссылкой на локальное резюме исключён из Git, поэтому его нельзя случайно опубликовать вместе с кодом проекта. Однако содержимое резюме все равно передаётся моделям, подключённым через OpenRouter. Тем, кто не хочет отправлять данные через этот сервис, автор предлагает использовать Claude Code.

По умолчанию autopilot‑jobhuntt настроен на поиск вакансий для разработчиков, но список профессий, компаний и требований можно изменить — нужно отредактировать файл конфигурации проекта.

Теги:
+4
Комментарии1

В Anthropic раздают бесплатно доступ на полгода к Claude Max для разработчиков, кто делает коммиты и занимается Open Source проектами. Если поддерживаете важный пакет или сервис или активно участвуете в жизни открытых проекта, то можете подать заявку.

Требования к участникам открытых проектов, которые могут отправить заявку на получение бесплатной 6-месячной подписки Claude Max 20x:

  • Авторы и сопровождающие открытых библиотек, пакеты с которыми насчитывают более 200 тысяч загрузок из каталогов, таких как npm, PyPI, crates.io и RubyGems, или которые используются как минимум в 500 репозиториях или в 100 зависимых пакетах.

  • Ключевые разработчики крупных открытых проектов, имеющие право коммита или входящие в число сопровождающих. В качестве примеров уровня проектов упомянуты CPython, Rust, Node.js, Apache, CNCF, Kubernetes, ядро Linux, Django и Rails.

  • Активные участники разработки, от которых было принято более 100 pull‑запросов в не аффилированные с ними проекты.

  • Создатели сообществ, в разработке которых участвуют 20 и более сторонних разработчиков, от которых принимались pull‑запросы за последний год.

  • Репозитории, применяемые в работе критически важной инфраструктуры (вес 0.4+ в рейтинге OpenSSF).

Теги:
+5
Комментарии0

WT Max v.0.2.0. - библиотека для интеграции с Joomla

Обновление Joomla-библиотеки для API мессенджера MAX с системным плагином для настроек и диагностики подключения. Библиотека предназначена для разработчиков.

Расширение является Joomla-обёрткой над самостоятельным PHP Composer-пакетом Webtolk\Max, у которого так же состоялся релиз 0.2.0. PHP SDK разрабатывалось с учётом стандартов PSR и полностью не зависит от какого-либо фреймворка и/или пакета.

v.0.2.0. Что нового?

  • Подключена новая версия API-хоста: platform-api2.max.ru. Для корректной работы ваших чат-ботов и мини-приложений до 19 июля 2026 необходимо перенаправить HTTP-запросы с домена platform-api.max.ru на platform-api2.max.ru, а также добавить сертификат Минцифры в список доверенных. Как это сделать - ссылка на инструкция внизу поста. ‼️Если этого не сделать - вы получите уведомление об ошибке соединения и неверном сертификате.

  • Расширена публичная API-поверхность. Обновлены и дополнены методы для работы с чатами и сообщениями (включая новые сценарии по ссылкам на чат и выборке по query-id сообщения). Удалены устаревшие методы.

  • Обновлён набор публичных JSON-схем. Добавлены и синхронизированы схемы для новых и изменённых endpoint-ов. Эти схемы - снимки реальных ответов API Max, так как мы прекрасно знаем, что документация и реальное API может отличаться порой очень и очень значительно.

  • Обновление документации. README, стартовые руководства, референсы и описания сущностей/пэйлоадов приведены к текущему API-уровню.

Ссылки:

Теги:
+3
Комментарии0

Открытый проект T3MP3ST превращает ИИ‑агентов в системы для поиска уязвимостей в IT‑проектах:

  • это мультиагентная система, которая ищет любые уязвимости в сервисах;

  • нужно только указать цель и агенты сами проведут разведку, найдут баги и предоставят отчёт;

  • результаты — из 104 тестовых задач ИИ нашёл уязвимости в 90% с первой попытки.

  • удобный инструмент для изучения кибербезопасности на практике.

Теги:
+4
Комментарии0

Один из топовых генераторов фонов для сайтов, приложений и презентаций стал бесплатным — Paper Shaders открыли исходный код. Теперь проект можно свободно использовать в любых веб-задачах, создавать собственные инструменты, плагины и даже коммерческие продукты, объявил СЕО Paper Shaders.

Теги:
+6
Комментарии1

Открытый проект CAPTCHA Solver — CloakBrowser + 2Captcha/CapSolver имитирует поведение человека и проходит почти все проверки на ботов. Инструмент умеет:

  • решать на раз‑два более 30 видов капчи, имитирует поведение человека, чтобы обойти любые ограничения.

  • ставится локально, в сервисе не надо регистрироваться и устанавливать дополнительное ПО..

Теги:
+6
Комментарии0

Разработчики EVE Online выложили исходный код игры. Студия Fenris Creations известная ранее как CCP Games полностью открыла исходный код своего движка Carbon Platform, на котором работает знаменитая космическая MMO.

Разработчики не стали ограничиваться простыми утилитами и выложили в открытый доступ самые важные и сложные компоненты движка:

  • Trinity — графический движок, отвечающий за всю визуальную составляющую и рендеринг;

  • Destiny — физический модуль и систему поиска путей, которая позволяет просчитывать масштабные космические баталии с участием тысяч игроков одновременно;

  • Базовую архитектуру, связывающую все элементы системы воедино.

Большая часть компонентов Carbon Engine опубликована под максимально свободной лицензией MIT, которая разрешает бесплатное использование, модификацию и распространение кода, в том числе и в коммерческих целях.

Теги:
+20
Комментарии6

Представлен бесплатный LLM‑курс, чтобы вкатится в разработку нейросетей — Large Language Model Course. В проекте три части:

  • LLM Fundamentals: вся база для новичка, основы Python, математики и построения нейросетей;

  • LLM Scientist: научат тренировать свои нейросети, познать файнтюн, квантизацию и другие ИИ‑термины;

  • LLM Engineer: вершина, где учат создавать полноценные ИИ‑сервисы и интегрировать их в бизнес‑процессы.

Теги:
+6
Комментарии0

Представлен открытый консольный клиент Torlink (требуется установка Node с nodejs.org):

  • утилита проверяет все источники, находит только проверенные и подбирает альтернативы при отсутствии файла на одном из них;

  • показывает размер, количество сидов и запускает загрузку прямо из терминала;

  • без регистрации. без ограничений.

Теги:
+3
Комментарии1

Как я перестал бояться опенсорсить свои поделки

для тех, кто пишет код в VS Code, не помнит наизусть флаги git filter-repo и считает, что IDE — нормально. Если ты из лагеря «настоящие программисты сидят в vim и пишут всё в Makefile» — просто пролистай

git-private2public как .gitignore, но чтобы сделать зеркало приватного репо одной git push.

Что это

CLI-тулза. Держит два репо в синхроне: приватный (ваш рабочий бардак) и публичный (чистая версия). При пуше автоматически вычищает секреты и обновляет публичный mirror.

Конфиг — папка .gitpublic/, как .gitignore. По одной маске на строку, без YAML.

.gitpublic/
  config      — source / target / push
  ignore      — что НЕ публиковать
  replace     — что заменить (==> без кавычек)
  scan        — что не должно попасть, иначе падаем
  allow       — но конкретно эти можно пропускать в пуш,  

Файла нет → настройки нет. Просто.

Автопуш через git hook

pip install git-private2public
cd ~/my-private-repo
git-private2public init

init создаёт пять пустых файлов с закомментированными примерами. Дальше правите то, что нужно:

Easy — только ignore:

.env
secrets/
*.key
credentials.json

Medium — добавляете replace:

10.0.0.5          ==> 203.0.113.5
real-token-here   ==> ***

Hard — добавляете scan (защита от факапов):

# scan
regex:github_pat_[A-Za-z0-9_]{30,}
regex:192\.168\.

Если в коде найдётся паттерн из scanpublish падает, ничего не пушится.

git-private2public scan      # dry-run
git-private2public publish   # реальный пуш

Автопуш через git hook

Это та фича, ради которой я и начал. Никакого CI, никаких GitHub Actions.

git-private2public hook enable

Ставит pre-push хук. Теперь обычный git push — отправляет в приватный репо и автоматически чистит-пушит в публичный mirror.

git-private2public hook status    # проверить
git-private2public hook disable   # выключить

Работает офлайн, на любом хостинге.

Почему не git filter-repo или BFG

Я ими пользовался. Они мощнее, но мне нужны были четыре вещи в одной тулзе:

Не нашёл — написал.

Установка (ещё раз, коротко)

pip install git-private2public

Если pip не вариант — single-file: скачал git_private2public.py, chmod +x, готово (нужны git-filter-repo и pyyaml).

Ссылки

TL;DR

pip install git-private2publicinit → редактируешь .gitpublic/ignorepublish. Если хочешь автопуш — hook enable.git push. Всё.

Теги:
+8
Комментарии0

Ближайшие события

Представлен открытый сервис Aliens Eye, который ищет всевозможную информацию в соцсетях, на сайтах и других ресурсах, предоставляя полный отчёт:

  • 840 различных OSINT-инструментов для анализа сайтов, соцсетей, других ресурсов, хостингов, доменов и даже физических устройства;

  • все сервисы работают по одному клику. При этом интерфейс интуитивно понятен;

  • отчёты предоставляет в JSON, CSV, HTML и Markdown форматах;

  • без ограничений, без дополнительных установок.

Теги:
+6
Комментарии0

Как я в Zabbix мониторю аккаунт в REG.RU: баланс, неоплаченные счета и сроки всех услуг - через API reg.ru

Домен можно сторожить по WHOIS: взял имя, посмотрел дату, повесил триггер «истекает через 30 дней». Но WHOIS видит ровно один домен и ничего вокруг. Он не знает, что на счёте кончились деньги, что висит неоплаченный счёт, из-за которого услугу снимут раньше срока, что в том же аккаунте ещё десяток доменов, SSL и хостинг. Поэтому я опрашиваю не WHOIS, а биллинговый API самого регистратора - он отдаёт весь аккаунт целиком. Собрал из этого шаблон под Zabbix 7.0, MIT. Расскажу, как он устроен и что в нём, на мой взгляд, сделано правильно.

Архитектура Три HTTP-айтема ходят в api.reg.ru - список услуг, неоплаченные счета и баланс - и складывают сырой JSON. Дальше всё считается из него: dependent items тянут баланс, сумму и число счетов через JSONPath, а LLD разворачивает прототипы под каждую услугу (ненужные типы отсекаются макросом-регуляркой). Каждая цепочка начинается с error_handler - битый или пустой ответ API не роняет айтем, а подставляет безопасное значение. На весь аккаунт получается несколько запросов в час, а не отдельная проверка на каждую услугу.

Что считаю правильным дизайном - две цепочки зависимостей Первое - nodata. Когда API регистратора отваливается целиком, каждый триггер «нет данных» (услуги, счета, баланс) хочет сработать сам, и ты получаешь пачку алертов про одну причину. Я завязал nodata услуг и счетов на корневой «No data from balance API». Полный отвал API теперь - один алерт, а не три. Корень я специально оставил без зависимостей, чтобы случайно не завязали и его, - об этом есть комментарий прямо в шаблоне.

Второе - сроки. На каждую услугу не один триггер, а каскад: ИСТЕКЛА (Disaster) → ≤7 дней (High) → ≤14 (Warning) → ≤30 (Info). Каждый уровень зависит от более тяжёлого. Поэтому услуга, которой осталось три дня, даёт один алерт High - а не три штуки (Info, Warning, High) одновременно. По мере приближения срока ты видишь ровно один триггер нужной серьёзности.

Для работы API, необходимо прописать разершенные IP в кабинете https://www.reg.ru/user/account/settings/api/, в настройках API задать адьтернативный пароль, и сохранить в макрос хоста {$RR_PASSWORD} как Secret. Логин - {$RR_USERNAME}. Для рег.облако взять API в https://cloud.reg.ru/panel/settings и сохранить в {$RRC_API_KEY}

Итог Баланс, неоплаченные счета и сроки всех услуг - под алертами в одном дашборде, без отдельного демона-прослойки. В репозитории два шаблона: разобранный выше под api.reg.ru (домены, хостинг, SSL) и отдельный под облачный api.cloudvps.reg.ru - там к балансу и срокам добавлен мониторинг самих VPS: реглеты, снапшоты, сети. Шаблоны, README и changelog - GitHub, PR и issues welcome.

А чем вы следите за биллингом у провайдеров и регистраторов - дёргаете API, или живёте на письмах «ваша услуга истекает»?

Теги:
+10
Комментарии1

Компания Bohemia Interactive открыла исходный код тактического шутера «Arma: Cold War Assault Remastered» и используемого в нём игрового движка Poseidon под лицензией GPLv3.

Вместе с кодом игры опубликованы сетевой сервер, сетевые сервисы для авторов модов и редактор миссий. Для разработки модов предлагается использовать язык SQS. Игра была опубликована в 2001 году, после чего переиздана в Steam в 2011 году. Опубликованный код модернизирован для поддержки стандарта C++20 и переведён на сборку с использованием CMake и Clang. Помимо Windows добавлена поддержка платформы Linux. Для рендеринга графики используется OpenGL 3.3.

Игровые ресурсы, включая модели, текстуры, звуки и миссии, опубликованы отдельно под лицензией APL‑SA (Arma Public License Share Alike), допускающей использование и распространение в некоммерческих целях. Игровые данные можно извлечь из бесплатной демо‑версии, поставляемой через Steam. Демо‑версия поставляется для Windows и Linux, и представляет собой готовую сборку на основе опубликованного кода.

Теги:
+7
Комментарии4

Представлено бесплатное десктопное приложение Streambert с открытым исходным кодом для ПК на Windows, macOS и Linux. Решение распространяется по лицензии GNU GPL v3.0. Главное преимущество Streambert — здесь совсем нет рекламы и трекеров. Разработчики подчёркивают, что приложение всегда будет бесплатным и не станет собирать личные данные пользователей.

Для поиска и отображения информации о фильмах и сериалах Streambert использует базу TMDB и для работы понадобится бесплатный API-ключ TMDB. Программа поддерживает русский интерфейс и субтитры, а также даёт возможность скачивать любые медиафайлы для офлайн-просмотра.

Разработчики утверждают, что приложение обеспечивает более быструю потоковую передачу видео по сравнению с большинством браузерных кинотеатров и поддерживает многопоточную загрузку файлов. При этом Streambert не хранит и не распространяет защищённый авторским правом контент, программа лишь агрегирует ссылки с внешних источников и выступает в роли поисковика.

Теги:
+3
Комментарии2

Представлена мощную опция автоматизацию для Codex от президента OpenAI Грега Брокмана. Промпт loop тестирует каждую фичу приложения и проводит полноценный аудит проекта:

  • ИИ разложит по полочкам каждую фичу приложения: как ее используют, удобна ли она, как должна работать на самом деле.

  • Тестирует все сценарии использования и записывает ошибки в отчет.

  • Исправляет логику, баги, а также UX.

  • После фиксов тестирует проект заново и оттачивает его до идеала, повторяя итерации.

Промпт loop ИИ‑агента:

/goal go over every single feature in this app create a user story with expected behaviour based on the code keep a single canonical spreadsheet tracking the features status

  • when done switch loop to testing every user story and documenting all errors

  • when done fix every logistical error or ux error

  • test every user behaviour again post fix

Теги:
+5
Комментарии0

Представлен открытый проект Navidrome Music Server, который позволяет слушать музыку с ПК где угодно. Работает очень просто: пользовательский ПК превращается в сервер, к которому можно получить доступ с любого устройства. Есть демо-версия проекта, чтобы понять принцип работы.

Теги:
+3
Комментарии0

Извлекаем любые данные из документов - представлен открытый сервис Datalab (Hugging Face), который помогает «общаться» со всевозможными файлами и работает на уровне Gemini 3.5 Flash и опережает все открытые аналоги:

  • Вытягивает структурированный и понятный JSON из PDF, изображений и других файлов.

  • Обрабатывает десятки страниц за секунды. Нейронке можно скармливать даже огромные файлы.

  • Сохраняет все поля оригинала.

Теги:
+6
Комментарии0

SQLite-провайдер для RedBase — скоро.

Тот же API что PostgreSQL и MSSQL. Без миграций, полный LINQ, типизированные колонки.

Free: нативное расширение (.so / .dll / .dylib).
Pro: чистый C# — работает в Blazor WASM.

Минимальная версия SQLite 3.44.0+.

Теги:
+2
Комментарии0

GLM 5.2 в open source: модель уровня Claude Opus 4.7, которую негде запустить, пока негде.

Zhipu выложили веса GLM 5.2 под MIT лицензией. 744 миллиарда параметров, MoE, 40 миллиардов активных на токен, контекст на миллион. GLM-5.2 играет достойно на многих бенчмарках.

Дома не запустить. FP8 веса ~800 гигабайт, нужно минимум 8 карт H200 или 10 карт H100. Теперь про abliteration, потому что в этом вся суть.

Любая западная модель отказывает вам по десять раз на дню. Напиши эксплоит для пентеста: отказ. Проанализируй уязвимость по CVE: отказ. Разбери вредоносный код из лога: отказ. Безопасники и разработчики каждый день упираются в стену цензуры и делают руками то что нейросеть могла бы закрыть за секунды.

Abliteration это удаление цензурных слоёв из модели. Модель перестаёт решать за вас что можно а что нельзя. Для моделей поменьше энтузиасты делают это за дни. Для 744B монстра уйдёт пара недель, но результат появится на Hugging Face неизбежно. MIT лицензия, веса открыты, технически ничего не мешает. Вопрос кто первым поставит под эту версию железо и откроет API.

Считаем деньги.

Huawei Ascend, легальный путь. Чип 910B: ~110 тысяч юаней (~1.4 млн рублей), нужно 16 штук (два сервера Atlas 800, ~1 ТБ видеопамяти). Итого 55-90 млн рублей. Производительность 60-70% от NVIDIA, зато без санкционных рисков.

NVIDIA H100, серый путь. Карта ~3.3 млн рублей, 10 штук с обвязкой: 40-50 млн. Быстрее, но риски поставки и нет гарантии.

Операционка: ~1-1.5 млн рублей в месяц (локация, электричество, инженеры).

Кто заплатит. Корпорации, которым нельзя лить данные в западные API: выделенный сервер с abliterated моделью, договор с юрлицом, ответственность на клиенте. Разработчики и физлица: публичный доступ, базовый тариф с обычной версией, премиум с abliterated после верификации.

Для российского рынка это окно. Ни один провайдер в РФ пока не даёт доступ к abliterated модели такого уровня. Что думаете?

Теги:
+6
Комментарии4

Представлен открытый проект HTML skills for pragmatic visual artifacts для генерации HTML‑файлов за один клик, включая диаграммы, презентации, резюме, отчёты, планы и прочее:

  • html — создает любые HTML‑страницы исходя из задачи: от лендингов до портфолио;

  • html‑diagram — создает схемы, планы и диаграммы с фокусом на SVG;

  • html‑plan — выкатит вам дорожные карты, планы, стратегии, расписания и многое другое.

Теги:
+5
Комментарии0

Представлен открытый инструмент Notchprompt, который прячет телесуфлёр прямо в «чёлку» MacBook. Во время видеозвонков текст подсказок выводится прямо в зоне камеры. Можно одновременно читать и смотреть в камеру без уводящегося взгляда и неловких пауз. Инструмент работает нативно на macOS, поддерживает приватный режим, гибкую настройку отображения и горячие клавиши для быстрого управления. Его уже используют для созвонов, презентаций и записи видео, где важно говорить уверенно и без потери структуры.

Теги:
+4
Комментарии0

Российский Linux. Встреча с реальностью

Есть у нас один заказчик. Весь в Windows. Решил переезжать на российское.
На бумаге всё выглядит понятно: выбирает дистрибутив, разворачивает сервисы, переносит приложения, постепенно уходит от прежнего стека.
Упирается в версию Samba, которой в родных репах нет. Пакет конфликтует с системными библиотеками. Yum (dnf) не может разрешить зависимости и ломается.
Решили просто: подключили репы CentOS, перетерли половину системных пакетов.
На тесте взлетело. В продакшен – уже риск.

Вопрос, который сразу возникнет: «А почему просто не собрать Samba из исходников?»

Для тестовой лабы – ок. Для прода с сотнями пользователей – нет. И вот почему.

Почему это проблема, а не просто настройка

Когда для домена (Samba, Kerberos, DNS) вы собираете из исходников или лезете в чужие репозитории – вы теряете три вещи:

Поддержку вендора
В договоре чёрным по белому: только штатные репозитории. Подменили пакет или поставили самосбор – тикет закроют фразой «сами собрали, сами и поддерживайте».

Безопасные обновления
Выходит апдейт от вендора. При левых репах – dnf update падает с конфликтом зависимостей. При самосборе – вы вообще не получите апдейт, чинить каждую CVE придётся руками.

Сертификацию (ФСТЭК/Минцифра)
И левый репозиторий, и самосбор аннулируют сертификат моментально. На проверке это увидят.

Важное уточнение для тех, кто вспомнит EPEL
EPEL подключают к RHEL для установки дополнительного софта, которого нет в базе. Он не трогает системные пакеты. В нашем кейсе – родной репозиторий ОС не содержал нужной версии критического пакета (Samba). Пришлось лезть в чужой репозиторий и заменять базовые пакеты. Это совсем другая история.

Коротко про вендора

Вендор скажет ровно одно: «Ваша система — не наша сборка. Приходите, когда переустановите без левых реп и самосборов». Никто не приедет, не поправит, не подстрахует. Вы один на один с костылём.

Вывод

Столкнулись с тем, что роль не ставится из родного репозитория?

Плохие решения: подключать левые репозитории и подменять пакеты, собирать из исходников в продуктиве.

Правильные решения:
Взять другую российскую ОС, где эта роль работает из коробки.
Потребовать от вендора добавить нужные пакеты в свой репозиторий.
Отказаться от этой роли/стека, если ОС его не тянет.

Подмена пакетов в продуктиве – не выход, а вход в ад техподдержки.

Больше про российский ИТ без простоев – в телеграм-канале.

Теги:
Всего голосов 14: ↑7 и ↓70
Комментарии8
впечатлялся )))
впечатлялся )))

Сегодня к вечеру я совсем обленился и решил доверить нейронке storege создать
к коннектору в библиотеку redb.route используя redb
Изучала дольше чем писала. 😊 Накидала в одну сессию за один проход с тестами.
__
Аудитория: разработчики уже подключают DSL-маршруты к redb.Route, которые хотят, чтобы LLM был полноценным пользователем конвейера - с памятью, бюджетом, разрешениями и аудиторским журналом, а не HTTP—вызовом без сохранения состояния, который ничего не оставляет после себя.
единый линейный маршрут.Услуги.AddRedbLlmStorage() — переключает цикл работы агента с "забывает все при перезапуске" на постоянную систему по умолчанию. Все пять поверхностей (расшифровки, утверждения, бюджеты, идемпотентность, аудит) перемещаются в redb. Ни одна строка кода маршрута не меняется — ваш существующий .To("llm://claude") начинает сохраняться сам по себе.

Теги:
Всего голосов 5: ↑3 и ↓2+3
Комментарии0

Собрал клиент AmneziaVPN для Ubuntu 22
...и сделал это через Dockerfile, который Вы можете отредактировать для любого дистрибутива

Зачем понадобилось

Свежие блокировки Роскомнадзора отрезали меня от различных VPN, которыми я периодически пользовался для доступа к зарубежным продуктам, официально в РФ не представленным. Например, к Gemini.

Моей последней надеждой стала self-hosted Амнезия. Я восстановил доступ на всех своих устройствах, кроме одного - домашнего ПК под GPU-вычисления, работающего на Ubuntu 22.04.

Последние версии клиента AmneziaVPN 22-ю убунту не поддерживают: релизы для Linux собираются на Ubuntu 24.04, поэтому есть ограничения в поддержке дистрибутивов из-за версии glibc.

Как это может помочь другим

22-я убунта - это всего лишь пример. Если Ваши вкусы специфичны, да настолько, что AmneziaVPN не работает на выбранном дистрибутиве, докерфайл с лёгкостью можно адаптировать. Единственная дистрибутиво-зависимая часть в докерфайле - вызов apt-get

Что сделано

Я подготовил докерфайл, который из чистого образа ubuntu:22.04 устанавливает Qt и все прочие зависимости, качает репозиторий клиента AmneziaVPN, собирает проект и готовит инсталлятор. Выходная сборка, for my best knowledge, аналогична релизам авторов проекта. Вот здесь PR в официальный репозиторий со всеми объяснениями.

Я писал докерфайл в личных целях, мог что-то не учесть, открыт к критике и предложениям.

Как воспользоваться

Подготовка

Докерфайл качает официальный Qt-инсталлятор (я работал по инструкции вот здесь), поэтому потребуются активный Qt-аккаунт и IP-адрес не из РФ. Qt запрещает скачивания по российским IP-адресам. Нужно либо включить VPN, либо собирать на хостинге за пределами РФ (например, Казахстан). Да, я знаю, что это недостаток - пока не придумал, что с этим делать.

По умолчанию инсталлятор Qt смотрит на учётные данные в файле $HOME/.local/share/Qt/qtaccount.ini. Этот файл прокидывается в докер, поэтому он должен быть на машине для сборки. Если этого файла нет, можно перед запуском докера скачать любой GUI/CLI установщик Qt и пройти в нём страницу логина. Если не хочется возиться с инициализацией аккаунта на машине, то я оставил лазейку по прямой передаче логопасса в докер.

Сборка

Скачать мой форк репозитория, перейти в папку с ним и запустить докер.

Если настраивали аккаунт Qt:

DOCKER_BUILDKIT=1 docker build \
--secret id=qt_credentials,src=$HOME/.local/share/Qt/qtaccount.ini \
--file docker/ubuntu-22.04.Dockerfile --tag amnezia-ubuntu22 \
--output=./.build-dockerfile/ .

Если раскомментировали в докерфайле поддержку прямой передачи логопасса:

DOCKER_BUILDKIT=1 docker build \
--build-arg QT_CREDENTIAL_LOGIN="****@gmail.com" \
--build-arg QT_CREDENTIAL_PASSWORD="********" \
--file docker/ubuntu-22.04.Dockerfile --tag amnezia-ubuntu22 \
--output=./.build-dockerfile/ .

Клиент будет лежат в папке, указанной в --output

По умолчанию репозиторий использует ветку dev:

# Can use either branch or tag
ARG REPO_REVISION="dev"

(из того же докерфайла)

Это основная ветка проекта, соот-но возьмётся самый последний коммит, что может привести к ошибкам. Можно выбрать тэг с версией через

--build-arg REPO_REVISION="4.8.15.4"

Тэги с недавними релизами клиента AmneziaVPN
Тэги с недавними релизами клиента AmneziaVPN

Запуск

Клиент AmneziaVPN для работы требует несколько зависимостей, которые нужно установить через пакетный менеджер. Выдержка из официальной инструкции:

For Ubuntu you need to install xcb plugin: apt install libxcb-cursor0 libxcb-xinerama0 libxcb-icccm4 libxcb-keysyms1 libopengl0 libxkbcommon-x11-0

Теги:
Всего голосов 2: ↑2 и ↓0+5
Комментарии0

💥 Новое в Gramax💥

Gramax Enterprise Server:

  • Авторизация без перехода на главную. На портале для чтения при переходе по ссылке на закрытую статью окно входа открывается прямо на месте — больше не нужно идти на главную. После входа пользователь сразу попадает на нужную статью.

  • Обновленный интерфейс настроек пространства. В окне настроек GES-пространства боковую панель теперь можно свернуть значком в верхней части — рабочей области отдается больше места.

Общие изменения:

  • Режим ревью комментариев. Просматривать и анализировать комментарии стало удобнее: в правой панели открывается список по текущей статье или всему каталогу. Можно быстро переходить между комментариями стрелками, искать по содержимому, фильтровать по дате и автору, а также сортировать и группировать.

  • История изменений каталога. Окно Сравнение ревизий выросло в полноценную историю изменений: теперь можно просматривать все изменения в каталоге, фильтровать их по автору и дате, открывать каталог в состоянии на любой момент и сравнивать любые две версии между собой. 

  • Улучшения окна публикации. Кнопка Редактировать Markdown убрана из меню статьи — теперь переключиться в режим редактирования Markdown можно через кнопку Исходный текст в нижнем тулбаре.

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

  • Изменение размера диаграмм. Для диаграмм Mermaid, Drawio и PlantUML добавлена возможность изменения размера с помощью ползунка — так же, как у изображений. При необходимости диаграмму можно растянуть за пределы ширины статьи.

  • Ссылка на представление каталога. При активном представлении ссылкой можно поделиться с читателями — они откроют каталог на портале с уже примененным представлением.

  • Поиск утверждающих в запросе на слияние. В окне создания запроса в поле Утверждающие появился поиск по имени — можно быстро выбрать нескольких пользователей из списка, не вводя почту вручную.

  • Выбор шаблона при экспорте в PDF. В окне экспорта появился флажок Кастомный шаблон — можно включить его и выбрать шаблон для оформления документа.

  • Обновили оформление заметок. Раньше типы заметок Информация и Совет оба были голубыми и плохо различались. Теперь Совет стал зеленым — тип заметки понятен с первого взгляда.

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

  • Обновили окна подтверждения. Улучшили интерфейс окна закрытия комментария и окна отката изменений при публикации.

Подробнее: https://gram.ax/resources/docs/whats-new

Теги:
Всего голосов 3: ↑2 и ↓1+3
Комментарии0

Microsoft представила порт набора утилит Coreutils для платформы Windows. В состав входит несколько десятков утилит, включая sort, cat, chmod, chown, cp, find, sleep, sort, tee, echo, uptime и ls. Инструментарий позволяет напрямую использовать в Windows типовые утилиты, доступные в Linux и macOS, без использования прослойки WSL. Целью проекта заявлено упрощение перехода между Unix‑подобными системами, WSL, контейнерами и Windows, и предоставление единого набора команд, флагов и методов, позволяющих переносить существующие скрипты из других систем без переписывания. Код написан на Rust и PwerShell, и распространяется под лицензией MIT.

Реализация основана на коде проекта uutils (Rust Coreutils), развивающего вариант GNU Coreutils на языке Rust, а также реализациях утилит find и grep на Rust. Утилиты собраны в виде одного универсального исполняемого файла "C:\Program Files\coreutils\coreutils.exe", отдельные команды к которому привязаны при помощи жёстких ссылок в NTFS.

Из‑за конфликта с имеющимися штатными утилитами Windows или привязки к специфичным возможностям из поставки исключены утилиты dd, dir, dircolors, shred, sync, uname, expand, kill, more, paste, timeout и whoami. Из состава также исключены утилиты, завязанные на не поддерживаемые в Windows концепции POSIX: chcon, chgrp, chmod, chown, chroot, groups, hostid, id, install, logname, mkfifo, mknod, nice, nohup, pathchk, pinky, runcon, stdbuf, stty, tty, users, who.

Из ограничений и особенностей отмечается необходимость использовать NUL вместо /dev/null, отсутствие поддержки сигналов (SIGHUP, SIGPIPE, SIGUSR), возможность создания символических ссылок только после включения режима для разработчика, недоступность некоторых операций с правами доступа. При работе с каталогами принимаются как пути с символом "/", так и c "\".

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии2

Восстановление аккаунта в эфемерном мессенджере, не ломая приватность? Легко!

RCQ это анонимный мессенджер: без телефона и почты, история только на устройстве, сервер хранит минимум. Цена такой модели: потерял телефон, и аккаунт (сам UIN, твоя личность в сети) потерян навсегда. Это отпугивало тех, кому нужен постоянный аккаунт. Мы добавили фразу восстановления и постарались не превратить приватный мессенджер в обычный облачный.

Сразу: Android-клиент теперь в проде, фраза в нём есть. Ссылка в конце.

Аккаунт это ключи

Логина и пароля нет. Аккаунт это пара ключей: X25519 (шифрование) и Ed25519 (подпись). UIN это просто ручка на сервере, привязанная к публичному ключу. Приватные ключи не покидают устройство. Отсюда: бэкап аккаунта это бэкап ключа, а восстановление это доказать серверу, что ключ у тебя.

Откуда фраза

При создании аккаунта генерируется случайный seed на 32 байта. Из него детерминированно выводятся оба ключа через HKDF-SHA256 с фиксированными info-строками:

identity_priv = HKDF-SHA256(seed, "rcq-recovery-x25519-v1", 32) signing_priv = HKDF-SHA256(seed, "rcq-recovery-ed25519-v1", 32)

Из одного seed всегда те же ключи, значит достаточно сохранить seed. Кодируем его в 24 слова по BIP39 (как в криптокошельках): 256 бит энтропии плюс 8 бит контрольной суммы, режется по 11 бит, словарь на 2048 слов. Контрольная сумма ловит опечатки.

Восстановление

На новом устройстве вводишь 24 слова:

  1. Из слов получается seed, из seed те же ключи.

  2. Клиент берёт у сервера одноразовый челлендж.

  3. Подписывает его Ed25519-ключом, шлёт подпись.

  4. Сервер проверяет подпись против публичного ключа и отдаёт UIN и токен.

Приватный ключ никуда не передаётся, пароль нигде не хранится. Это challenge-response: перехват челленджа бесполезен, он одноразовый.

Что возвращается

Возвращается личность: UIN, ключи, контакты, группы, ожидающие сообщения. НЕ возвращается локальная история переписки, она только на устройстве (зашифрованный бэкап истории это отдельная фича на будущее). Активные ratchet-сессии (forward secrecy) сбрасываются, собеседники видят смену ключа, как в Signal.

Почему это не ломает приватность

Тонкий момент, проговорим его подробно. Восстановимая фраза это постоянный секрет с полным доступом навсегда. Пока seed лежит только в зашифрованном хранилище приложения, удалил приложение не записав фразу, и всё стёрлось, эфемерность сохраняется. Как только выписал 24 слова, появляется вечная точка восстановления, это другая модель угроз.

Баланс такой: seed есть у каждого нового аккаунта, но воспользоваться им (записать фразу) это твой осознанный выбор, не навязанный. Плюс фразу прячем за подтверждением (+PIN), чтобы её не выгребли с разблокированного на минуту телефона.

Кросс-платформенно

Деривация и словарь одинаковы на Android и iOS. Мы прогнали обе реализации (CryptoKit и наш Android-стек) на одном seed и сравнили побайтово: одинаковые ключи, одинаковые слова. Фразу с Android можно ввести на iPhone и наоборот.

Границы

  • История чатов пока не восстанавливается.

  • Аккаунты, созданные до фичи, фразы не имеют (их ключи не из seed), для них будет экспорт сырого ключа (но для этого мы и в бете, так что на релизе такого не случится).

  • Это не мультидевайс: ввести фразу на втором телефоне можно, но это переезд, а не одновременная работа, ratchet-сессии разойдутся.

Код клиента открыт, Android в проде. Будем рады разбору, особенно по криптографии.

Скачать APK (Alpha)/iOS TF (Beta): https://rcq.app/
GH: https://github.com/rcq-messenger

Теги:
Всего голосов 9: ↑8 и ↓1+9
Комментарии4

Агентские скиллы: как применить их в разработке

Привет, меня зовут Дима Васильев, я бэкенд-разработчик в Doubletapp. В этом тексте коротко расскажу, как эффективно управлять кодовыми ассистентами с помощью агентских скиллов.

Ассистенты уже умеют читать репозиторий, править файлы и запускать команды, но им часто не хватает контекста команды: как оформлять задачи, какие проверки запускать, как работать со стендами и где нужно подтверждение. Для этого и нужны агентские скиллы. 

Скилл — это инструкция для ИИ-помощника: когда её применять, по каким шагам действовать, какие шаблоны и команды использовать. В открытой спецификации Agent Skills скилл обычно оформляется как папка с SKILL.md; рядом могут лежать скрипты, справки и шаблоны.

Подход уже поддерживают разные кодовые ассистенты. GitHub Copilot работает с agent skills в режиме агента, Copilot CLI и облачном агенте. Codex поддерживает скиллы в командной строке, расширении и приложении. Claude Code тоже работает со скиллами через SKILL.md. Поэтому речь не про один инструмент, а про общий способ описывать повторяемые действия команды рядом с кодом.

Кейс 1. Описание проделанной работы

Разработчик закончил задачу, а дальше её должны подхватить тестировщики, аналитики или другие разработчики. Часто в задаче остаётся короткое «сделал», хотя нужно больше контекста.

Можно сделать скилл «описать изменения». Он смотрит на изменения в коде, коммиты и описание задачи, а потом формирует выжимку: что изменилось, какие модули затронуты, как проверить результат, есть ли риски, миграции, настройки или флаги.

Такой скилл помогает не забывать важные детали и делает передачу задачи более предсказуемой.

Кейс 2. Онбординг новых разработчиков

Проектные скиллы полезны для онбординга. В них можно описать, как поднять окружение, как запускать тесты, как оформлять ветки и коммиты, где смотреть логи и какие архитектурные правила нельзя нарушать.

Новый разработчик может спросить помощника: «помоги поднять проект» или «подготовь задачу к сдаче». Помощник ответит с учётом проектных правил, а не общими советами. Это не отменяет документацию, но снижает количество одинаковых вопросов.

Кейс 3. Надстройка над Terraform

Другой пример — сложные инструменты. Допустим, команде нужен Terraform для стендов, но не все хорошо с ним знакомы. Реальных знаний Terraform скилл не заменит: всё равно важно понимать состояние, план изменений, ресурсы и последствия удаления инфраструктуры.

Но для повседневной работы можно сделать понятные действия поверх Terraform:

  • Init stand — подготовить стенд;

  • Update stand — применить изменения;

  • Destroy stand — удалить стенд.

Под капотом ассистент выполняет нужные команды: инициализирует Terraform, выбирает окружение, строит план, показывает изменения, просит подтверждение перед опасными действиями и реагирует на ошибки.

Главное здесь — не просто удобство, а безопасность. В скилле можно прописать: перед применением изменений показать план, перед удалением стенда запросить отдельное подтверждение, не выполнять опасные команды молча и не использовать непроверенные переменные окружения. Так команда получает понятный интерфейс к сложному инструменту, но сохраняет контроль.

Что это даёт

Главная польза скиллов в том, что командные знания становятся частью проекта. Их можно обсуждать и улучшать так же, как код. Это мост между «ИИ просто помогает писать код» и «ИИ помогает соблюдать процессы команды»: оформление задач, проверки, инфраструктура, отчёты, онбординг и документация.

Где посмотреть готовые примеры

Сторонние скиллы стоит читать как чужой код: внутри могут быть скрипты и команды. Особенно внимательно стоит смотреть на скиллы, которые запускают команды.

Полезные материалы и репозитории:

Для начала достаточно взять один небольшой процесс, описать его в SKILL.md и положить рядом с кодом.

Теги:
Рейтинг0
Комментарии0

✔️ MiniMax представила M3 - новую невероятно мощную открытую модель для кода, агентов и мультимодальных задач.

Одна модель, чтобы работать в как агент, держать длинный контекст (1M) и понимать разные типы модальностей.

Бенчмарки

- 59.0% на SWE-Bench Pro

- 66.0% на Terminal Bench 2.1

- 34.8% на SWE-fficiency

- 28.8% на KernelBench Hard

- 74.2% на MCP Atlas

- контекст до 1M токенов за счёт MiniMax Sparse Attention

- нативная мультимодальность

Отдельно запустили MiniMax Code - среду для работы с кодом на базе новой модели.

По ценам: в первые 7 дней дают скидку 50% на стандартное использование с контекстом до 512K.

Разработчики выкладывают в open source модель, которая обходит и Opus, и GPT-5.5 на BrowseComp и SVG Bench.

При этом она ещё и лучше GPT-5.5 на SWE-Bench Pro, KernelBench Hard и BankerToolBench, а Opus обгоняет на OSWorld Verified.

API: http://platform.minimax.io

Тарифы по токенам: https://platform.minimax.io/subscribe/token-plan

MiniMax Code: http://code.minimax.io

Теги:
Всего голосов 5: ↑5 и ↓0+7
Комментарии0

Microsoft открыла исходный код инструментария Webwright, который запускает в браузере различные скрипты и выполняет задачи с помощью ИИ‑агентов:

  • умеет сёрфить в сети, заказывать билеты, бронировать столики, искать товары и делать все, чтобы сэкономить время для пользователя;

  • при этом каждое действие можно записать в скрипт и потом только корректировать в нем параметры;

  • ИИ в это время будет проходить по коду, искать и исправлять ошибки;

  • работает с большинством программ, сайтов и сервисов.

Теги:
Рейтинг0
Комментарии0

Представлен открытый проект FluentCleaner (аналог CCleaner), который умеет очищать ПК на Windows 10/11 от мусора, бесполезных процессов, дубликатов файлов и всяческого хлама, замедляющего ОС. Все удаления на ПК согласовываются с пользователем.

«Современный, прозрачный, без шпионского ПО, без скрытых ненужных вставок, без тёмных паттернов, без навязчивой рекламы, без фальшивой магии реестра», — пояснил разработчик проекта по имени Belim (aka Builtbybel). Этот автор является создателем проекта Winslop для удаления ненужного системного мусора в Windows 10/11 (он недавно был переименован в Winslopr — Windows Slop Remove).

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Дайте посмотреть на нормальный С++ проект, созданный вайб-кодингом

Чтобы корректировать развитие PVS-Studio я заинтересован смотреть C++ проекты, созданные с использованием генеративного AI или, по-простому, вайб-кодинга. Но вот незадача: все кругом пишут про этот самый вайб-кодинг, но я не знаю, как и где искать такие открытые проекты.

Мне попадается какая-то белиберда типа enhance-client, сгенерированная за $15. Но это даже смотреть несерьёзно. По присутствию в репозитории .obj, .iobj, .ipdb файлов и прочего мусора видно, что автор не понимает, что он делает. Проект не компилируется по разным причинам, например, из-за того, что заложен какой-то огрызок файла bytes.hpp (у массива нет конца).

Если немного поправить и проверить, что удалось собрать, то там лезут перлы вида:

void enhance::modules::autototem::run()
{
  ....
  auto env = enhance::instance->get_env();
  if (!env)
  {
    env->DeleteLocalRef(player);
    return;
  }
  ....
}

Предупреждение PVS-Studio: V522 [CWE-476, CERT-EXP34-C, SEC-NULL] Dereferencing of the null pointer ‘env’ might take place. autototem.cpp 757

Явное разыменование нулевого указателя.

Или бессмысленные сравнения значения типа int с константой 0.1f:

int sdk::minecraft_client::get_attack_cooldown() { .... }

void enhance::modules::shield_breaker::run()
{
  ....
  if (sdk::instance->get_attack_cooldown() > 0.1f)
  ....
}

Предупреждение PVS-Studio: V674 [CWE-682, CERT-FLP36-C] The ‘0.1f’ literal of the ‘float’ type is compared to a value of the ‘int’ type. shield_breaker.cpp 628

Такие ляпы нет смысла серьёзно разбирать и описывать.

Можно спросить: “А что ты хочешь от поделок за 15$?” Да, в общем-то, ничего, но вместо нормальных проектов попадаются они. Мне интересно изучить большие открытые проекты нормального качества, при написании которых активно используется GenAI. А то пока ощущение, что термин “вайб-кодинг” есть, а C++ проектов нет. Или за них стыдно? :)

Если вы знаете подобные большие проекты, то присылайте ссылки на них в комментарии. Заранее спасибо.

Предыдущие публикации по мелким проектам:

  1. Давайте заглянем в этот самый вайб-код.

  2. Ревью вайб-кода с гнильцой, который притворяется оптимизированным С++ кодом.

Теги:
Всего голосов 10: ↑10 и ↓0+12
Комментарии0

Открытый проект Python library for interacting with the Solvecaptcha API (captcha‑solving service) — это легковесная библиотека на Python, которая проходит самые популярные проверки через Solvecaptcha.

Обходит большинство самых мощных и популярных капч:

  • reCAPTCHA v2 и v3;

  • Cloudflare Turnstile;

  • FunCaptcha (Arkose Labs);

  • GeeTest и GeeTest v4;

  • Amazon WAF;

  • KeyCaptcha;

  • Grid, ClickCaptcha, Rotate, Canvas;

  • обычные текстовые и графические капчи, в том числе аудио.

Библиотека небольшая, работает стабильно, разработчики её поддерживают, добавляя новые виды капч. Можно настраивать таймауты решения капч, чтобы имитировать поведение человека.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

archkit v0.1 — генератор TypeScript-библиотек с Clean Architecture: от спека до npm за один день

Неделю назад опубликовал на npm первый пакет, @autosergach/archkit. Одна команда:

npx @autosergach/archkit create my-lib

И получаешь TypeScript-библиотеку с Clean Architecture из коробки: domain, application, ports, рабочий use case и пять зелёных тестов. Не «hello world», а каркас который показывает как слои должны выглядеть. Ниже как это устроено и четыре грабли по дороге к npm publish.

Что внутри

my-lib/
├── src/
│   ├── domain/      # User, DomainError
│   ├── application/ # createUser use case
│   ├── ports/       # UserRepository interface
│   └── index.ts
├── tests/           # InMemoryUserRepository + 5 тестов
└── package.json     # ESM, strict TS, vitest 3, eslint 9

pnpm install && pnpm test, пять зелёных с первого запуска. Стек намеренно современный: ESM only, Node 20+, TypeScript 5.7+, vitest 3.2, eslint 9 flat config.

Архитектура изнутри

Забавно, что archkit изнутри устроен точно так же, как проект который генерирует: порты и адаптеры до мозга костей. Монорепо: приватный archkit-core (весь движок) и @autosergach/archkit (то что на npm). tsup бандлит core через noExternal, потребитель ставит один пакет.

FileSystemPort с двумя адаптерами: InMemoryFileSystemAdapter для тестов и NodeFileSystemAdapter для продакшена. Pipeline в три шага: buildInitPlan, renderTemplate, executePlan. С --dry-run третий шаг не выполняется.

Тесты: 35 + 3

35 unit-тестов гоняют весь движок через in-memory, без диска, меньше секунды на весь suite. 3 e2e-теста запускают настоящий pnpm install && pnpm test в os.tmpdir(). Именно они дают уверенность что сгенерированный проект работает у пользователя, и поймали несколько багов в шаблоне до публикации.

Один день с Claude Code

Весь v0.1.1, от пустой папки до npm publish, написал за одну сессию, примерно шесть часов. 9 атомарных коммитов: Claude Code писал код, я проверял и коммитил. До Claude Code такой объём занял бы неделю, и тесты я бы срезал.

4 урока из npm publish

1. cac и --no-X флаги. При --skip-install cac выставляет skipInstall: true по умолчанию, неявно. Фикс: проверять === true, а не !== undefined. Потерял час пока разобрался.

2. npm проверяет similarity, а не только занятость. archkit свободное имя, но npm отклонил из-за заброшенного arch-kit (2022, 12 загрузок). Ушёл в scoped namespace @autosergach/archkit, зато все следующие пакеты там же.

3. workspace:* в dependencies. Приватного archkit-core нет в registry. Если он в dependencies, npm падает при install у потребителя. Перенести в devDependencies, tsup бандлит его в dist.

4. Granular npm tokens и 2FA. Granular-токен с правами publish не проходит без «Bypass 2FA for publish». Опция выключена по умолчанию, нигде не выделена жирным. Получил 403.

Что дальше

v0.2: NestJS плюс React fullstack шаблон и --ai-ready флаг, который автогенерирует CLAUDE.md, .claude/settings.json, agents.md. Пишите в Issues если есть что сказать.

npm: https://www.npmjs.com/package/@autosergach/archkit
GitHub: https://github.com/autosergach/archkit

npx @autosergach/archkit create my-lib
cd my-lib && pnpm install && pnpm test
# → 5 passing
Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии2

Представлен открытый проект OpenPixel-RPG, который генерирует игру в стиле RPG Maker прямо из реального города. Можно загрузить практически любое место на планете и получить из него играбельную JRPG-карту. На выходе получается «игра» с квестами, NPC и «живым» окружением. Система работает на нейродвижке WorldX и визуализации через Gemini.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Открытый проект OptimizerDuck позволяет очистить Windows 10/11 от мусора и бесполезных процессов (телеметрию, рекламу, Copilot, все фоновые сервисы и ненужные приложения):

  • оптимизирует ПК для работы и игр, настраивает GPU и производительность процессора, работает с менеджером автозагрузки, удаляет встроенный bloatware, чистит систему. 

  • может откатить все изменения, если в процессе что‑то пошло не так. Бэкап у вас точно будет.

  • работает без установки, без ограничений и полностью локально.

Теги:
Всего голосов 7: ↑6 и ↓1+8
Комментарии1

llm-nano-vm v0.8.0 — выход в PyPI, валидация вывода и per-step таймауты

В прошлом посте мы описывали концепцию nano-vm — детерминированного ядра исполнения на базе конечных автоматов (FSM) для LLM-воркфлоу, где модель не является оркестратором, а лишь предлагает действия внутри жесткого графа \delta(S, E) \to S'.

За это время проект перерос стадию концепта. Мы опубликовали рантайм на PyPI и выпустили релиз v0.8.0. Ниже — сухой отчет о том, что конкретно было сделано, измененено и протестировано.

Что нового в v0.8.0

1. Выход на PyPI и релиз пакетов

Рантайм и сопутствующие компоненты полностью изолированы и доступны для установки:

pip install llm-nano-vm==0.8.0
pip install llm-nano-vm[litellm]==0.8.0   # поддержка провайдеров через LiteLLM
pip install nano-vm-mcp                    # MCP-шлюз

2. allowed_outputs — LLM enum guard

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

{
    "id": "classify",
    "type": "llm",
    "prompt": "Classify. Reply ONLY with: refund / query / other",
    "allowed_outputs": ["refund", "query", "other"],
    "on_error": "skip",   # → подставит "refund" (первый элемент) на mismatch
}

Реализовано три политики обработки ошибок: fail (trace \to FAILED), skip (подстановка allowed_outputs[0]) и retry (перезапрос модели до max_retries).

3. timeout_seconds + on_timeout — таймауты на уровне шага

Решена проблема «зависания» внешних LLM API. Любой llm-шаг теперь можно ограничить по времени выполнения с политиками fail или fallback (подстановка дефолтного значения без падения автомата).

4. Стабилизация ASTEngine

Мы окончательно избавились от eval() для условий (condition). Написан кастомный песочный интерпретатор JSON AST. Любые системные вызовы и скрытые вызовы методов (вроде .lower()) теперь вызывают ASTEvalError на этапе компиляции графа.

Результаты бенчмарков (v0.8.0 · WSL2 · Python 3.12)

Тесты производительности на синтетическом адаптере (3 провайдера \times 5 сценариев \times 10k итераций) показали 1,096,500 операций и 0 нарушений контракта графа.

СценарийСредний TPSp95Refund pipeline2,200/s123 msDouble-execution guard2,800/s69 msBudget enforcement2,400/s97 msParallel throughput1,000/s196 msGovernanceEnvelope (аудит-лог)2,100/s108 ms

  • Crash consistency (BM-INT-07): При crash_rate=100% повторное воспроизведение (replay) пайплайна после симулированного падения рантайма выдает идентичный хэш трейса в 100% случаев.

  • Memory leak test (BM-INT-10): Пиковый RSS — 76.5 MB, аллокация — 3.62 MB для программ на 1000 шагов. Утечек памяти нет.

Валидация на реальных платежных API

Концепт успешно проверен на двух интеграционных сценариях (9/9 тестов пройдены):

  1. MoMo Payment API v4: 3-way ветвление, HMAC-SHA256 IPN верификация, цикл пуллинга статуса с ретраями.

  2. Stripe Payment API v1: Обработка 3DS-флоу (REQUIRES_ACTION), refund-пайплайн и верификация вебхуков.

В процессе интеграции со Stripe пофиксили важный баг: коллизию доменного статуса "PENDING" от API Stripe с внутренним сентинелом рантайма, который триггерил заморозку (SUSPEND) автомата.

Текущий фокус и краткосрочный роадмап

  • Phase 0: Разработка ProgramValidator для статического анализа графов до их выполнения (поиск циклов, недостижимых шагов и битых таргетов). Актуально, когда сами программы генерируются «на лету» внешними моделями.

  • Phase 1: Консистентность шлюза. Перенос StateContext между вызовами MCP в SQLite WAL (execution_contexts + UPSERT на каждый шаг). Это полностью уберет риск повторного списания (Double-Spend) при перезапуске процесса шлюза.

  • Phase 2: Интеграция OpenTelemetry для распределенного трассирования шагов.

Репозитории проекта:

Теги:
Всего голосов 3: ↑1 и ↓2-1
Комментарии0
1
23 ...