-- Pull all mood_* entries, ask LLM to summarize trends. local all = jarvis.memory.all() local moods = {} for _, rec in ipairs(all) do if rec.key:sub(1, 5) == "mood_" then table.insert(moods, rec.value) end end if #moods == 0 then return jarvis.cmd.not_found("Записей о настроении пока нет.") end -- Trim to most-recent-ish 30 entries (memory.all isn't ordered, but mood_ keys sort) table.sort(moods) local recent = {} local start = math.max(1, #moods - 30 + 1) for i = start, #moods do table.insert(recent, moods[i]) end local joined = table.concat(recent, "\n") local summary = jarvis.llm({ { role = "system", content = "Ты — психотерапевт-помощник. На основе записей пользователя о настроении дай короткую сводку (3-5 предложений) на русском: общий тон, тренды, выдели хороший/плохой день. Без банальностей, без советов." }, { role = "user", content = "Записи:\n" .. joined } }, { max_tokens = 250, temperature = 0.5 }) if not summary or summary == "" then return jarvis.cmd.error("Не получилось обобщить. Возможно, нет связи с LLM.") end return jarvis.cmd.ok(summary)