Go to file
2026-07-08 23:21:25 +03:00
.vscode Debug vault websocket events 2026-07-06 01:50:38 +03:00
old/src Bug fixes to render react-flow using esbuild bundler instead of loading from cdn 2025-09-14 19:03:33 +03:00
src Update VaultQueryHandler.ts with 3 attempts-write 2026-07-08 23:21:25 +03:00
.editorconfig Move to ts from js because of problems with import, and make this based on sample plugin 2025-09-12 04:48:23 +03:00
.eslintignore Move to ts from js because of problems with import, and make this based on sample plugin 2025-09-12 04:48:23 +03:00
.eslintrc Move to ts from js because of problems with import, and make this based on sample plugin 2025-09-12 04:48:23 +03:00
.gitignore Debug vault websocket events 2026-07-06 01:50:38 +03:00
.npmrc Move to ts from js because of problems with import, and make this based on sample plugin 2025-09-12 04:48:23 +03:00
.prettierrc Move to ts from js because of problems with import, and make this based on sample plugin 2025-09-12 04:48:23 +03:00
AGENTS.md Move to ts from js because of problems with import, and make this based on sample plugin 2025-09-12 04:48:23 +03:00
Compile.md Set better obfuscation, add Compile.md 2026-06-06 23:43:54 +03:00
debug-obsidian.bat Debug vault websocket events 2026-07-06 01:50:38 +03:00
DEBUGGING.md Debug vault websocket events 2026-07-06 01:50:38 +03:00
esbuild.config.mjs Set better obfuscation, add Compile.md 2026-06-06 23:43:54 +03:00
LICENSE Move to ts from js because of problems with import, and make this based on sample plugin 2025-09-12 04:48:23 +03:00
main.ts Debug vault websocket events 2026-07-06 01:50:38 +03:00
mainBasic.ts Move to ts from js because of problems with import, and make this based on sample plugin 2025-09-12 04:48:23 +03:00
package-lock.json Fixes for build 2025-11-25 23:07:38 +03:00
package.json Fixes for build 2025-11-25 23:07:38 +03:00
README-Basic.md Move to ts from js because of problems with import, and make this based on sample plugin 2025-09-12 04:48:23 +03:00
Readme.md Debug vault websocket events 2026-07-06 01:50:38 +03:00
tsconfig.json Bug fixes to render react-flow using esbuild bundler instead of loading from cdn 2025-09-14 19:03:33 +03:00
version-bump.mjs Move to ts from js because of problems with import, and make this based on sample plugin 2025-09-12 04:48:23 +03:00
versions.json Move to ts from js because of problems with import, and make this based on sample plugin 2025-09-12 04:48:23 +03:00

LLM Agent Plugin для Obsidian

Интеграция LLM (Large Language Models) в Obsidian с визуализацией диалогов в виде графа и интерактивным чатом.

Структура проекта

llm-agent-plugin/
├── src/
│   ├── components/            # React-компоненты интерфейса
│   │   ├── models/            # Модели данных для компонентов
│   │   ├── ChatPanel.ts       # Панель основного чата
│   │   ├── GraphPanel.ts      # Панель визуализации графа (React Flow)
│   │   ├── HistoryPanel.ts    # Панель истории сообщений
│   │   └── VoicePanel.ts      # Компонент голосового управления
│   ├── views/                 # Представления (Views) Obsidian
│   │   ├── ChatView.ts        # Правая панель чата
│   │   └── GraphView.ts       # Центральная панель графа
│   ├── utils/                 # Вспомогательные утилиты и сервисы
│   │   ├── WebSocketService.ts # Связь с Python бэкендом
│   │   ├── EventBus.ts        # Шина событий для обмена данными
│   │   ├── fileUtils.ts       # Инструменты работы с файлами vault
│   │   └── VaultQueryHandler.ts # Поиск и фильтрация данных в Obsidian
│   ├── references/            # Система упоминаний и связей
│   │   ├── AutocompleteManager.ts # Логика выпадающего списка
│   │   ├── ReferenceParser.ts   # Парсинг [[ссылок]] в сообщениях
│   │   └── TemplateEngine.ts    # Генерация контента по шаблонам
│   ├── modals/                # Всплывающие окна
│   │   └── GraphSettingsModal.ts # Настройки визуализации
│   ├── constants.ts           # Глобальные константы и настройки
│   ├── types/                 # TypeScript определения и интерфейсы
│   ├── css/                   # Стили компонентов
│   ├── json/                  # Конфигурационные JSON файлы
│   └── docs/                  # Техническая документация и спецификации
├── main.ts                    # Точка входа: инициализация плагина и команд
├── mainBasic.ts               # Упрощенная версия плагина
├── package.json               # Зависимости и скрипты сборки (npm)
├── esbuild.config.mjs         # Конфигурация сборщика esbuild
└── manifest.json              # Манифест плагина Obsidian

Установка

  1. Предварительные требования:

    • Установленный Node.js (рекомендуется LTS).
    • Запущенный LLM Backend (по умолчанию на порту 5000).
  2. Сборка:

    npm install        # Установка зависимостей
    npm run build      # Сборка проекта (создает main.js)
    
  3. Активация в Obsidian:

    • Поместите папку llm-agent-plugin в .obsidian/plugins/ вашего хранилища.
    • В настройках Obsidian ("Community Plugins") включите "LLM Agent".

Использование

  • Граф диалогов: Открывается через иконку 🧠 на левой панели. Позволяет видеть ветвление мыслей LLM.
  • Интерактивный чат: Находится в правой боковой панели. Поддерживает слеш-команды (/imagine, /analyze).
  • Система ссылок: Используйте [[название заметки]] в чате для передачи контекста ваших файлов в LLM.
  • Голосовой ввод: Нажмите иконку микрофона для диктовки сообщений.

Технические особенности

  • Связь: Использует WebSocket для real-time обновления графа и стриминга ответов.
  • UI: Построен на базе React и React Flow для отрисовки сложных структур графов.
  • Интеграция: Глубокая интеграция с API Obsidian для доступа к метаданным файлов и поиску.