Ваше хранилище, из терминала
taskforge, это небольшой инструмент командной строки, который читает и записывает задачи в вашем хранилище Obsidian. Он использует тот же парсер, что и приложение, поэтому повторяющиеся задачи переносятся, архивы попадают куда нужно, а строки задач остаются в вашем формате. Передайте его shell-скрипту или агенту, и он будет редактировать обычные markdown-файлы, ничего не размещено в облаке.
Скоро в TaskForge 3.0
CLI и MCP-сервер TaskForge появятся вместе с выходом TaskForge 3.0. Всё, что описано на этой странице, рассказывает, как они будут работать после запуска. А само приложение TaskForge уже доступно для загрузки.
CLI или MCP-сервер?
Используйте CLI в оболочках без MCP-соединения: скрипты, cron, CI или кодирующий агент, работающий в локальной копии репозитория. Если у вашего агента уже есть MCP-соединение с TaskForge, отдавайте предпочтение инструментам MCP; они типизированы, возвращают структурированные ошибки, по которым агент может сам себя исправить, и ничего не требуют в вашем PATH. Оба варианта используют один и тот же движок с одинаковой семантикой, так что выбирайте то, что уже настроено в вашей среде. Ручное редактирование файлов хранилища остаётся последним средством.
Установка
macOS и Linux, через Homebrew:
brew install azhard/tap/taskforge Предпочитаете npm? Тот же бинарник поставляется как пакет:
npm install -g taskforge Скоро появится копия, встроенная в приложение, которая устанавливает себя при открытии хранилища. А пока путь один, через tap выше.
Быстрый старт
Укажите taskforge на хранилище через --vault, или один раз задайте TASKFORGE_VAULT. Любая команда чтения принимает --json для машиночитаемого вывода, который может разобрать агент.
taskforge schema Выводит диалект задач хранилища: символы статусов, формат дат, пользовательские поля, куда попадают новые задачи. Это первое, что читает агент.
taskforge add "call the plumber" --due 2026-07-10 --priority high Добавляет задачу в целевое место хранилища по умолчанию для новых задач, в формате, которым ваше хранилище записывает задачи.
taskforge query 'prop:priority_label=urgent' --sort priority --count Считает задачи с пользовательским полем priority_label:: urgent, сначала самые срочные. Уберите --count, чтобы получить список.
taskforge query 'desc:"invoice" text:acme' --json Находит задачи, в описании которых упоминается invoice, а в заголовке acme, в формате JSON. Регистр и диакритика игнорируются, поэтому cafe совпадает с café.
taskforge done <task-id> Завершает задачу. Если она повторяется, следующее вхождение записывается обратно в файл, точно так же, как это сделало бы приложение.
taskforge show <task-id> --json Читает одну задачу вместе с хешем содержимого, чтобы последующая правка могла передать --if-hash и отказаться перезаписывать устаревшую копию.
Грамматика запросов
Аргумент запроса, это набор токенов через пробел, все из которых должны совпасть. Наиболее употребимые:
| text:word | Заголовок содержит слово (без учёта регистра и диакритики). | text:groceries |
| desc:"phrase" | Описание задачи содержит фразу. | desc:"send invoice" |
| tag:name | У задачи есть тег #name. | tag:work |
| prop:key=value | Пользовательское поле key равно value. | prop:area=home |
| prop:key | Пользовательское поле key существует, любое значение. | prop:estimate |
| --sort due|priority|created | Упорядочивает результаты. По умолчанию по сроку, сначала ближайшие. | --sort priority |
| --count | Возвращает число совпадений вместо самих задач. | --count |
Имена пользовательских полей могут включать буквы, цифры и подчёркивания, поэтому подходят и priority_label, и area_2.
Одно требование: контракт хранилища
taskforge читает небольшой файл контракта, taskforge/schema.json, который TaskForge записывает в ваше хранилище. Он описывает точный формат ваших задач, поэтому CLI редактирует задачи вашим способом, а не угадывает. Откройте хранилище в TaskForge 3.0 или новее хотя бы один раз, перейдите в Settings > AI & Agents и оставьте включённым "Generate agent files". Это запишет контракт.
Если taskforge не может найти хранилище, он сообщает три способа на него указать:
- Передайте --vault /path/to/vault в команде.
- Задайте переменную окружения TASKFORGE_VAULT.
- Откройте хранилище один раз в TaskForge 3.0+, чтобы появился taskforge/schema.json, а затем запускайте команду из папки хранилища.
Только локально
taskforge работает на вашем устройстве и трогает только markdown-файлы в хранилище, на которое вы его указали. Без аккаунта, без API-ключа, без сетевых запросов. Что бы ни синхронизировало ваше хранилище сейчас, iCloud, Dropbox или Obsidian Sync, оно же перенесёт правки на другие устройства.
Хотите, чтобы им управлял агент?
CLI предназначен для терминалов и скриптов. Если вы хотите, чтобы Claude Desktop или другой MCP-клиент добавлял и завершал задачи через интерфейс инструментов, вместо этого настройте MCP-сервер. То же хранилище, те же правила. В обоих случаях это один и тот же бинарник taskforge, так что достаточно taskforge mcp --stdio, чтобы превратить его в MCP-сервер.
Настроить MCP-сервер →CLI редактирует задачи. Приложение поддерживает их жизнь.
taskforge пишет в ваше хранилище из любого терминала; TaskForge превращает те же файлы в списки, виджеты и напоминания на вашем телефоне и компьютере. Бесплатно скачивается на iPhone, iPad, Mac и Android.