← К панели
История версий
Что менялось в Jitsi Recorder, от свежего к старому
v1.0.41 текущая
Новый экран входа.
- Экран входа переоформлен: логотип, поля с иконками, градиентная кнопка «Войти», разделитель «или» и кнопка «Войти как гость»; фон панели за формой больше не просвечивает.
- Форма гостя — с заметкой, что записи гостей общие, и ссылкой назад.
- Ошибка неверного пароля теперь по-русски: «Неверный логин или пароль».
v1.0.40
Значок доступа у записей и папок, меньше запросов от панели.
- У каждой записи и папки значок: 🌐 «общая» (видят все, включая гостей) или 🔒 «личная» (только владелец); администратор у личных папок видит владельца.
- После назначения владельца — подтверждение внизу экрана; в окне назначения сразу выбран текущий владелец.
- Панель шлёт в разы меньше запросов: уровень звука опрашивается только во время записи,
/whoami — раз в ~10 с, в фоновой вкладке опрос на паузе. - API:
GET /folders/owners — владельцы папок ("" — общая); обычному пользователю — только его и общие.
v1.0.39
Администратор назначает записи и папки учётным записям team24.
- У записей и папок у администратора есть кнопка с человечком: выбрать учётную запись (из тех, что хотя бы раз входили в панель) или «Общая».
- Назначение папки переносит к владельцу все записи в ней и во вложенных папках, а также сами папки (включая пустые).
- Администратор видит у каждой записи её владельца.
- Вход гостем — отдельная форма вместо формы team24, со ссылкой «← Назад ко входу team24».
- API:
GET /users, POST /recordings/assign ({filenames, owner} или {folder, owner}; owner: "" — общая), только для администратора.
v1.0.38
Вход гостем — по ссылке на форме входа.
- На форме входа под кнопкой «Войти» — ссылка «Войти как гость»; поле имени и кнопка «Остаться как гость» появляются только после клика по ней.
- Подсказка для гостя: «Без входа — записи будут общими, их видят все».
v1.0.37
Администратор — суперпользователь team24, гости снова могут записывать.
- Отдельный вход администратора (
admin_user / admin_pass, /admin/login) убран. Администратор записей — пользователь с признаком суперпользователя (isSu) в профиле team24: видит и удаляет все записи, управляет любыми папками, ставит расшифровку на паузу, сбрасывает лимит AI. - Вернулся вход гостем («Остаться как гость», имя необязательно). Записи гостей публичные — их видят все; удалять их может только администратор. Старые записи без владельца тоже стали публичными.
- В запросе к серверу авторизации
project теперь Jitsi Recorder / <хост>, а заголовок User-Agent — браузерный, вместо Python-urllib. - API: без
X-User-Token запрос идёт от гостя (X-Guest-Name), в /recordings поле can_delete, в /whoami — is_guest.
v1.0.36
Учётные записи team24: каждый видит только свои записи.
- Вход в панель — логином и паролем team24 через сервер авторизации (
oauth_url, по умолчанию https://oauth.team24.biz:15443/api/oauth, как в CRM). Форма «Представьтесь» / вход гостем убраны; в меню пользователя — «Выйти». Сессия живёт 30 дней и переживает перезапуск. - У каждой записи есть владелец — тот, кто её запустил. Записи, активные сессии, транскрипты, AI Summary и папки видны только владельцу; чужие для API —
404. - Свои записи владелец удаляет сам; свои папки переименовывает и удаляет сам (папки у каждого пользователя свои).
- Администратор (вход поверх учётной записи) видит старые записи без владельца и может ими управлять; пауза расшифровки и сброс лимита AI — по-прежнему его.
- API:
POST /auth/login, POST /auth/logout, заголовок X-User-Token для всех остальных запросов; /start больше не принимает by; в /recordings поле owner, в /whoami — username, name, email. - Новый ключ настроек
oauth_url (RECORDER_OAUTH_URL).
v1.0.35
Папки для записей и навигация по ним.
- Записи можно раскладывать по папкам, в том числе вложенным. Над списком — «хлебные крошки» и кнопка «+ Папка»; папки показываются вверху списка с числом записей внутри, клик — открыть, «..» — наверх. Текущая папка хранится в адресе (
#f=…), кнопка «Назад» браузера работает. - Перенос: кнопка с папкой у записи (выбор из дерева, можно сразу создать новую) или перетаскивание строки на папку / «хлебную крошку».
- Папки виртуальные: mp3, транскрипты и резюме остаются на своих местах, папка записи хранится в
recordings/.meta.json, пустые — в recordings/.folders.json. - Создавать папки и переносить записи может любой; переименовывать и удалять папки — только администратор. При удалении записи и подпапки переезжают на уровень выше.
- API:
GET/POST/DELETE /folders, POST /folders/rename, POST /recordings/move; в /recordings добавлено поле folder.
v1.0.34
Расшифровки идут строго по очереди; администратор может поставить очередь на паузу.
- whisperx больше не запускается параллельно: задачи выполняются по одной в порядке постановки (FIFO), остальные ждут. В списке видно «в очереди №N».
- Повторный запуск после ошибки ставит запись в конец очереди.
- Пауза для администратора: «⏸ Пауза расшифровки» / «▶ Возобновить расшифровку» в меню пользователя (
POST /transcribe/pause, POST /transcribe/resume, 403 для не-админа). На паузе текущий процесс whisperx замораживается (вместе с дочерними процессами) и после возобновления продолжает с того же места; новые задачи не стартуют. Все видят плашку «Очередь расшифровки на паузе». /transcribe/status отдаёт pos (место в очереди) и paused; /whoami — transcribe_paused. Пауза хранится в памяти и сбрасывается при перезапуске.
v1.0.33
Авторизация в CRM API по PAT.
- Запросы к CRM API (
/api/agent, /api/agent/list) уходят с заголовком Authorization: Bearer <PAT> — без него сервис отвечает 401. - Новая настройка
ai_pat (поле «AI Summary: PAT (CRM API)» в настройках трея, переменная окружения RECORDER_AI_PAT). Хранится в config.json.
v1.0.32
- Страница «История версий» (
/changelog) — рендерится из этого файла; ссылки на неё стоят на номере версии в шапке панели и в подвале. - Выбор AI-агента для обработки: перед запуском AI Summary открывается окно со списком агентов (
GET /agents → GET https://crm.poltv.org/api/agent/list). Выбранный агент запоминается в браузере, готовое резюме можно пересобрать другим агентом. - Код агента сохраняется рядом с резюме (
summaries/<имя>.agent) и виден в окне просмотра и в подсказке кнопки. - Новые настройки:
ai_list_url, ai_agent_filter (env RECORDER_AI_LIST_URL, RECORDER_AI_AGENT_FILTER); фильтр по умолчанию — MEETING. Если список недоступен, используется агент по умолчанию из настроек. - Остановка записи: перед закрытием браузера бот корректно выходит из конференции (
APP.conference.hangup()), поэтому участник «Recorder» больше не висит в комнате. Процесс Edge убивается вместе с дочерними и в случае ошибки при подключении.
v1.0.31
Верхняя панель: счётчик AI и меню пользователя; сброс дневного лимита.
- Счётчик AI Summary переехал в верхнюю панель; чипы прижаты к правому краю.
- Меню пользователя: «Сменить пользователя» и «Вход для админов» выпадают из чипа «Вы: …».
- Кнопка «Сбросить дневной лимит AI» в меню администратора (
POST /summary/limit/reset, 403 для не-админа).
v1.0.30
Суточный лимит AI Summary — 5 резюме в сутки, кроме администратора.
- Суточный лимит AI Summary: 5 резюме в сутки (настройка
ai_daily_limit, env RECORDER_AI_DAILY_LIMIT, 0 = без лимита). - Администратор лимитом не ограничен и квоту не расходует.
- Счётчик хранится в
recordings/summaries/.usage.json — переживает перезапуск, обнуляется в новый день. Неудачная попытка квоту не съедает. - В панели видно «AI Summary сегодня: N из 5»; при исчерпании кнопка гаснет, сервер отвечает 429.
v1.0.29
В агента уходит чистый транскрипт; подробный лог AI-запросов.
- AI Summary: в агента уходит голый текст транскрипта, без своей обёртки-промпта (промпт задан на стороне ai_agents, вторая инструкция поверх него не нужна).
- В
recorder.log пишется агент, длина транскрипта и длина ответа.
v1.0.28
AI Summary: краткое содержание встречи по транскрипту.
- AI Summary: краткое содержание встречи по транскрипту через AI-агента (
POST https://crm.poltv.org/api/agent). - Кнопка появляется только у записей, для которых готов
.txt транскрипт. - Долгий процесс: пока агент отвечает, у записи крутится лоадер. Состояние хранится на сервере — закрытие браузера его не сбрасывает, при повторном открытии лоадер снова виден, пока задание не завершится.
- Готовое резюме открывается в окне (с копированием) и лежит в
recordings/summaries/<имя>.md; удаляется вместе с записью. - Новые настройки:
ai_url, ai_agent, ai_timeout (env: RECORDER_AI_URL, RECORDER_AI_AGENT, RECORDER_AI_TIMEOUT), поля есть в окне настроек трея.
v1.0.12
Окно настроек в трее и автозапуск при входе в Windows.
- Окно настроек в трее: хост, порт, токен, параметры whisper.
- Опция автозапуска при входе в Windows (реестр HKCU\...\Run).
- Настройки сохраняются в config.json рядом с exe (env по-прежнему в приоритете).
v1.0.10
Приложение переехало в системный трей, без консольных окон.
- Приложение работает в системном трее (без консольного окна).
- Меню трея: адрес панели, «Открыть панель», «Выход».
- Дочерние процессы (ffmpeg/whisperx/Edge) запускаются без всплывающих окон.
v1.0.5
Удаление записи вместе с её транскриптами.
- Кнопка удаления записи (с подтверждением); удаляет MP3 и его транскрипты.
v1.0.3
Мультизапись: несколько параллельных записей одновременно.
- Мультизапись: несколько параллельных записей в одном приложении.
- Каждая сессия имеет свой id, статус, индикатор уровня и кнопку «Стоп».
- Эндпоинты:
/start возвращает id, /stop принимает id, новый /sessions. - Панель показывает список активных записей.
v1.0.0
Первый релиз: запись Jitsi в MP3, веб-панель, REST API, whisperx.
- Запись аудио Jitsi Meet в MP3 (headless Edge через CDP).
- REST-управление и веб-панель (start/stop/status, список записей, скачивание).
- Индикатор уровня громкости во время записи.
- Транскрибация записей через whisperx с скачиванием результатов.
- Сервер по умолчанию на
0.0.0.0:9999, доступен по локальной сети. - Эндпоинт
/version, версия в панели и в баннере запуска.