SilverBullet: вики из файлов, которая отвечает на запросы
SilverBullet хранит страницы обычными файлами Markdown, связывает их двусторонними ссылками и строит списки и отчёты запросами на Lua. Разбираю по репозиторию и документации: лицензию MIT, установку, доступ, синхронизацию и конфликты, безопасность скриптов и почему это не командная вики с ролями и комментариями.
Сделаю под ключ: разберу задачу, назову срок и цену. Чтобы начать, напишите в Telegram одной фразой.
Развернуть SilverBullet на вашем сервереКлиентов помнит один человек
Студия на пять человек. Карточки клиентов в Google-документах, договорённости в чате, ставки и сроки в голове у руководителя. Когда нужен список «у кого сдача на этой неделе», кто-то листает переписку и собирает его руками.
Прикидка, это оценка: сборка такого списка по 40 минут раз в неделю съедает около 35 часов в год. Большая вики с отделами студии избыточна. Нужны несколько страниц-шаблонов и возможность спросить у них готовый список.
Что такое SilverBullet
Это браузерный редактор с живым предпросмотром Markdown. Рабочее пространство, по-английски space, это обычная папка с файлами .md. Файлы остаются источником правды, и разработчик прямо пишет, что их можно править чем угодно: другим редактором, скриптом, ИИ-агентом. Бэкап сводится к копированию папки.
Страницы связываются вики-ссылками, и ссылки двусторонние: на странице клиента видно, какие встречи и задачи на неё ссылаются. Чекбоксы в тексте становятся задачами, которые индексируются по всему пространству. К странице в шапке пишется YAML с тегами и полями, например tags: client, и по ним потом идёт выборка.
Репозиторий github.com/silverbulletmd/silverbullet создан в феврале 2022 года, на 15 октября 2026 у него 6,3 тысячи звёзд и 513 форков.
Запросы и Lua
Главное отличие от обычных заметок: страница умеет считать. Во встроенном языке запросов выбираются объекты из индекса, фильтруются и сортируются. Пример из документации в моей адаптации, пять последних изменённых страниц с тегом client:
query[[
from p = index.pages()
where table.includes(p.tags, "client")
order by p.lastModified desc
select p.name
limit 5
]]
Запрос вставляется в страницу, и вместо кода в режиме просмотра видна таблица. Так делаются дашборд «клиенты в работе», список невыполненных задач с нужным тегом, сводка по встречам за месяц. Из того же Lua пишутся свои команды, виджеты и шаблоны страниц. Шаблон «Новая встреча» создаёт страницу с датой в названии и заготовкой повестки, пример такого шаблона для ежедневной заметки есть в документации.
Где работает Lua, важно знать заранее: в браузере того, кто открыл страницу. Сам сервер на Rust скрипты не исполняет. Опциональный Runtime API запускает их в headless Chromium на сервере, в документации он помечен как экспериментальный.
Как ставится и что нужно серверу
Вариантов два. Контейнер ghcr.io/silverbulletmd/silverbullet:latest с папкой данных, смонтированной в /data, и портом 3000. Или бинарник: распаковали, создали папку и запустили ./silverbullet data. Обновление одной командой ./silverbullet upgrade либо docker compose pull. На первом запуске мастер создаёт администратора и первое пространство.
По документации серверу хватает нескольких сотен мегабайт памяти, подойдёт даже Raspberry Pi. Образ по умолчанию тянет с собой Chromium ради Runtime API, образ с суффиксом -slim без него меньше. Сам я это не запускал, всё по документации и репозиторию.
Нужен домен и HTTPS, например через Caddy. Без TLS браузер не включит офлайн-режим, вход через SSO и локальное шифрование. Для резерва в настройках пространства включается история на git с автокоммитами, её можно отправлять в удалённый репозиторий. Документация называет это резервной копией и не советует строить на нём совместную работу.
Доступ, синхронизация, конфликты
С версии 2.10 по умолчанию работает режим нескольких пространств: аккаунты, у каждого пространства свой доступ none, read или write, вход можно привязать к OpenID Connect, например к Google Workspace. На телефон он ставится как PWA.
Вся копия пространства синхронизируется в браузер: примерно раз в 20 секунд целиком и раз в 2-3 секунды для открытой страницы. Если двое правят одну страницу, сервер делает трёхстороннее слияние, и разные слова в одном абзаце обычно сливаются без конфликта. Если правка легла на те же слова, появится виджет конфликта с обеими версиями. Для картинок и PDF рядом создаётся файл-копия. Индикаторов курсоров как в Google Docs нет, документация прямо пишет, что это не он.
Где это не сработает
Уровней доступа к пространству три: нет доступа, чтение и запись. Роли «править, но не запускать скрипты» нет. Код, который написал участник с правом записи, выполнится в браузере каждого, кто откроет это пространство, включая администратора. Разработчик советует давать запись только тем, кому доверяешь целиком. Для менее доверенных нужно отдельное пространство на своём поддомене.
Права на уровне отдельной страницы, согласования и обычные комментарии в духе Docmost здесь не предусмотрены, комментарием служит HTML-блок прямо в тексте страницы. Если нужны доски, смотрите AFFiNE.
Копия пространства лежит в IndexedDB браузера в открытом виде, и потерянный ноутбук без выхода из системы отдаёт заметки. Есть клиентское шифрование, оно в статусе beta и замедляет работу.
Теперь живость проекта. Из последних ста коммитов, с 29 сентября по 15 октября 2026, девяносто девять написал сам автор Zef Hemel. Релизы выходят часто, последний 2.12.1 от 12 октября. Версия 2.0 вышла в августе 2025, и при переходе с 0.x разработчик убрал старый язык запросов, Space Script и онлайн-режим, поэтому запросы из старых заметок переписываются руками. Приложение Desktop бесплатно для личного использования, а для работы нужна платная лицензия. Сервера это не касается, он целиком под MIT.
Что можно сделать уже сейчас
Первое. Выпишите три сущности из чатов, например клиент, встреча, задача, и по пять полей к каждой.
Второе. Запустите SilverBullet на своём компьютере через Docker. На localhost всё работает и по http, пилот ничего не стоит.
Третье. Сделайте шаблон страницы клиента и один запрос «кто в работе». Если список оказался полезен, переносите на сервер.
Четвёртое. Решите, кто в команде получает запись, и заранее договоритесь о резервной копии. Поставить, подключить домен, настроить шаблоны и бэкап можно под ключ на вашем сервере, по стоимости смотрите цены. Если нужна вики для личных заметок по системе, пригодится разбор «второго мозга» по PARA.
Частые вопросы
Можно ли открыть папку с готовыми Markdown-файлами?
По документации да: если указать серверу папку со страницами, он покажет её как пространство. Как поведут себя расширения других программ, например Obsidian, я не проверял.
Нужно ли платить?
Сервер бесплатен, лицензия MIT. Платная только программа Desktop при использовании на работе.
Есть ли поиск по тексту?
Переход по названиям страниц есть в обычной версии. Полнотекстовый и смысловой поиск по журналу изменений пока значатся в edge-сборке и в релиз 2.12.1 не вошли, сам я это не проверял.
Коротко о главном
SilverBullet хранит знания в обычных файлах и даёт запросы и Lua поверх них. Для студии на несколько человек, которая доверяет друг другу, это гибкая база без чужого облака. Для отделов с разными правами и комментариями нужна другая вики.
Хотите свою базу клиентов, встреч и регламентов на файлах и запросах? Напишите мне в Telegram кодовое слово «ЗНАНИЯ» и опишите, что у вас сейчас в чатах и документах. Скажу, подойдёт ли SilverBullet, и прикину, как его развернуть.
Что я делаю для бизнеса
Напишите одной фразой, что нужно. Отвечу, что подойдёт, сколько займёт и сколько стоит. Сообщение уже подготовлено.
- Боты в Telegram, MAX, VK
- Автоматизация процессов и CRM
- Аналитика и дашборды
- Сайты и лендинги под ключ
Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.


