Skip to content

Releases: ArtyomZemlyak/tg-note

v0.2.4 - Scheduled Tasks System

29 Dec 05:13

Choose a tag to compare

Release v0.2.4

🎉 Новые возможности

⏰ Система регулярных задач (Scheduled Tasks)

Добавлена полнофункциональная система для автоматического выполнения задач агента по расписанию.

Основные возможности:

  • 📅 Поддержка cron-выражений (например, 0 9 * * * для ежедневного запуска в 9:00)
  • ⏱️ Поддержка интервалов в секундах (например, 3600 для запуска каждый час)
  • 📝 Использование промптов из файлов (promptic формат) или прямого текста
  • 🎛️ Управление задачами через Telegram бота (/tasks)
  • ✅ Включение/выключение задач без удаления
  • 📊 Отслеживание времени последнего и следующего запуска
  • 🔔 Уведомления в Telegram о выполнении задач

Новые компоненты:

  • ScheduledTask - модель данных для задач
  • ScheduledTaskService - сервис для управления задачами (CRUD операции)
  • TaskScheduler - планировщик для автоматического запуска задач
  • ScheduledTaskExecutor - исполнитель задач через стандартный pipeline обработки сообщений
  • ScheduledTaskHandlers - обработчики Telegram для управления задачами

Конфигурация:
Добавлена секция SCHEDULED_TASKS в config.yaml для настройки задач при старте бота.

Пример использования:

SCHEDULED_TASKS:
  - user_id: 123456789
    kb_name: my-notes
    schedule: "0 9 * * *"  # Ежедневно в 9:00
    prompt_path: "agent_mode_v5.md"
    chat_id: 123456789
    enabled: true

🔧 Улучшения

Интеграция в Telegram бота

  • Добавлена кнопка "⏰ Регулярные задачи" в главное меню
  • Новый команда /tasks для управления задачами
  • Интерактивное меню для создания, редактирования и удаления задач

Улучшения обработки сообщений

  • Добавлен флаг skip_deduplication в IncomingMessageDTO для пропуска проверки дубликатов (используется для scheduled tasks)
  • Сохранение флага skip_deduplication в MessageMapper для корректной работы scheduled tasks

Конфигурация

  • Расширена поддержка настроек в config/settings.py для SCHEDULED_TASKS
  • Добавлена документация и примеры в config.example.yaml

📝 Технические детали

Новые файлы:

  • src/services/scheduled_task.py - модель данных
  • src/services/scheduled_task_service.py - сервис управления
  • src/services/scheduled_task_executor.py - исполнитель задач
  • src/services/task_scheduler.py - планировщик
  • src/bot/scheduled_task_handlers.py - Telegram обработчики

Измененные файлы:

  • config.example.yaml - добавлена секция SCHEDULED_TASKS
  • config/settings.py - добавлена поддержка SCHEDULED_TASKS
  • src/bot/dto.py - добавлен флаг skip_deduplication
  • src/bot/handlers.py - интеграция scheduled task handlers
  • src/bot/message_mapper.py - сохранение skip_deduplication
  • src/bot/telegram_bot.py - интеграция TaskScheduler и ScheduledTaskHandlers
  • src/core/service_container.py - регистрация новых сервисов
  • src/services/note_creation_service.py - поддержка skip_deduplication

🔄 Обратная совместимость

Все изменения обратно совместимы. Существующие конфигурации продолжат работать без изменений.

📚 Документация

Полная документация по использованию scheduled tasks доступна в конфигурационном файле config.example.yaml.


Full Changelog: v0.2.3...v0.2.4

Release 0.2.3

19 Dec 12:00

Choose a tag to compare

Release 0.2.3

🎉 New Features

Real-time Log Streaming

  • Streaming logs from qwen-code-cli: Added real-time log streaming that displays the last 1000 characters of logs from qwen-code-cli execution in Telegram every 30 seconds
  • Separate error messages: Errors from stderr are now displayed in a separate third message, keeping logs clean
  • Smart message updates: Messages are only updated when content actually changes, reducing unnecessary API calls
  • Works in all modes: Log streaming is enabled by default in all service modes (note creation, agent tasks, question answering)

Enhanced Progress Tracking

  • Improved progress bar hierarchy: Better display of folder paths in progress messages
  • Thread-safe progress monitoring: Fixed thread safety issues in progress monitoring system
  • Explicit checkbox reminders: Added explicit reminders in agent prompts to update checkboxes

