Команды бота

    Редактирование файла

    Создать автоматизацию

    Создать правило автоотправки

    Переслать сообщение в...

    • Загрузка списка групп...

    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).

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

    Задачи и напоминания

    1. Вкладка «Задачи»: создайте карточку, укажите статус, приоритет и срок.
    2. Перетащите файлы на задачу или выберите через диалог — они попадут в uploads/ или в пользовательский каталог файлов.
    3. При настроенном API key анализ запускается сам; в карточке видно резюме. Повторный анализ — из модалки задачи.
    4. Напоминание: включите флаг у задачи или создайте отдельную запись во вкладке напоминаний.
    5. Поиск идёт по названию, описанию, AI summary и advice.

    Файлы: локальные каталоги и S3

    1. «Файлы» → «Добавить каталог» или Настройки → список каталогов.
    2. Локальная папка — диалог выбора директории.
    3. S3 — кнопка «+ Добавить S3»: endpoint (по умолчанию https://storage.yandexcloud.net), регион ru-central1, бакет, опциональный префикс, ключ и секрет. «Проверить связь» до сохранения.
    4. Две вкладки корня:

    — Теговая файловая система — теги как карточки-папки; внутри — каталоги с этим тегом. Тег переименовывается из контекстного меню.
    — Обычная файловая система — сетка каталогов, вложенные виртуальные папки drag-and-drop, удаление пустой папки из меню.

    1. Откройте каталог: поиск, метаданные, для локальных папок — предпросмотр README.md справа.
    2. S3-карточки помечены как облачные. Вложенные пути вида s3://bucket/folder открываются с хлебными крошками. Медиа скачивается во временный файл и открывается программой ОС.
    3. Закрепите папку или файл на рабочий стол / в «Пуск». S3-закладки открывают нужный префикс в «Файлах».

    Ключи S3 хранятся только в локальном ai-config.json, не в репозитории.

    Wiki

    1. Откройте вкладку Wiki.
    2. Создайте вкладку или папку, пишите в редакторе (жирный, списки, код, чекбоксы).
    3. Внизу — все вложения задач со ссылкой на карточку.

    Агент и MiniApps

    1. Вкладка «Агент»: новая сессия или MiniApp.
    2. Укажите рабочую директорию, сгенерируйте план, утвердите команды.
    3. Опасные команды проходят локальный safety-анализ и могут требовать подтверждения.
    4. MiniApps: шаги, вставка команды между другими, выбор директории в шаге, если в тексте есть путь.
    5. Карточки сессий и MiniApps перетаскиваются по сетке; порядок сохраняется.

    Feed

    1. Вкладка Feed, слева источники: Мультимесенджер, Почта, Telegram, VK.
    2. Настройки → Feed: IMAP, VK token и список групп, URL tgfeed и каналы Telegram, WordPress Chat (/wp-json/my-chat/v1).
    3. Почта читается как чаты; у сообщений мультимесенджера — «В задачи», «В Wiki», «На стол», «В Пуск».
    4. Telegram: лента с медиа-сеткой, аватары каналов, кэш постов/медиа 24 ч, подгрузка кружком-таймером (3 с), когда индикатор виден. «Обновить» сбрасывает кэш канала.
    5. VK: посты wall.get, фото и видео в одной сетке, лайтбокс по клику.

    Виджеты и рабочий стол

    1. Бургер-меню → «Виджеты»: список слева, код по центру, превью и настройки справа.
    2. Встроенные: «Параметры ПК» (SSD/HDD, ОЗУ, CPU, сеть), «Доступность сайта» (URL, иконка глобуса), «Копия сайта на ПК» (SSH или HTTP widget_backup.php, папки файлов и БД).
    3. «Закрепить на рабочем столе» — плитка с span width × height. Повторное закрепление копирует экземпляр.
    4. На столе и в «Пуск»: перетащите ярлык на другой — получится группа (3 мини-иконки на плитке, попап со всеми элементами). Вынести — кнопка ↗ или контекстное меню.

    Настройка AI

    1. Настройки.
    2. API Key, Base URL https://bothub.chat/api/v2/openai/v1, текстовая и vision-модели, температура, max tokens, max text length, длина summary.
    3. Без ключа остальной функционал работает.

    Перенос профиля

    Каталог 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-синхронизация

    1. Скопируйте webassist/php/config.sample.php в config.php, укажите MySQL и токен.
    2. Откройте db_init.php с токеном и ?confirm=YES.
    3. В приложении: «Проверить связь», затем 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 для хранения задач.
    • Поиск по задачам.
    • Управление приоритетами задач.

    Edit Message

    Attachments:

    AI Assistant

    Enter your instruction to edit the text: