llm-agent-plugin/Readme.md
2026-07-06 01:50:38 +03:00

70 lines
4.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# LLM Agent Plugin для Obsidian
Интеграция LLM (Large Language Models) в Obsidian с визуализацией диалогов в виде графа и интерактивным чатом.
## Структура проекта
```text
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](https://nodejs.org/) (рекомендуется LTS).
- Запущенный [LLM Backend](https://github.com/user/llm-agent-backend) (по умолчанию на порту 5000).
2. **Сборка**:
```bash
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 для доступа к метаданным файлов и поиску.