Tangled обновила федеративный хостинг кода на AT Protocol: новый интерфейс и серверы на Rust

Tangled обновила федеративный хостинг кода на AT Protocol: новый интерфейс и серверы на Rust

Tangled, платформа для хостинга кода (code forge), построенная на AT Protocol. В собственном блоге проект объявил крупный релиз: новый интерфейс на Svelte, переписанную архитектуру, аккаунты-организации и переработанный процесс запросов на слияние (PR). Запуск растянут на несколько недель.

Идея проекта в том, что централизованные платформы для кода «рассыпаются»: зависеть от чужого аптайма, чужих функций и чужой добросовестности в хранении кода неудобно. Проверенную временем альтернативу, Git плюс электронная почта, авторы называют неудобной для пользователя. Tangled обещает сочетание долговечности открытого протокола и удобства обычной платформы. Проект называет себя первым по-настоящему федеративным хостингом кода: код можно держать на своих серверах и при этом свободно сотрудничать с остальными. Подход прагматичный: можно развернуть у себя только нужные части (хостинг Git, раннеры CI) или всё целиком, включая API-сервер и интерфейс. Поскольку всё построено на AT Protocol, можно писать расширения, подписываться на firehose (общий поток событий протокола) и даже делать полностью свои серверы knot, например, один из них работает на Cloudflare Workers и использует продукт Artifacts для хранения git, или своё CI-звено spindle, как mitchellh.com/tack. Проект также заявляет, что очень дружелюбен к ИИ-агентам: по его словам, агенты сделали создание гиперперсонализированного ПО тривиальным.

Новый вид. Интерфейс переделан на Svelte поверх новой архитектуры; шрифт Inter заменён на Timeless Sans. Авторы пишут, что всё «должно стать быстрее, единообразнее и красивее».

Архитектура и bobbin. Раньше веб-интерфейс и бэкенд были одним монолитом на Go под названием appview: он занимался индексацией AT Protocol, кэшем, данными вне протокола и отрисовкой на html/template + htmx и работал на одной базе SQLite на одном сервере средней мощности в Швеции. Это хорошо работало в пределах примерно 50-100 мс от Швеции, но большинство пользователей находятся дальше. Теперь есть отдельное приложение на Svelte, развёрнутое на границе сети (edge), и новый индексатор bobbin на Rust, без диска, целиком в памяти. Экземпляры bobbin развёрнуты по миру более чем в 11 регионах (в источнике «over 11+»). bobbin только читает и работает лишь с данными AT Protocol; остальное делегировано новому набору вспомогательных сервисов.

Модель данных и knot2. Появился новый набор лексиконов (схем записей): всё теперь живёт в org.tangled., вместо прежних записей sh.tangled.. Сервер knot2, вторая реализация knot, переписанная на Rust; в одном бинарнике, собственный Git-сервер и SSH-сервер. Задачи (issues), pull request, комментарии, реакции и метки теперь хранятся на knot рядом с кодом как совместные объекты (COB). COB, это цепочка объектов Git прямо в репозитории; так же хранятся соавторы, участники knot и чёрный список. В итоге knot ведёт себя как PDS: хранит подписанные записи с полной историей, синхронизируемые через стандартный firehose AT Protocol. Мотив: задачи и PR, такая же часть проекта, как код, и должны жить вместе с ним, где бы он ни размещался; это даёт максимальную переносимость.

Чтобы knot не мог «вложить слова в уста» пользователя, введены аттестации: при каждом создании или правке записи на knot веб-приложение пишет в личный PDS пользователя запись org.tangled.graph.attestation, указывающую на точную версию записи и изменение COB, двусторонняя проверка. Тем, кто держит свои knot, придётся обновиться до v1.20.0 по руководству по обновлению.

Организации. Аккаунт организации, настоящий аккаунт AT Protocol со своим DID и именем, размещённый на экземпляре Tranquil PDS. Это беспарольные делегированные аккаунты: создаются на странице New Organization, дают адрес вида .tngl.sh, создатель становится владельцем и может приглашать участников; любой участник может действовать от имени организации при создании и форке репозиториев. Имя можно заменить своим доменом. Тем, кто использовал обычный аккаунт как «организацию», обещан способ переноса, но он ещё в разработке.

