AiHuskyAssist · Менеджер задач с AI, файлами и агентом
Десктопное приложение для Windows: задачи и напоминания с AI-анализом, локальные и S3-каталоги, Wiki, агент, почта и ленты (Telegram, VK, WordPress-чаты), виджеты рабочего стола и синхронизация через PHP/MySQL. Есть отдельный web-режим в браузере.
Возможности
- Задачи — статусы, приоритеты, сроки, время выполнения, вложения и AI-резюме на карточке.
- Напоминания — повтор по часу, дню, месяцу, году или custom-интервалу; ближайшие попадают в правую панель уведомлений.
- AI Summary — просроченные и предстоящие задачи, статистика за день и совет модели; ежедневная сводка приходит в панель уведомлений, а не модалкой.
- Файлы — отслеживание локальных папок и S3-бакетов (Yandex Object Storage и другие S3-совместимые API). Две вкладки: теговая и обычная файловая система, сетка карточек, группировка, теги, закрепление на рабочий стол и в меню «Пуск».
- Wiki — rich text, вкладки, папки и список всех загруженных файлов задач.
- Агент — сессии, планы, команды, документы, multi-step execution, MiniApps, workflow cache и разбор безопасности команд.
- Feed — мультимесенджер (WordPress Chat API), IMAP-почта, Telegram и VK в одной вкладке со списком источников слева.
- Виджеты — Python-виджеты на рабочем столе: параметры ПК, доступность сайта, копия сайта на ПК; размер плитки в ячейках сетки.
- Рабочий стол — закреплённые файлы, папки, S3, заметки, виджеты и группы иконок (как стопки в «Пуск»).
- Логи — история действий и выполненных задач.
- Import/Export — JSON задач, напоминаний, Wiki, журнала изменений, снимки агента и активности.
- Web UI — отдельный профиль в
localStorageбраузера; обмен через export/import changes и PHP/MySQL backend. - WordPress sync — публикация markdown-документации проекта в запись через REST API и application password.
Требования
- Windows 10/11.
- Node.js 18 или выше, npm.
winget— опционально:setup.batможет поставить Node.js LTS, если его нет.- Poppler для Windows — для надёжной конвертации PDF-страниц в изображения. Распаковать в
poppler/в корне; ожидаемый путь:poppler/poppler-XX.XX.X/Library/bin/. Без Poppler используетсяpdfjs-dist(в Electron возможны ограничения). - Bothub.chat API key — опционально. Без ключа приложение работает, AI-анализ отключён.
- Для S3: ключ доступа и секрет к бакету (Yandex Object Storage или совместимый endpoint).
- Для Feed: IMAP, VK token, URL tgfeed, WordPress Chat API — по тем источникам, которые нужны.
- Для PHP-синхронизации: PHP 7+/8+ и MySQL 5+/8+ на сервере (
webassist/php/).
Установка и запуск
Быстрый старт на Windows:
setup.bat
run.bat
setup.bat проверяет Node.js/npm, при отсутствии Node.js предлагает LTS через winget, ставит зависимости (npm ci при наличии package-lock.json) и выполняет npm run build. run.bat запускает development mode (npm run dev).
Ручной вариант:
npm install
npm run dev
npm run dev поднимает Vite на http://localhost:5173, сборку Electron main process в watch-режиме и само приложение.
Профиль целиком:
backup-profile.bat
restore-profile.bat
backup-profile.bat пишет копию в backups/profile-backup-YYYYMMDD-HHMMSS/. restore-profile.bat восстанавливает последний backup или даёт выбрать папку профиля старого ПК; при Access denied на чужом диске предлагает takeown + icacls (нужны права администратора).
Web UI
npm run dev:web
npm run build:web
Сборка — dist/web/. Electron хранит данные в %APPDATA%, браузер — в своём localStorage.
Production и дистрибутивы
npm run build
npm start
npm run dist:portable
npm run dist:win
npm run dist
dist:portable— portable.exe.dist:win— NSIS-установщик.dist— все форматы текущей платформы.
После сборки программа запускается двойным кликом по .exe. Ожидаемый размер portable/installer около 150–200 МБ (в комплекте Chromium).
Использование
Задачи и напоминания
- Вкладка «Задачи»: создайте карточку, укажите статус, приоритет и срок.
- Перетащите файлы на задачу или выберите через диалог — они попадут в
uploads/или в пользовательский каталог файлов. - При настроенном API key анализ запускается сам; в карточке видно резюме. Повторный анализ — из модалки задачи.
- Напоминание: включите флаг у задачи или создайте отдельную запись во вкладке напоминаний.
- Поиск идёт по названию, описанию, AI summary и advice.
Файлы: локальные каталоги и S3
- «Файлы» → «Добавить каталог» или Настройки → список каталогов.
- Локальная папка — диалог выбора директории.
- S3 — кнопка «+ Добавить S3»: endpoint (по умолчанию
https://storage.yandexcloud.net), регионru-central1, бакет, опциональный префикс, ключ и секрет. «Проверить связь» до сохранения. - Две вкладки корня:
— Теговая файловая система — теги как карточки-папки; внутри — каталоги с этим тегом. Тег переименовывается из контекстного меню.
— Обычная файловая система — сетка каталогов, вложенные виртуальные папки drag-and-drop, удаление пустой папки из меню.
- Откройте каталог: поиск, метаданные, для локальных папок — предпросмотр
README.mdсправа. - S3-карточки помечены как облачные. Вложенные пути вида
s3://bucket/folderоткрываются с хлебными крошками. Медиа скачивается во временный файл и открывается программой ОС. - Закрепите папку или файл на рабочий стол / в «Пуск». S3-закладки открывают нужный префикс в «Файлах».
Ключи S3 хранятся только в локальном ai-config.json, не в репозитории.
Wiki
- Откройте вкладку Wiki.
- Создайте вкладку или папку, пишите в редакторе (жирный, списки, код, чекбоксы).
- Внизу — все вложения задач со ссылкой на карточку.
Агент и MiniApps
- Вкладка «Агент»: новая сессия или MiniApp.
- Укажите рабочую директорию, сгенерируйте план, утвердите команды.
- Опасные команды проходят локальный safety-анализ и могут требовать подтверждения.
- MiniApps: шаги, вставка команды между другими, выбор директории в шаге, если в тексте есть путь.
- Карточки сессий и MiniApps перетаскиваются по сетке; порядок сохраняется.
Feed
- Вкладка Feed, слева источники: Мультимесенджер, Почта, Telegram, VK.
- Настройки → Feed: IMAP, VK token и список групп, URL tgfeed и каналы Telegram, WordPress Chat (
/wp-json/my-chat/v1). - Почта читается как чаты; у сообщений мультимесенджера — «В задачи», «В Wiki», «На стол», «В Пуск».
- Telegram: лента с медиа-сеткой, аватары каналов, кэш постов/медиа 24 ч, подгрузка кружком-таймером (3 с), когда индикатор виден. «Обновить» сбрасывает кэш канала.
- VK: посты
wall.get, фото и видео в одной сетке, лайтбокс по клику.
Виджеты и рабочий стол
- Бургер-меню → «Виджеты»: список слева, код по центру, превью и настройки справа.
- Встроенные: «Параметры ПК» (SSD/HDD, ОЗУ, CPU, сеть), «Доступность сайта» (URL, иконка глобуса), «Копия сайта на ПК» (SSH или HTTP
widget_backup.php, папки файлов и БД). - «Закрепить на рабочем столе» — плитка с span
width × height. Повторное закрепление копирует экземпляр. - На столе и в «Пуск»: перетащите ярлык на другой — получится группа (3 мини-иконки на плитке, попап со всеми элементами). Вынести — кнопка ↗ или контекстное меню.
Настройка AI
- Настройки.
- API Key, Base URL
https://bothub.chat/api/v2/openai/v1, текстовая и vision-модели, температура, max tokens, max text length, длина summary. - Без ключа остальной функционал работает.
Перенос профиля
Каталог userData (обычно один из путей):
%APPDATA%\AiHuskyAssist\
%APPDATA%\ai-husky-assist\
Копируйте каталог целиком, не отдельные файлы.
Внутри: tasks.db, ai-config.json (AI, IMAP, WordPress, каталоги и S3), uploads/, command-logs/, agent-workspaces/, Local Storage/ (Wiki, почта, пины, виджеты, порядок карточек), кэш Telegram (tg-feed-cache, tg-feed-media, tg-feed-avatars). Внешние локальные папки из списка каталогов и содержимое S3-бакетов лежат вне профиля.
Порядок: закрыть приложение на старом ПК → скопировать профиль → на новом один раз запустить и закрыть → заменить userData → перенести внешние каталоги при необходимости. Перед заменой сделайте backup текущего профиля.
PHP-синхронизация
- Скопируйте
webassist/php/config.sample.phpвconfig.php, укажите MySQL и токен. - Откройте
db_init.phpс токеном и?confirm=YES. - В приложении: «Проверить связь», затем push/pull журнала изменений.
Структура проекта
.
├── README.md
├── doc/ # ARCHITECTURE, CHANGELOG, AI_RULES
├── src/
│ ├── main/ # Electron: БД, файлы, S3, AI, агент, Feed, виджеты
│ └── renderer/ # React UI, platform Electron/Web
├── webassist/php/ # sync_push/pull, auth, widget_backup
├── poppler/ # внешняя утилита PDF, если установлена
├── assets/
├── dist/ # сборка
└── release/ # electron-builder
Слои, схемы БД и IPC — в doc/ARCHITECTURE.md.
Технологии
- Electron 28 — desktop runtime и main process.
- React 18 — UI renderer.
- TypeScript 5 — основной язык.
- Vite 5 — dev server и сборка renderer/web.
- sql.js 1 — локальная SQLite без нативных модулей.
- @aws-sdk/client-s3 — каталоги в Yandex Object Storage и совместимых S3.
- @dnd-kit — сетки карточек, каталоги, группы на столе.
- Bothub.chat / OpenAI-compatible API — анализ задач, документов, писем и агента.
- imap + mailparser — почта в Feed.
- ssh2 — виджет резервного копирования сайта.
- PHP 7+/8+ + MySQL 5+/8+ — web-синхронизация в
webassist/php/. - Poppler для Windows — PDF → изображения; fallback
pdfjs-dist+mammothдля DOCX.
Интеграции и ключи
Все секреты только в локальном ai-config.json или в webassist/php/config.php на сервере. В git не класть.
- Bothub / OpenAI-compatible — Настройки → AI: анализ задач, файлов, писем, агент, ежедневная сводка.
- S3 — Настройки → каталоги / «+ Добавить S3»: удалённые папки в разделе «Файлы».
- IMAP — Настройки → Feed: почтовые чаты.
- VK API — Настройки → Feed: лента групп.
- tgfeed — Настройки → Feed: посты Telegram-каналов.
- WordPress Chat — Настройки → Feed: мультимесенджер.
- WordPress REST — Настройки → WordPress: публикация markdown проекта.
- PHP sync — настройки синхронизации и
config.php: обмен журналом изменений. Endpoints требуют заголовокX-Sync-Token.
Лицензия
MIT
История изменений
Все значимые изменения в проекте AiHuskyAssist документируются в этом файле.
Формат основан на Keep a Changelog, проект придерживается Semantic Versioning.
[Unreleased]
Added
- S3-хранилища в каталогах файлов: кнопка «+ Добавить S3» в настройках, подключение Yandex Object Storage (и других S3-совместимых API) по ключу доступа; S3-бакеты отображаются в разделе «Файлы» наравне с локальными папками, с тегами и группировкой.
Changed
README.mdприведён к полной структуре: возможности, требования, установка, сценарии (задачи, файлы/S3, Wiki, агент, Feed, виджеты, перенос профиля), дерево, стек, таблица интеграций. Убраны заглушки Roadmap и «скрины позже».doc/ARCHITECTURE.md: сервисы S3, Telegram/VK/Chat Feed, виджет бэкапа сайта; виртуальные путиs3://; кэш tg-feed в userData; IPC Feed иfiles:s3TestConnection.doc/AI_RULES.md: в текущем контексте — каталоги S3, Feed, виджеты, кэш Telegram в профиле.
Fixed
- S3: навигация по вложенным папкам — пути вида
s3://bucket/folderбольше не ломаются вs3:/bucket/folderпри раскрытии подкаталогов. - S3: открытие медиа и бинарных файлов через приложения по умолчанию в ОС (файл скачивается во временную папку без порчи UTF-8).
- S3: закреплённые на рабочий стол / в Пуск папки открываются в разделе «Файлы» с иконкой ☁️.
- S3: закреплённые вложенные папки открываются сразу в нужном каталоге (с хлебными крошками для навигации вверх).
- Каталоги «Файлы»: пустые ячейки в сетке при перетаскивании карточек — collision detection больше не блокирует перестроение сетки при намерении сгруппировать элементы.
- Каталоги «Файлы»: в «Обычной файловой системе» восстановлен drop-on-item для создания новой виртуальной папки (перетаскивание на любую карточку), и добавлено удаление пустой папки через контекстное меню.
- Каталоги «Файлы»: в «Теговой файловой системе» добавлено переименование тега через контекстное меню карточки тега с массовым обновлением тега у всех вложенных каталогов.
- Каталоги «Файлы»: добавлена кнопка «Добавить каталог» прямо на экране обеих файловых систем (регистрация каталога без перехода в настройки).
- Drag-and-drop каталогов: снижены ложные множественные выделения/визуальный «групповой захват» карточек за счёт блокировки text/image selection во время перетаскивания.
Changed
- Раздел «Файлы»: вкладка «Теговая файловая система» — карточки каталогов в сетке (как на «Обычной файловой системе»), без раскрывающихся списков; редактирование тега через контекстное меню.
- Раздел «Файлы»: во вкладке «Теговая файловая система» теги отображаются как отдельные карточки-папки; внутри открывается содержимое тега с drag-and-drop и редактированием тегов каталогов.
- Раздел «Файлы»: при открытии карточки тега скрыт инструмент «Расформировать» для самого тега; в контекстном меню каждого каталога внутри тега оставлен инструмент смены тега.
- Windows helper scripts:
— setup.bat — проверяет Node.js/npm, предлагает автоматическую установку Node.js LTS через winget, устанавливает зависимости, выполняет сборку и выводит напоминание о переносе профиля.
— run.bat — запускает desktop-приложение в development mode.
— backup-profile.bat — создает полную резервную копию профиля Electron (tasks.db, ai-config.json, Local Storage, agent-workspaces и др.).
— restore-profile.bat — восстанавливает профиль из backup и умеет вручную выбрать папку профиля старого ПК, если backup не найден.
- Документация по переносу профиля уточнена: для полного переноса нужно копировать весь
Electron userDataкаталог (включаяLocal Storageиagent-workspaces), а не только отдельные файлы. - Web UI режим через
npm run dev:webиnpm run build:web; результат сборки находится вdist/web/. - Отдельное локальное хранилище браузера для Web:
aihusky:web:state:v1, независимое от Windows/Electron базыtasks.db. - PHP/MySQL синхронизация в
webassist/php/:
— config.sample.php → скопировать в config.php и заполнить доступ к MySQL + токен.
— db_init.php — создаёт таблицы.
— sync_push.php — принимает изменения.
— sync_pull.php — отдаёт изменения.
- WordPress REST API синхронизация markdown-документации проекта в post/page через application password.
- Agent View:
— сессии агента;
— генерация плана;
— извлечение команд;
— хранение сообщений и документов;
— multi-step execution;
— workflow cache;
— анализ безопасности команд.
- Mail View:
— подключение по IMAP;
— чтение последних писем;
— анализ писем и вложений;
— сохранение писем в локальные папки.
- Feed View:
— левая панель источников (Special API, Почта, Telegram, VK);
— почта как чаты внутри Feed;
— базовая настройка VK/Telegram/Special API в Settings → Feed.
— VK лента: загрузка постов через VK API (wall.get), список групп с круглыми аватарами и превью, чтение постов с ленивой подгрузкой при прокрутке.
- Desktop template, pinned notes, desktop quick chat и miniapp execution notifications в renderer.
- Расширенный файловый API: чтение директорий, recursive tree, открытие файлов, чтение/запись markdown, создание/удаление/переименование файлов и директорий.
Changed
vite.config.tsподдерживает режимwebс относительной базой./и выводом вdist/web.- Windows/Electron и Web работают независимо: Windows хранит данные в
%APPDATA%\AiHuskyAssist\, Web хранит данные вlocalStorage. - Локальное хранение файлов поддерживает как старый путь
uploads/{taskId}, так и пользовательский каталог, где задача получает папку с sanitized названием. - Настройки AI расширены конфигурацией агента, IMAP, WordPress и списком пользовательских каталогов файлов.
- Telegram Feed: текст поста отображается перед медиа (фото, видео, альбомы); порядок в tgfeed API не меняется.
- Telegram Feed: фото и видео в общей сетке (как VK); плейсхолдеры медиа сразу с красной рамкой 140×112px до загрузки.
- Telegram Feed: подробные логи загрузки медиа с URL — renderer
[tgfeed-media], main[tgfeed](protocol + backend fetch). - Telegram Feed: бесконечная прокрутка —
hasMoreне завязан на число постов (альбомы сжимают limit сообщений tgfeed). - Telegram Feed: локальный кэш постов и медиа (24ч), фоновая подгрузка 5 постов/канал, в UI — 5 постов + по 1 при прокрутке; медиа — очередь 1 файл, только в viewport.
- Telegram Feed: аватары каналов через
tgfeed-avatar://— og:image/tgme_page_photo + диск-кэш 24ч, прогрев в фоне. - Telegram Feed: кружок-таймер (3с) вместо кнопки «Загрузить ещё» — посты подгружаются только когда индикатор виден в ленте.
- Telegram Feed: альбомы и подписи больше не разбиваются на две карточки — склейка по
fingerprintи по паре text+media с одной датой; запрос tgfeed ≥25 сообщений. - Telegram Feed: кнопка «Обновить» сбрасывает кэш постов канала; полная очистка —
feed:tgClearCache()или папки в%APPDATA%\AiHuskyAssist\. - Рабочий стол и меню «Пуск»: добавлены группы закреплённых иконок (
pin-group) — плитка группы того же размера, на ней видны 3 мини-иконки, по клику открывается попап со всеми элементами группы. - Рабочий стол и меню «Пуск»: drag&drop группировка закреплённых — перетаскивание одного элемента на другой создаёт группу, перетаскивание на закрытую группу добавляет элемент внутрь.
- Группы закреплённых: перетаскивание элементов внутри попапа группы; переименование группы по клику на заголовок.
- Группы закреплённых: вынести отдельный элемент из группы обратно на рабочий стол или в меню «Пуск» (кнопка ↗ или контекстное меню).
- Группы закреплённых: создание группы только при явном «набросе» плитки на другую; при удержании над целью сетка не переставляется, цель подсвечивается синей рамкой.
- Группы закреплённых: виджеты внутри попапа группы отображаются как живые плитки с теми же размерами, что на рабочем столе (сетка 84px × minmax(220px, 1fr)).
- Добавлена страница
Виджеты(доступ из бургер-меню), редактор из 3 колонок (список/код/превью+настройки), выполнение Python-кода виджета внутри приложения и системные метрики (RAM/CPU/сеть). - Добавлен пробный виджет «Параметры ПК», а также закрепление виджета на рабочем столе с настраиваемым размером в плитках (
width x height). - Добавлен виджет «Доступность сайта» (HTTP-проверка, задержка, статус); в настройках — поле URL.
- Виджет «Параметры ПК»: первая строка — «память SSD» (занятость диска C:), кнопки действий отображаются и на рабочем столе.
- Виджеты: боковой список показывает все экземпляры виджетов; закреплённые на рабочем столе отмечены значком скрепки, остальные — без значка.
- Виджеты: каждая плитка на рабочем столе связана с отдельным экземпляром в
desktop-widgets; клик по плитке или в списке открывает настройки и код именно этого экземпляра (редактирование применяется к выбранному виджету). - Виджеты: повторное «Закрепить» уже закреплённого экземпляра создаёт копию с отдельными настройками; первое закрепление привязывает плитку к текущему экземпляру без дублирования в списке.
- Виджеты: встроенные «Параметры ПК» и «Доступность сайта» всегда в списке, их нельзя удалить; открепление с рабочего стола не убирает их из редактора.
- Виджеты: кнопка «Обновить виджет» рядом с «Закрепить на рабочем столе» — для встроенных сбрасывает код и настройки к заводским, для остальных обновляет превью.
- Виджет «Копия сайта на ПК»: встроенный виджет резервного копирования БД и файлов сайта на локальный диск (SSH или HTTP API
webassist/php/widget_backup.php); на плитке — кнопки «открыть» / «копировать» и прогресс при длительном копировании. - Виджеты по умолчанию: компактный вид (доступность — хост и иконка глобуса, ПК — SSD/доп. диски/ОЗУ/CPU/Сеть, бекап — строки с кнопками); обновление — полупрозрачная иконка ↻ в углу плитки.
- Карточки на экранах сессий агента, MiniApps, рабочего стола и в попапе «Пуск» теперь можно перетаскивать по сетке с сохранением пользовательского порядка.
- Ежедневное AI саммари больше не открывается центральной модалкой автоматически: теперь оно добавляется в область уведомлений как высокая карточка в правой панели.
- Вкладка «Почта» переименована в «Feed» и получила левую панель источников в стиле Telegram; настройки Email (IMAP) перенесены в Settings → Feed.
- Feed → Мультимесенджер: интеграция WordPress Chat API (
/wp-json/my-chat/v1) — все чаты, переписка и отправка сообщений.
Changed
- Feed → Мультимесенджер: кнопки «В задачи», «В Wiki», «На стол», «В Пуск» у каждого сообщения (как в Telegram/VK).
- Виджет «Доступность сайта»: вместо
ON/OFF— иконка глобуса справа (зелёная при доступности, красная перечёркнутая при недоступности). - Виджет «Параметры ПК»: после SSD отображаются дополнительные локальные диски с типом SSD/HDD и занятостью.
- Виджет «Копия сайта на ПК»: отдельные папки «Папка для файлов» и «Папка БД»; кнопка «Тестировать связь» с пошаговым логом; поля MySQL (пользователь/пароль/база) для автоматической сборки mysqldump.
Fixed
- Виджет «Копия сайта на ПК»: проверка связи больше не зависает — исправлено чтение stdout SSH; добавлены таймауты и подробный лог шагов.
- Виджет «Копия сайта на ПК»: исправлен ложный «Таймаут SSH» при длительном копировании файлов; ошибки БД и файлов показываются отдельно в соответствующих строках.
- Telegram Feed: несколько фото в посте снова в одну строку (сетка
tg-media-gridна клиенте + CSS). - Telegram Feed: восстановлено 3-секундное заполнение кружка перед подгрузкой старых постов; во время запроса кольцо остаётся заполненным.
- Группы закреплённых: исправлено создание группы при отпускании плитки с синей подсветкой (ранний выход из
dragEnd, когдаover === active). - Виджеты: превью и плитка на рабочем столе обновляются без мигания — данные подменяются на месте.
- Виджеты: после «Закрепить на рабочем столе» выполняется переход на рабочий стол, виджет рендерится с живыми данными и корректным span в сетке.
- Виджеты: исправлена высота плитки на рабочем столе —
grid-row: span Nбольше не ограничиваетсяmax-height: 84pxу обычных ярлыков. - Виджеты: настройки и экземпляры закреплённых плиток сохраняются в
localStorageпосле перезапуска; миграция старых снимков (widgetSnapshot) в отдельные экземпляры при старте. - Telegram Feed: медиа снова идут через прокси
tgfeed-media://(main-процесс), с повторной попыткой и ручной перезагрузкой по клику; видео открывается в попапе как во VK. - Telegram Feed: лента сортируется как VK — новые посты сверху, старые подгружаются при прокрутке вниз.
- VK Feed: видео в одной сетке с фото (превью + ▶), воспроизведение и увеличение по клику в лайтбоксе; MP4 через Referer vk.com, fallback — embed VK.
- Telegram Feed: аватар канала (t.me) и фоновая подгрузка превью последнего поста для списка источников.
- Для WordPress sync исключаются служебные директории
node_modules,.git,.cursor,dist,build,.next,coverage, virtualenv и другие технические папки. - Для агентных команд нормализован timeout:
0означает «без ограничения», старое значение300трактуется как legacy default. - Исправлено наложение карточек на рабочем столе после включения drag-and-drop: ширина desktop-карточек теперь корректно подстраивается под ячейку сетки.
Technical Notes
- Web/PHP синхронизация использует журнал операций
sync_changesлокально и таблицуchangesна сервере. - PHP endpoint требует
X-Sync-Token;db_init.phpчерез браузер разрешён только с токеном и?confirm=YES. - MySQL схема использует
utf8mb4_unicode_ciдля корректной кириллицы и эмодзи.
[1.2.0] — 2025-12-26
Added
Новые экраны и компоненты
- AI Summary Bell (Колокольчик уведомлений) — умный помощник с автоматическим отображением.
— Автоматически показывается при первом запуске каждый день.
— Отображает просроченные и предстоящие задачи.
— Показывает напоминания на ближайшее время.
— Статистика активности за текущий день.
— Персонализированный AI совет на основе данных пользователя.
— Компоненты: AISummaryModal.tsx, NotificationBell.tsx.
- Вкладка «Файлы» — система отслеживания локальных папок.
— Добавление и отслеживание файловых папок на локальном ПК.
— Группировка папок по пользовательским тегам.
— Отображение метаданных: локальный адрес, размер, дата создания.
— Редактирование тегов прямо в интерфейсе.
— Поиск внутри папок (отображается при открытии папки).
— Компонент: FilesView.tsx.
- Система активностей — автоматическое логирование действий пользователя.
— Отслеживание создания/удаления задач.
— Логирование операций с папками (добавление, удаление, изменение тегов).
— Отображение активности в AI Summary.
— Хранение истории в базе данных (activity_log).
Работа с данными
- Import/Export функционал — резервное копирование и восстановление данных.
— Экспорт всех задач в JSON формат.
— Экспорт напоминаний в JSON.
— Экспорт Wiki данных.
— Импорт данных из JSON файлов.
— Интерфейс в модальном окне настроек.
Улучшения Wiki
- Rich Text Editor — продвинутое форматирование текста в Wiki.
— Форматирование: жирный, курсив, код, цитаты.
— Упорядоченные и неупорядоченные списки.
— Чекбоксы для списков задач.
— Блоки кода с автоматической нумерацией строк.
— Кнопки форматирования в панели инструментов.
Changed
- Обновлен дизайн верхней панели с добавлением кнопки AI Summary Bell.
- Улучшена навигация — добавлена вкладка «Файлы» между Wiki и Логами.
Fixed
- Исправлена нумерация строк в блоках кода Wiki — теперь корректно инкрементируется при нажатии Enter.
- Исправлено логирование активностей для операций с папками (создание, удаление, редактирование тегов).
- Улучшена производительность FilesView при работе с большим количеством папок.
[1.1.0] — 2024-12-XX
Added
- Темная тема с синими акцентами — полностью обновленный дизайн интерфейса.
— Темный фон (#0f172a) для комфортной работы.
— Синие акценты (#3b82f6) для интерактивных элементов.
— Градиентный заголовок с синими оттенками.
— Плавные переходы и тени для глубины.
- Отображение всех файлов в Wiki — новая секция на вкладке Wiki.
— Список всех загруженных файлов из всех задач.
— Кликабельные ссылки на задачи, содержащие файлы.
— Информация о размере и дате загрузки файлов.
— Иконки для разных типов файлов (изображения, PDF, документы).
- Автоматическое удаление файлов — при удалении задачи все её файлы удаляются с диска.
- Документация по хранению файлов — новый файл
FILE_STORAGE.mdс подробным описанием.
Fixed
- Исправлено удаление файлов при удалении задачи — теперь файлы удаляются физически с диска.
- Улучшена навигация в Wiki — добавлена возможность перехода к задаче по клику на файл.
Technical Notes
- Информация из
FILE_STORAGE.mdперенесена вdoc/ARCHITECTURE.md.
[1.0.0] — 2024-12-XX
Added
Основной функционал
- Список задач — переход от Kanban доски к списку карточек с отображением всех статусов.
- Экран Wiki — структурированный просмотр всех задач и их AI-выводов для быстрого доступа к информации.
- Экран Логи — история выполненных задач со статистикой и возможностью окончательного удаления.
- Статистика — отображение количества задач по дням, неделям и месяцам.
Работа с файлами
- Поддержка Microsoft Word (.docx) — автоматическое извлечение текста из DOCX файлов с помощью библиотеки
mammoth. - Надежное распознавание PDF — автоматическая конвертация всех страниц PDF в изображения для анализа через vision API.
— Основной метод: pdf-poppler (использует Poppler для Windows) — надежная конвертация без проблем с Electron.
— Резервный метод: pdfjs-dist (fallback) — используется если poppler недоступен.
- Поддержка многостраничных PDF — каждая страница PDF конвертируется в отдельное изображение для полного анализа документа.
- Отображение существующих вложений — при редактировании задачи показываются все текущие файлы с возможностью удаления.
- Улучшенная обработка PDF — добавлена очистка текста, извлечение метаинформации (заголовок, автор, тема), конвертация страниц в изображения с высоким разрешением.
- Автоматическое определение пути к Poppler — приложение автоматически находит установленный Poppler в нескольких возможных местах.
AI анализ
- Настройки AI через интерфейс — полная настройка параметров AI без редактирования конфигурационных файлов:
— API ключ и базовый URL.
— Модель для текстового анализа.
— Модель для распознавания изображений (vision API).
— Температура.
— Максимальное количество токенов.
— Максимальная длина текста для анализа.
— Длина резюме для отображения в карточках.
- Повторный AI анализ — кнопка для запуска анализа заново при редактировании задачи.
- Автоматический анализ после изменений — анализ запускается автоматически при удалении файлов.
- Мультимодальный анализ — автоматический выбор между текстовой и vision моделью в зависимости от типа файлов.
Удобство использования
- Ярлык на рабочем столе — скрипт для создания ярлыка для быстрого запуска приложения.
- Индикаторы статуса задач — визуальные метки для задач (К выполнению, В работе, Выполнено).
- Улучшенный UI — обновленный дизайн карточек задач с отображением AI резюме.
Changed
Технические изменения
- Миграция базы данных — переход с
better-sqlite3наsql.jsдля избежания проблем с компиляцией нативных модулей. - Миграция AI провайдера — переход с OpenAI API на Bothub.chat API (совместим с OpenAI API).
- Удаление Kanban — убрана Kanban доска в пользу плоского списка карточек.
- Улучшена обработка ошибок — добавлены try-catch блоки для всех IPC handlers.
UI/UX улучшения
- Отображение AI анализа в карточках — резюме AI анализа теперь показывается прямо на карточке задачи (с настраиваемой обрезкой).
- Улучшенная навигация — добавлены кнопки для переключения между экранами (Задачи, Wiki, Логи).
- Улучшенная обработка drag & drop — исправлены проблемы с неактивными текстовыми полями.
Fixed
- Исправлена проблема с неактивными текстовыми полями при drag & drop.
- Исправлена проблема с компиляцией нативных модулей (
better-sqlite3). - Исправлена проблема с пустым окном Electron при запуске.
- Исправлена проблема с путями к WASM файлам
sql.jsв production сборке. - Исправлена проблема с дублированием задач при создании.
- Улучшена обработка ошибок при анализе файлов.
- Решена проблема с конвертацией PDF в изображения — переход на
pdf-popplerдля надежной работы в Electron.
— Добавлены polyfill для DOMMatrix, DOMPoint, Path2D, ImageData (для pdfjs-dist fallback).
— Добавлен polyfill для process.getBuiltinModule.
— Реализован автоматический fallback между pdf-poppler и pdfjs-dist.
— Автоматическое определение пути к Poppler.
Technical Notes
Новые зависимости
sql.js— JavaScript реализация SQLite (заменаbetter-sqlite3).mammoth— библиотека для извлечения текста из DOCX файлов.pdf-poppler— надежная конвертация PDF страниц в изображения (основной метод).pdfjs-dist— библиотека для работы с PDF (резервный метод конвертации страниц в изображения).canvas— рендеринг PDF страниц в изображения (для pdfjs-dist).dommatrix— polyfill для DOMMatrix и DOMPoint (требуется для pdfjs-dist).uuid— генерация уникальных идентификаторов.
Внешние зависимости
- Poppler для Windows — требуется для конвертации PDF в изображения.
— Скачивается автоматически при первом запуске или устанавливается вручную.
— Расположение: poppler/poppler-25.12.0/Library/bin/.
— Ссылка: https://github.com/oschwartz10612/poppler-windows/releases/
Удаленные зависимости
better-sqlite3— заменен наsql.js.react-beautiful-dnd— больше не используется (удалена Kanban доска).
Обновленные компоненты
TaskModal.tsx— добавлено отображение существующих файлов и кнопка повторного анализа.TaskCard.tsx— добавлено отображение AI резюме и статусов задач.App.tsx— добавлена навигация между экранами (Tasks, Wiki, Logs).SettingsModal.tsx— полная настройка параметров AI.AIService.ts— улучшенная обработка файлов (PDF, DOCX, изображения).Database.ts— миграция наsql.jsс асинхронной инициализацией.
[0.1.0] — 2024-XX-XX
Added
- Базовая структура проекта.
- Kanban доска с карточками задач.
- Drag & Drop загрузка файлов.
- AI анализ задач через OpenAI API.
- База данных SQLite для хранения задач.
- Поиск по задачам.
- Управление приоритетами задач.