🐛 Bug Fixes

  • SettingsManager fix: Fixed SettingsManager.get_setting() call with invalid argument
  • Thread safety: Fixed thread safety issues in progress monitoring
  • Checkbox format: Fixed checkbox format in agent prompts
  • Log spam reduction: Removed excessive DEBUG logging for chunk reading to reduce log spam
  • Error separation: Fixed issue where errors were appearing in log messages instead of error messages

📚 Documentation

  • Progress tracking documentation: Updated progress tracking documentation with best practices
  • Progress bar formatting: Documented progress bar formatting improvements

🔧 Technical Improvements

  • Code quality: Improved code formatting and structure
  • Error handling: Better error handling and separation of stdout/stderr streams
  • Performance: Reduced unnecessary message updates by checking if content changed
  • Logging: Optimized logging to reduce spam while maintaining useful debug information

📝 Commit History

  • Fix SettingsManager.get_setting() call with invalid argument
  • Fix thread safety in progress monitoring
  • Add explicit checkbox update reminders to agent prompts
  • Update progress tracking documentation with best practices
  • Improve progress bar formatting for better readability
  • Document progress bar formatting improvements
  • Fix checkbox format in agent prompts
  • Improve progress bar hierarchy display with folder paths
  • Add real-time log streaming from qwen-code-cli
  • Separate error messages into dedicated Telegram message
  • Optimize log updates to prevent unnecessary API calls

Release v0.2.2 - Smart arXiv Downloads

17 Dec 07:23

Choose a tag to compare

🚀 New Features

  • Smart Domain Availability Check: Automatic detection of arXiv.org accessibility with intelligent caching
  • Fallback to export.arxiv.org: Seamless switching to alternative domain when main domain is blocked

⚡ Performance Improvements

  • 90x Faster Failures: Reduced timeout from 90 seconds to ~5 seconds when domain is unavailable
  • Intelligent Caching: 5-minute cache for domain availability checks eliminates repeated slow checks
  • Batch Download Optimization: First check takes 5s, subsequent downloads use cached result (instant)

🛠️ Technical Details

  • Added check_domain_availability() method with configurable timeout (default 5s)
  • Smart URL selection algorithm based on real-time domain availability
  • Automatic fallback mechanism for blocked domains
  • Enhanced error handling and detailed logging for PDF downloads

📊 Testing

  • Comprehensive test coverage with 17 passing tests
  • New test for domain availability checking with cache validation
  • All pre-commit hooks passing

🔧 Changes

Core Features

  • 059cc5a Add fallback to export.arxiv.org for PDF downloads
  • f057823 Add smart domain availability check with caching

Bug Fixes & Improvements

  • 00959b5 Improve error logging for PDF downloads
  • 471496d Fix URL extraction with trailing punctuation and increase timeout

📦 Installation

git clone https://github.com/ArtyomZemlyak/tg-note.git
cd tg-note
git checkout v0.2.2

🌐 Use Cases

Perfect for users in regions where:

  • arXiv.org may be intermittently blocked or slow
  • Corporate/university networks have restrictive firewalls
  • Network conditions require reliable fallback mechanisms

Full Changelog: v0.2.1...v0.2.2

v0.2.1

09 Dec 02:11

Choose a tag to compare

What's new

  • Integrated promptic for prompt rendering; split responses into configurable messages; preserved older prompt versions; strengthened prompt templates.
  • Media metadata system: OCR-based meaningful filenames, paired .md/.json metadata files, deduplication; renamed images → media and fixed slugs.
  • Vector search/index pipeline: safer index updates, cleaned index paths and ignores, better agent hints and dynamic media paths in prompts.
  • Git/GitHub flow: auto-stash before GitHub sync and reduced Docker build context for faster builds.
  • Fixes: disabled web page preview, fixed Insite HTML field, plus assorted minor bug fixes.

Links

v0.2.0

12 Nov 09:30

Choose a tag to compare

Release v0.2.0: Image Processing Support

🎨 Image Processing Features

  • Full Docling MCP Integration: Complete document processing with GPU-accelerated OCR
  • Telegram Image Support: Download and process images from Telegram messages
  • Image Embedding in KB: Automatically save and reference images in knowledge base markdown files
  • Multilingual OCR: Russian language support for document recognition
  • Image Path Validation: Automatic validation and fixing of image paths in markdown
  • Image Deduplication: SHA256 hash-based duplicate detection to prevent saving identical images

