Автосоздание тегов в заметках Obsidian

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

Я уже писал про ТОП моих плагинов и в этой статье напишу про свой плагин который я навайбкодил недавно.

Суть плагина — помогать мне подбирать теги для моих заметок. 

Так как я в данные момент работаю в Яндек.Еде, я решил что буду использовать YandexGPT для своих целей. Что бы осуществить задуманное, мне пришлось сделать 2 вещи, написать демона на GoLang и написать сам плагин на NodeJS.

Так как Obsidian это по сути браузер на основе Chromium, то нельзя просто так делать из браузера запросы к Yandex gpt, так как это не секюрно. Поэтому мне пришлось запилить прокси на гошке, что бы все взаимодействие с LLM боле через нее.

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

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

  1. получите все секреты которые вам нужны
  2. сбилдите приложение
  3. сделайте автозагрузку этого приложения, что бы оно всегда работало в фоне как демон (можно вынести на свой сервак, если не хотите локально устанавливать)

Я все подробно описал в README

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

В настройках видим что то такое

Как работает плагин

Когда вы нажимаете command + P всплывает стандартное окно обсидиана с командами. Там выбираем «Auto tags by gpt»

После выбора команды, плагин :

  1. берет весь текст заметки
  2. берет все уникальные теги из корневой папки в которой лежит ваша заметка, либо из всего проекта(так работает лучше)
  3. шлет все это добро вместе с настройкам в вашего демона
  4. получает оттуда список тегов, и размечает заметку

 

Зачем такие настройки?

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

Допустим у вас есть заметка из одного слова, вы просите придумать 15 тегов. Скорее всего первые 1-2 тега будут нормальными (например синонимы этого слова) а остальные будут притянуты за уши. Что бы не тегировать всякой ерундой, я сделал диапазон, и это позволяет LLM выбирать только релевантные

Второе — это пользовательский промпт. Да, в демоне предусмотрена возможность менять промт без пересборки приложения(достаточно перезагрузить его), но возможно у вас будет свой демон, или вы не хотите лезть на сервер. Это возможность быстро подправить промт, что бы улучшить качество.

Третье — это способ сбора тегов. Я реализовал 2 варианта. Мне казалось что более узкое направление даст мне более точные теги, но на самом деле, лучше брать все, тогда вы будете линковать разнородные похожие друг на друга материалы.

В качестве заключения

У меня в обсидиан все сложено по папкам, я ставлю ссылки с одной заметки на другую, и пользуюсь тегами. Теги мне нужны, что бы у меня линковались все материалы, о которых я даже не помню, и даже не думаю что они связанны. То есть это еще один слой(способ) найти связи между заметками.