Telegram-бот для создания и управления заметками с поддержкой распознавания речи 🎤 и генерации текста 🤖
Notes AI Bot
— это удобный ассистент, который позволяет:
- ✍️ Создавать и управлять заметками прямо в Telegram
- 🎤 Добавлять голосовые заметки (бот преобразует их в текст с помощью VOSK)
- 🤖 Использовать LLM для интеллектуальной обработки текста (генерация, резюме и др.)
- 📂 Хранить все заметки в SQLite базе данных
├── main.go # Точка входа
├── bot/ # Логика работы с Telegram API
│ ├── bot.go # Инициализация и запуск бота
│ ├── handlers.go # Обработка сообщений
│ ├── audio\_processing.go # Работа с голосовыми сообщениями
│ └── utils.go # Утилиты (скачивание файлов, ffmpeg и т.д.)
├── speechkit/ # Интеграция с VOSK (распознавание речи)
│ └── speechkit.go
├── llm/ # Работа с LLM API
├── storage/ # Хранилище заметок (SQLite)
├── models/ # Каталог для VOSK-модели
└── .env # Конфигурация окружения
- Go 1.21+ — основной язык разработки
- Telegram Bot API — взаимодействие с Telegram
- VOSK — офлайн-распознавание речи
- SQLite — локальное хранилище заметок
- FFmpeg — конвертация аудио
- 📌 Отправка текстового сообщения → Добавление текстовой заметки
- 🎙️ Отправка голосового сообщения → конвертация в текст → добавление текстовой заметки
- 📖 Просмотр списка заметок
- 🗑️ Удаление заметок
- 🤖 Интеллектуальная обработка текста через LLM
- 🔍 Поиск заметок по ключевым словам
- 📅 Просмотр заметок за определённый период
- 📂 Экспорт заметок в текстовый файл
- 📥 Импорт заметок из текстового файла
- 📊 Статистика по заметкам (количество, частота использования и т.д.)
- 🔒 Защита заметок паролем
- 📑 Создание категорий для заметок
- 📅 Напоминания о важных заметках
- 📜 История изменений заметок
git clone https://github.com/yourname/notes-ai-bot.git
cd notes-ai-bot
go mod tidy
Перейдите на страницу моделей VOSK и скачайте русскую модель:
vosk-model-small-ru-0.22
Распакуйте её в папку models/
так, чтобы путь был:
models/vosk-model-small-ru-0.22
Создайте файл .env
в корне проекта:
TELEGRAM_TOKEN=ваш_токен_бота
TELEGRAM_CONCURRENCY=8
VOSK_MODEL_PATH=models/vosk-model-small-ru-0.22
LLM_URL=http://127.0.0.1:1234
LLM_MODEL=local
PROMPT=
TELEGRAM_TOKEN
— токен бота от BotFatherVOSK_MODEL_PATH
— путь к папке с модельюTELEGRAM_CONCURRENCY
— сколько сообщений обрабатывается параллельноLLM_URL
— Адрес LLM API (если используется)LLM_MODEL
— Модель LLM (например,local
для локального сервера)PROMPT
— Промпт для LLM (если используется)
-
Откройте проект в GoLand
-
Перейдите:
Run → Edit Configurations
-
В вашем
Go Build
конфиге укажите:-
Working Directory: путь к корню проекта (
notes-ai-bot
) -
Environment variables:
CGO_ENABLED=1; CC=C:\msys64\mingw64\bin\gcc.exe; CXX=C:\msys64\mingw64\bin\g++.exe; CGO_CFLAGS=-IZ:/Repos/notes-ai-bot/vosk_lib; CGO_LDFLAGS=-LZ:/Repos/notes-ai-bot/vosk_lib -lvosk; PATH=%PATH%;C:\msys64\mingw64\bin;C:\ffmpeg\bin
-
-
Запустите проект кнопкой ▶ или через
Debug
🐞
go run main.go
go build -o notes-ai-bot.exe
./notes-ai-bot.exe
🔄 Загрузка модели VOSK из: models/vosk-model-small-ru-0.22 ...
✅ Модель VOSK успешно загружена
🚀 Запуск Telegram-бота (@my_notes_bot)
🔄 Обработка обновлений запущена (параллельность: 8)
📩 Сообщение от @username (123456): тип=voice
📝 Результат транскрипции: "Привет, это тестовая заметка"
- Установленный FFmpeg (чтобы конвертировать OGG → WAV)
- Установленный MinGW (
gcc.exe
/g++.exe
) для сборки с CGO
- VOSK за офлайн-распознавание речи
- Go Telegram Bot API
Этот проект распространяется под лицензией MIT. Используйте и дорабатывайте свободно!