8.2 KiB
8.2 KiB
📋 История изменений (CHANGELOG)
Все ключевые изменения архитектуры, инструментов и модулей проекта SCUD Orion AI фиксируются в данном файле[cite: 6].
[2026-08-19] — Инлайн-редактор задач, интеллектуальный ContextManager и стабилизация Function Calling
✨ Добавлено
- Инлайн-редактирование задач (
task_widget.js/tasks.py):- Добавлена кнопка редактирования (
✏️) на каждой карточке задачи. - Карточка трансформируется в инлайн-форму с тремя полями: текст задачи, HTML5-пикер календаря планируемого срока и выпадающий список важности (
LOW,MEDIUM,HIGH,CRITICAL). - Добавлен REST API эндпоинт
PATCH /api/v1/tasks/{task_id}с поддержкой комплексного обновления полей в SQLite. - В карточки выведено отображение даты создания задачи.
- Добавлена кнопка редактирования (
- Интеллектуальный ContextManager (
context_manager.py):- Служебные запросы и карточки инструментов сохраняются синхронными парами (
is_ephemeral = 1) и атомарно удаляются при завершении операций. - Свободные диалоги оператора (включая темы Topic Drift) сохраняются в постоянную историю (
is_ephemeral = 0) и не стираются при закрытии сессий промпта/задач.
- Служебные запросы и карточки инструментов сохраняются синхронными парами (
- Поддержка Y-снапшотов (
db_snapshots.py):- Исправлен SQL-запрос
db_get_snapshotsдля точного извлечения ночных и фоновых срезов с префиксомY(например,Y20260817-003).
- Исправлен SQL-запрос
🔧 Изменено
modules/web_api/llm/agent.py:- Полностью удалены эвристические текстовые фильтры и принудительные сортировки инструментов.
- Настроен нативный возврат и исполнение инструментов без зацикливания модели.
- Устранена ошибка
UnboundLocalErrorпри вызове справочных инструментов.
modules/web_api/llm/schemas.py:- Очищены описания инструментов от агрессивных директив и капса, стабилизирована селективность Function Calling для Qwen 2.5.
modules/web_api/llm/core/ollama_client.py:- Оптимизированы параметры генерации для Function Calling (
repeat_penalty: 1.0,presence_penalty: 0.0,temperature: 0.0), что исключило спам несколькими вызовами инструментов на один запрос.
- Оптимизированы параметры генерации для Function Calling (
modules/web_api/static/js/chat/task_widget.js:- Фильтр по умолчанию переведен на вкладку «В работе» (
IN_PROGRESS).
- Фильтр по умолчанию переведен на вкладку «В работе» (
[2026-08-18] — Двухфазный жизненный цикл сессий, двусторонний Diff и Topic Drift Guard
✨ Добавлено
- Двусторонний клиентский Diff (
core.js): Реализован алгоритм сравнения черновика с baseline-промптом. Удаленные строки остаются на экране с красным зачеркиванием[УДАЛЕНИЕ], а добавленные/измененные строки выделяются красной рамкой с авто-отступами. - Topic Drift Guard (
agent.py): Внедрен двухуровневый контроль смены темы:- Мгновенный сброс стейта и зачистка эфемерных сообщений при вызове сторонних инструментов (задачи, снапшоты, база).
- Мягкий счетчик отвлечений (
idle_turns= 3) в свободном диалоге с выводом напоминания и кнопок изtool_action_registry.
- Команда
context purgeв CLI (db_cli.py): Добавлен флаг--allдля полной очистки таблицыchat_messagesи сброса стейтов сессий.
🔧 Изменено
modules/web_api/llm/agent.py:- Прямой просмотр промпта (
db_get_system_prompt) переведен в прозрачный режим без блокировки строки ввода и без лишних кнопок. - В инструмент
db_prompt_node_editдобавлена передача исходногоbaseline_promptдля точного сопоставления правок в UI.
- Прямой просмотр промпта (
modules/web_api/llm/core/fast_path.py: Оптимизирована зачистка эфемерных сообщений при кликах на кнопки фазы follow-up.
[2026-08-17] — Внедрение CLI-инспекции контекста и переход на нативный Function Calling
✨ Добавлено
scripts/db_cli.py: Добавлена командаcontextдля инспекции истории сообщенийchat_messagesпо сессиям с визуальным отображением флагов[ЭФЕМЕРНОЕ][cite: 6].ROADMAP.md: Сформирована актуальная дорожная карта с планом отказа от регулярных выражений в пользу нативного Function Calling[cite: 6].
🔧 Изменено
modules/web_api/llm/db_tools.py: Удалены устаревшие неиспользуемые функции и заглушки счетчиков простоя[cite: 6].modules/web_api/static/js/chat/core.js: Внедрена поддержка вызова инлайн-редактора черновика промпта прямо из окна диалога[cite: 6].
[2026-08-15] — Реляционная архитектура системного промпта
✨ Добавлено
system_prompt_nodes: Создана таблица реляционных узлов промпта с индексацией по разделам и пунктам (section_id,item_id)[cite: 6].db_prompt_node_edit: Добавлен инструмент точечного добавления, изменения и удаления пунктов системного промпта[cite: 6].- Инлайн-редактор: Добавлен визуальный diff-просмотр изменений с подсветкой и кнопкой
[✏️ Редактировать][cite: 6].
🔧 Изменено
modules/web_api/llm/agent.py: Генерация активного системного промпта переведена на динамическую сборку из реляционных узлов SQLite[cite: 6].modules/web_api/llm/core/fast_path.py: Обработка кнопок «Подтвердить» и «Отменить» переведена на атомарную запись узлов в базу данных[cite: 6].
[2026-08-10] — Механизм эфемерных сообщений и очистки диалога
✨ Добавлено
- Эфемерные сообщения (
is_ephemeral): Маркировка временных сервисных ответов и черновиков[cite: 6]. db_purge_ephemeral_messages: Механизм физической зачистки временных записей из SQLite при завершении операций[cite: 6].- Интерактивные виджеты: Поддержка карточек задач (
TASK_INTERACTIVE_CARD) с кнопками быстрого действия[cite: 6].