🚀 Enhanced Processing

  • Base64 Document Ingestion: Process documents directly from base64 content
  • Enhanced File Processor: Improved file format detection and processing pipeline
  • Model Sync Management: Automatic Docling model synchronization and recovery
  • Cleanup Script: Utility to remove existing duplicate images (scripts/cleanup_duplicate_images.py)

🔗 Link & Format Improvements

  • Link Validation: Automatic validation and correction of markdown links
  • Duplicate Prevention: Fixed 'topics/topics' duplication in GitHub URLs
  • HTML Formatting: Enhanced Telegram HTML tag validation and correction

⚙️ System Improvements

  • Better Error Handling: Improved error messages and recovery mechanisms
  • Tool Call Timeouts: Configurable timeout overrides for long-running operations
  • Progress Reporting: Model download and sync progress display

🔐 Integration & Configuration

  • GitLab & OpenRouter: Added credential management for new services
  • Docling Settings: Enhanced configuration options for document processing
  • Agent Instructions: Added AGENTS.md for AI coding assistants

🐛 Bug Fixes

  • Fixed FileProcessor attribute error with images_dir
  • Fixed HuggingFace cache lock file issues
  • Fixed duplicate topics in markdown links
  • Fixed HTML tag validation for Telegram compatibility
  • Fixed model path resolution in Docling
  • Fixed image deduplication (prevents saving identical images with different timestamps)
  • Numerous MCP client and transport fixes

📚 Documentation

  • Updated deployment documentation
  • Added image validation documentation
  • Enhanced HTML formatting guides
  • Improved architecture documentation

🐳 Infrastructure

  • Docker improvements for Docling container with OCR/VLM support
  • PyTorch 2.8.0 with CUDA 12.6 base image
  • Pre-commit hooks configuration
  • Enhanced testing infrastructure

Release v0.1.1

07 Nov 08:59

Choose a tag to compare

🎯 Highlights

This release focuses on improving code quality, agent prompts, and HTML validation for Telegram messages.

✨ Features

  • Agent Prompts: Add mandatory source citation to all agent responses (#295)
  • HTML Validation: Implement comprehensive HTML validation for Telegram compatibility (#286, #292, #293)
  • KB Search: Enhance multi-stage knowledge base search with clearer instructions (#294)
  • Settings: Add GitLab and OpenRouter credentials support (#289)
  • Documentation: Improve deployment docs and credential setup (#291, #278)

🐛 Bug Fixes

  • Fix empty HTML tag removal and URL escaping in validator
  • Fix Telegram message parsing errors in note mode (#275)
  • Fix markdown link escaping for GitHub URLs (#277)
  • Fix MKDocs build errors and warnings (#276)

🔧 Improvements

  • Refactor response formatting with base FileListField (#283)
  • Improve HTML validation and agent error handling
  • Add KB and MCP handlers to bot architecture (#279)
  • Enhance Telegram HTML formatting instructions
  • Multiple code formatting and pre-commit fixes

📝 Documentation

  • Update deployment section with better options
  • Add HTML validation documentation
  • Improve navigation and internal links

🔨 Technical Changes

  • Update version to 0.1.1 across codebase
  • Apply pre-commit hooks: black formatting, trailing whitespace removal
  • Refactor answer parsing and menu callbacks
  • Improve bot services and MCP handlers integration

📦 Installation

pip install git+https://github.com/ArtyomZemlyak/tg-note.git@v0.1.1

Full Changelog: v0.1.0...v0.1.1

v0.1.0

21 Oct 11:52
db849b0

Choose a tag to compare

🚀 Основные изменения в релизе v0.1.0:
Крупные функции:

  • Полная интеграция MCP (Model Context Protocol)
  • Система векторного поиска с архитектурой SOLID
  • Docker контейнеризация с микросервисной архитектурой
  • Управление базой знаний с многопользовательской синхронизацией
  • Улучшения системы агентов

What's Changed

Read more

v0.0.2

08 Oct 15:21
61a7ecf

Choose a tag to compare

What's Changed

Full Changelog: v0.0.1...v0.0.2

v0.0.1

04 Oct 13:10
d58c96b

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: https://github.com/ArtyomZemlyak/tg-note/commits/v0.0.1