В MWS мы используем платформы для совместной работы и автоматизации, которые легко подключить, настроить и использовать без нагрузки на ИТ-отдел (например, MWS Tables). Но если вам привычнее работать не покидая пределы консоли, собрали терминальные инструменты, которые помогут вывести продуктивность на новый уровень: планировщики задач, органайзеры и вот это всё.

Timewarrior

Timewarrior для всего. Источник
Timewarrior для всего. Источник

Это — консольный инструмент для учёта времени, которое уходит на решение тех или иных задач при написании кода (и не только). Timewarrior представила команда open source-разработчиков Gothenburg Bit Factory в конце 2015 года. Она также известна своим менеджером задач Taskwarrior и сервером синхронизации процессов Taskserver

Перечень CLI-команд для управления интуитивно понятен. Например:

  • start — запускает отслеживание времени;

  • stop — останавливает его;

  • track — позволяет добавить данные в лог «задним числом».

Инструмент поддерживает систему тегов, которая упрощает классификацию задач и последующий анализ. Возможности Timewarrior можно расширить с помощью компонентов, разработанных сообществом. Если нужен интерфейс для обработки сведений из отчётов, то подойдёт timew-report, а для фильтрации и визуализации данных существует twtools. Кроме того, инструмент интегрируется с Taskwarrior через хук trackwarrior, позволяя синхронизировать задачи и время, потраченное на их выполнение.

Многие разработчики используют Timewarrior для анализа продуктивности, иногда комбинируя его с записью экрана. Один из пользователей поделился своими лучшими практиками: он работает со связкой Taskwarrior + Timewarrior для учёта рабочих сессий и применяет OBS для записи экрана. Автоматизированный скрипт загружает этот своеобразный дневник на видеохостинг для последующего анализа. К слову, исходный код скрипта автор выложил на GitHub, но предупреждает, что тот представлен as is. 

Doing

Планировщик времени и задач, написанный на Ruby. Он позволяет быстро фиксировать текущие действия в формате простых напоминаний («Что я делал?») и сохранять их в текстовый файл. Проект был создан в 2013 году Бреттом Терпстрой — бывшим разработчиком Oracle и автором десятков open source-приложений, включая консольные утилиты вроде mdless (просмотрщик markdown-файлов).

Изначально Терпстра разработал Doing для личного использования — ему нужен был инструмент, который мог бы быстро запомнить и напомнить, над чем он работал, если приходилось внезапно прерваться. В случае с Doing достаточно прописать в консоли: doing now ..., чтобы «запомнить» последнюю задачу. А чтобы «вспомнить»: doing last.

Изначально Doing представлял собой простой bash-скрипт на 20 строк, но со временем «оброс» функциональностью. К 2020 году в Doing была реализована поддержка тегов для организации записей, система заметок к задачам, а также интеграция с LaunchBar.

А в 2021 году было выпущено обновление — Doing 2.0. Терпстра добавил поддержку плагинов для импорта и экспорта данных, а также внедрил систему хуков для выполнения скриптов. Кроме того, был улучшен модуль логирования и возможности кастомизации.

Papis

Инструмент для ученых, исследователей, студентов и специалистов, работающих с содержимым научных библиотек. Он позволяет управлять документами и библиографией — все через командную строку. Papis был разработан в 2018 году командой разработчиков под руководством Алехандро Галло, физика из Венского технического университета. И ситуация с появлением Papis — один из типичных случаев, когда разработчики-исследователи создали инструмент под свои задачи.

Papis использует YAML-файлы для хранения данных. Ключевая особенность Papis — автоматическое извлечение метаданных документов из внешних источников (список поддерживаемых библиотек можно вызвать с помощью команды papis list --importers).

Несмотря на преимущества — минимализм, открытые форматы данных и независимость от проприетарных решений — у Papis есть и недостатки. Некоторые пользователи отмечают, что работа с библиографией через CLI — идея далеко не для каждого. Но кому она придется по душе, в качестве альтернативы можно рассмотреть Pubs — ещё один инструмент для организации научных работ.

Calcurse

Текстовый органайзер и календарь для Linux и Unix-подобных операционных систем. В 2004 году астрофизик Фредерик Куло разработал этот инструмент под свои нужды, пока писал докторскую диссертацию. Он передал его в open source и развивал вплоть до 2010 года. Затем проект перешёл к учёному Лукасу Фляйшеру, а с 2017 года мейтенером стал Ларс Хенриксен — именно при нём появились ключевые функции.

Интерфейс Calcurse разделён на три основные панели: календарь, встречи и задачи. События можно разбить на категории по пользовательским тегам, добавить к ним описания, экспортировать в формат iCalendar. Событие можно сделать повторяющимся: ежедневно, еженедельно, ежемесячно или в будние дни. 

Данные хранятся в виде обычных текстовых файлов, а с помощью Git можно контролировать версии расписаний. Благодаря такому подходу пользователю проще создавать резервные копии или проводить анализ данных. 

Calcurse также поддерживает CalDAV — протокол, позволяющий взаимодействовать с информацией из разных календарей и управлять ими (пока экспериментально). Синхронизацию можно настроить с помощью calcurse-caldav.

Пользователи ценят решение за простоту и интуитивность. Однако он не подойдёт тем, кому нужны сложная визуализация или детализированное управление событиями.

Комментарии (6)


  1. Oeaoo
    07.06.2025 13:25

    Вот я вообще за любое развитие терминальных интерфейсов, графика уже так надоела!


    1. Zulu0
      07.06.2025 13:25

      bash наше будущее. Даешь telnet over ssh


      1. polar_yogi
        07.06.2025 13:25

        telnet для параноиков, rshell наше всё!!!


  1. ritorichesky_echpochmak
    07.06.2025 13:25

    Читая на вырвиглазном фаршике от Timewarrior записи типа "eatfriends", я понимаю что KLog ещё очень даже норм. Его простой как лапоть текстовый формат мне зашёл больше всего, но трекинг я всё равно веду в итоге в Obsidian. Daily Notes -> добавил задачу из Templates где время сразу проставилось на текущее и дальше детали по задаче ваяешь. Потом `---` и следующую задачу. Если задача большая или требует доп.файлов - создаётся директория в формате `YYYY-MM-DD [#ID] Title` в которую сваливаются файлы, логи, SQL-запросы и т.д..

    Справа можно развернуть панельку с Calendar и Daily Note Outline чтобы быстро сориентироваться что делал.

    Поиск отлично работает по ранее сделанным похожим фичам

    Кому важно время трекать до секунды - хватает всяких плагинов или теми же шаблонами время окончания можно проставлять


    1. Zulu0
      07.06.2025 13:25

      Forjego можно таски с посекундной тарификацией запускать. Прям из коробки. Завел таску, запустил таймер и погнал до закрытия. Но, мое мнение, все эти подлупные работы зло. Вы либо в микроменджмент, либо наращиваете грамотность команды.


  1. pnmv
    07.06.2025 13:25

    Глядя на первый снимок консольного экрана, скупая слеза... ну, да ладно.

    Короче говоря, и через тридцать лет "после того, как", в который раз, внезапно, осознаёшь: ничего, лучше старых добрых turbovision и аналогов, для консоли, с тех самых пор, так и не придумали. Можно и не пытаться, даже.