Стопки PR. Процесс запросов на слияние переработан: и пользователи Jujutsu, и пользователи обычного Git могут отправлять и рецензировать стопки (stacked) PR. Пользователи Git получили interdiff (сравнение) между версиями (раньше они назывались rounds), пользователи JJ, ещё и между отдельными изменениями.

Дальше. Запуск растянут на ближайшие недели: далее обещаны приватные репозитории, CLI, SDK для разных языков и навыки (skills) для агентов.

Ключевые факты

  • Tangled, платформа хостинга кода на AT Protocol, выпустила крупный релиз: интерфейс переписан на Svelte, шрифт Inter заменён на Timeless Sans.
  • Монолит appview на Go (одна SQLite на одном сервере в Швеции) заменён отдельным фронтендом на edge и индексатором bobbin на Rust, работающим целиком в памяти; bobbin развёрнут более чем в 11 регионах.
  • Сервер knot2 на Rust хранит задачи, PR, комментарии, реакции и метки рядом с кодом как совместные объекты (COB) в Git; подлинность записей подтверждают аттестации в личном PDS пользователя. Для самостоятельно развёрнутых knot нужно обновление до v1.20.0.
  • Появились аккаунты-организации (.tngl.sh на Tranquil PDS) и стопки PR для пользователей Git и Jujutsu.
  • Запуск растянут на несколько недель; дальше обещаны приватные репозитории, CLI, SDK и навыки для агентов.

Почему это важно

Tangled пытается решить давнюю проблему: код и обсуждения вокруг него обычно живут на централизованной платформе, от которой зависит аптайм, набор функций и сохранность проекта. Релиз показывает, как эту идею доводят до практики: задачи и PR переезжают в сам Git-репозиторий и становятся переносимыми вместе с кодом, а подлинность записей подтверждается через личный PDS пользователя. Всё это подаётся самим проектом как «первый по-настоящему федеративный хостинг кода». Это заявление авторов, а не независимая оценка; сравнений с GitHub, GitLab или Forgejo в источнике нет.

Кому это важно

Разработчикам и командам, которым важна независимость от одной платформы и возможность держать свои данные у себя. Тем, кто хочет развернуть только часть системы (Git-хостинг, CI-раннеры) или всю целиком и писать собственные расширения на AT Protocol. Администраторам самостоятельно развёрнутых knot, им нужно обновиться до v1.20.0. Пользователям Jujutsu и обычного Git, которым пригодятся стопки PR и interdiff. Отдельно заметен акцент на дружелюбности к ИИ-агентам: проект говорит о навыках для агентов в ближайших планах.

Как это применить

Источник описывает такие шаги: создать организацию на странице New Organization и получить адрес .tngl.sh, пригласить участников и работать от имени организации при создании и форке репозиториев; при желании заменить имя собственным доменом. Развернуть у себя можно отдельные части (Git-хостинг, раннеры CI) или всё вместе, включая API-сервер и интерфейс. Владельцам собственных knot нужно следовать руководству по обновлению до v1.20.0. Цены и условия использования в источнике не указаны.

Можно ли доверять

Источник, собственный блог Tangled, то есть анонс от первого лица. Заявления «первый по-настоящему федеративный», «быстрее и красивее», самооценка проекта. Измеренных показателей скорости новой архитектуры источник не приводит, только ожидание, что всё «должно стать быстрее». Дата публикации и авторы поста не названы, а последняя фраза вступления в тексте оборвана, поэтому долгосрочная цель, которую проект себе ставит, не ясна.

Риски и подводные камни

Обновление обязательное для самостоятельно развёрнутых knot (v1.20.0). Модель данных сменилась: вместо sh.tangled.* теперь org.tangled.*. Те, кто использовал обычный аккаунт как «организацию», пока не могут перенести его в Organization: способ только разрабатывается, сроков нет. Часть обещанного, приватные репозитории, CLI, SDK, навыки для агентов, ещё не готова и ожидается «в ближайшие недели» без точных дат. Экосистема опирается на AT Protocol и связанные сервисы (PDS, firehose), так что остаётся зависимость от этого стека.