Гениальный плагин для обсидиана, написанный (на удивление) на rust. Добавляет в обсидиан chat gpt, но со своими приколами.

Архитектура

Плагин, как слоеный пирог состоит из трех слоев:

  • верхний (фронт на ts)
  • средний (chatgpt)
  • нижний (MKADb)

Как должен работать верхний слой

Эта секция написана для тебя, Кирилл. Общение юзера с гпт представляет с собой бесконечный эвент луп. При каждом введеном сообщении юзера должен обрабатываться один и тот же код. Вот как примерно должен выглядеть pipeline диалога:

loop {
	сообщение = сообщение юзера
 
	тип = запрос к гпт (выбери, что делать: ответить стандартно, анализ заметок, другое)
 
	match тип {
		анализ => анализ()
		стандартный ответ => ответ()
		другое => другое()
	}
}
 
 
 
fn анализ() {
	категории = все категории кейвордов from MKADB
	нужные категории = запрос к гпт (выбери подходящие категории с кейвордами для ответа на вопрос)
	нужные ключевые слова = запрос к гпт (выбери подходящие ключевые слова из (получить кейворды из категорий))
 
	настройка фильтра для поиска по ключевым словам
	поиск по ключевым словам заметок
 
	делаем самари для заметок, если его нет
	добавляем в контекст самари заметок но не показываем их юзеру
	вывести(запрос к гпт(весь контекст))
}
 
fn ответ() {
 вывести(запрос к гпт(весь контекст))
}
 
fn другое() {
 а это потом
}