Repository navigation
0.56.0
·
191 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Что нового
tasks rejectотклоняет предложение агента закрыть задачу, аtasks list close:suggestedнаходит такие
задачи (cli-core 0.295.0).tasks agendaпоказывает их с причинойclose-suggested; владелец подтверждает
предложение тем жеtasks close <задача>,--asможно не указывать. Насколько агенту можно закрывать задачи,
задают настройки общего хранилищаtask_agent_close(onпо умолчанию) иtask_agent_close_min(0.8);
config showих показывает.- Новая задача о задаче, закрытой за последние 14 дней, — продолжение закрытой (cli-core 0.295.0):
reviewи
tasks addсвязывают её с закрытой связьюfollow-up-of. Закрытая остаётся закрытой и не попадает в
tasks duplicates;tasks showпоказывает связь. - 59 категорий задач по умолчанию вместо 7, в списке до 80 (cli-core 0.295.0 и 0.296.0):
bills,health,
travel,fitness,subscriptionsи другие.tasks categoriesпечатает смысл каждой и слова на английском,
русском и испанском, по которым её выбирает правило. Хранилище, где список сохранили через
config set task_categories.*, оставляет свой;config unset task_categoriesберёт новый. - Категорию, которую убрали из списка, видно (cli-core 0.296.0):
tasks categoriesназывает её и сколько у неё
открытых и всех задач (unlistedв JSON), аtasks agenda— категории, которые несут открытые задачи
(unlisted_categories). - Испанский в задачах (cli-core 0.296.0): слово-триггер с
es:находит и другие формы слова (pagues—
pagar), когда сообщение написано по-испански, а проверка дублей понимает сроки вродеmañana,el viernes,
15 de noviembre. - Повторная проверка дублей после привязки сообщения (cli-core 0.295.0): после
tasks link <задача> msg:…,
tasks add --intoиtasks mergeпохожие задачи попадают вtasks duplicates, а полеreviewв ответе их считает.
Связь остаётся, ничего не объединяется само. commands --jsonговорит, сколько работает команда (cli-base 0.38.0): уserveиwatchполеlifetime—
persistent, уsetupиsession start—interactive. Раньше программа узнавала их по имени.
Изменено — может сломать скрипты
- Агент закрывает задачу только с
--certainty <0..1>, а неуверенный — уже не закрывает (cli-core 0.295.0).
Агента узнаём поAI_AGENTилиCLAUDECODE;--as-ownerзакрывает как владелец.
Почему: агент может ошибиться, а закрытая задача пропадает из плана владельца.
Что учесть:tasks closeагента без--certaintyотклоняется (task.certainty-required); в MCP у
tasks_closeновый обязательный аргументcertainty. Ниже порога (task_agent_close_min, по умолчанию 0.8) или
приtask_agent_close offответ приходит сstate: openиclose_suggestion, и задача остаётся открытой. tasks addбольше не отказывает, если похожи только закрытые задачи (cli-core 0.295.0): он открывает новую со
связьюfollow-up-of(follow_up_ofв ответе). Отказ с кодом 2 остаётся, когда похожа открытая задача.
Что учесть: скрипт, который ждал кода 2 для закрытой задачи, теперь получает новую задачу.- Правило выбирает категорию уже: счёт за свет —
bills, а неmoney, врач —health, а неpersonal
(cli-core 0.295.0 и 0.296.0). Старые семь категорий сохранили имена и смысл, задачи в базе не меняются.
Что учесть: фильтр вродеtasks agenda category:personalловит меньше новых задач. Часть слов перешла в более
узкие категории:gym— вfitness,restaurant— вfood,переезд— вmoving. - Проверка дублей читает сообщения, на которых стоит задача (cli-core 0.295.0): исходное и пять последних
привязанных. Задача правила без своего текста теперь сравнивается по словам сообщения, поэтомуtasks addможет
отказать (код 2) там, где раньше открывал задачу. max mcpиmax <бот> bot mcp— теперь общий MCP-сервер, тот же, что уtg. Инструменты те же:max_read,
max_tools_searchиmax_write. Командыchats checkвmax_writeбольше нет — вместо неёchats moderate;
второго имениchats rulesтоже нет — толькоchats rules show.max bot mcpбольше не принимает флаги
--allow-send,--allow-delete,--allow-moderate,--confirm-sendи--allow-dangerous.
Почему: у max и tg один сервер для агентов — одно поведение и один код, который проверяют.
Что учесть: старые флагиbot mcpи раньше ничего не включали, но теперь сервер с ними не запускается (код 2,
«unknown option») — уберите их из настроек приложения;max <бот> bot mcp configпечатает новую запись. Агенту,
который звалchats checkилиchats rules, нужно новое имя.max mcp configбольше не переносит в запись
--yes: по MCP запись уровняaskи так идёт без вопроса. Голосовое по MCP теперь сначала скачивается, потом
распознаётся моделью на этом компьютере, как вtg.chats moderateберёт место последней проверки только из
файла правил: место, которое очень старые версии хранили в сессии, больше не переносится.setup --jsonпредлагает следующие команды в общем спискеnextконверта, а не вitem.next. Вместо объекта
item.nextс полямиinstructions,chats,historyиskill— два шага верхнего уровня:skill showи
chats list --limit 5, оба только читают.
Почему: у всех команд следующие шаги лежат в одном месте, и агент читает их одинаково.
Что учесть: скрипт, который читалitem.next, должен читатьnext. Загрузка истории и установка навыка остаются
только в выводе для человека.chats mediaотвечает сообщениями той же формы, что история чата. Голосовое там теперьvoice, а неaudio,
как вmessages list. Id файла и видео MAX лежат вprovider_refвложения (provider_ref.file_id,
provider_ref.video_id), а не на верхнем уровне вложения.
Почему: раньшеchats mediaотдавал вложения в собственной форме MAX, не так, как все остальные чтения.
Что учесть: скрипт, который искал в ответеaudioили читалfile_idиvideo_id, должен искатьvoiceи
читать их изprovider_ref. Фильтр--type audioпо-прежнему выбирает голосовые.max watchрисует сообщения тем же кодом, чтоmessages list. Опрос показан вопросом, ответами и числом
голосов. JSON и--jsonlне меняются.
Что учесть: строки для человека могут выглядеть немного иначе, чем в 0.55.0. Скрипту нужен--jsonl.
Исправлено
- Отчёт
doctor report createзаменяет метками также id сообщения, на которое отвечали, и id попыток записи.
Метки позволяют сопоставить записи внутри одного отчёта и меняются при создании следующего.
Безопасность
- Каждая запись проверяется в одном месте — общей защитой, из командной строки, через
max serveи по MCP.
Отправка, правка, удаление, реакции, отметка «прочитано», пересылка, модерация, изменения чатов, контактов и
аккаунта проходят одни и те же проверки: уровень прав,MAX_READ_ONLY, список получателей и журнал отправок, а
записи, которые видят другие люди (сообщения, пересылки, правки, удаления, новые группы и добавление людей), —
ещё и лимит в час.denyиreadonlyзапрещают запись.askв терминале спрашивает или ждёт--yes
(удаление —--allow-dangerous), а с--jsonбез флага команда отказывает. По MCP отвечать некому, и запись
уровняaskвыполняется, как и раньше: решают права профиля, в том числе заданные серверу через--permission.
Почему: раньше для MCP проверки шли отдельным путём внутри max; теперь путь один, и он общий сtg.
Что учесть: для команд в терминале ничего не меняется. Если агент не должен удалять или отправлять без вас,
задайте этому действиюdenyилиreadonly, а неask: такие инструменты агенту даже не предлагаются.
MAX_READ_ONLY=1запрещает любую запись, в том числе по MCP.