Автосоздание тегов в заметках Obsidian
Я довольно активно веду заметки в Obsidian, это на мой взгляд классная система, во многом помогающая сконцентрировать знания к которым можно вернуться.
Я уже писал про ТОП моих плагинов и в этой статье напишу про свой плагин который я навайбкодил недавно.
Суть плагина — помогать мне подбирать теги для моих заметок.
Так как я в данные момент работаю в Яндек.Еде, я решил что буду использовать YandexGPT для своих целей. Что бы осуществить задуманное, мне пришлось сделать 2 вещи, написать демона на GoLang и написать сам плагин на NodeJS.
Так как Obsidian это по сути браузер на основе Chromium, то нельзя просто так делать из браузера запросы к Yandex gpt, так как это не секюрно. Поэтому мне пришлось запилить прокси на гошке, что бы все взаимодействие с LLM боле через нее.
Вам не придется тратить на это время, так как я все выложил на гитхаб.
Как этим пользоваться
- получите все секреты которые вам нужны
- сбилдите приложение
- сделайте автозагрузку этого приложения, что бы оно всегда работало в фоне как демон (можно вынести на свой сервак, если не хотите локально устанавливать)
Я все подробно описал в README
Дальше качаем сам плагин и складываем его в папку с плагинами обсидиана. Аналогично первому проекту все подробно описано в README
Перезагружаем обсидиан, заходим в плагины и активируем наш новый плагин.
В настройках видим что то такое

Как работает плагин
Когда вы нажимаете command + P всплывает стандартное окно обсидиана с командами. Там выбираем «Auto tags by gpt»
После выбора команды, плагин :
- берет весь текст заметки
- берет все уникальные теги из корневой папки в которой лежит ваша заметка, либо из всего проекта(так работает лучше)
- шлет все это добро вместе с настройкам в вашего демона
- получает оттуда список тегов, и размечает заметку
Зачем такие настройки?
Первое что хочется подчеркнуть, это количество тегов. Я сделал диапазон, что бы подбирались только релевантные теги. давайте поясню ан примере.
Допустим у вас есть заметка из одного слова, вы просите придумать 15 тегов. Скорее всего первые 1-2 тега будут нормальными (например синонимы этого слова) а остальные будут притянуты за уши. Что бы не тегировать всякой ерундой, я сделал диапазон, и это позволяет LLM выбирать только релевантные
Второе — это пользовательский промпт. Да, в демоне предусмотрена возможность менять промт без пересборки приложения(достаточно перезагрузить его), но возможно у вас будет свой демон, или вы не хотите лезть на сервер. Это возможность быстро подправить промт, что бы улучшить качество.
Третье — это способ сбора тегов. Я реализовал 2 варианта. Мне казалось что более узкое направление даст мне более точные теги, но на самом деле, лучше брать все, тогда вы будете линковать разнородные похожие друг на друга материалы.
В качестве заключения
У меня в обсидиан все сложено по папкам, я ставлю ссылки с одной заметки на другую, и пользуюсь тегами. Теги мне нужны, что бы у меня линковались все материалы, о которых я даже не помню, и даже не думаю что они связанны. То есть это еще один слой(способ) найти связи между заметками.
