Skip to Content
ДизайнPrompt SuggestionСтатус реализации Prompt Suggestion

Статус реализации Prompt Suggestion

Отслеживает статус реализации функции подсказок (NES) во всех пакетах.

Основной модуль (packages/core/src/followup/)

КомпонентСтатусСтрокОписание
followupState.ts✅ Готово~230Фреймворк-агностичный контроллер с таймером и debounce
suggestionGenerator.ts✅ Готово~260Генерация через LLM + 12 правил фильтрации + поддержка forked-запросов
forkedQuery.ts✅ Готово~240CacheSafeParams + createForkedChat + runForkedQuery
overlayFs.ts✅ Готово~140Оверлейная файловая система с Copy-on-Write
speculationToolGate.ts✅ Готово~150Контроль границ инструментов с использованием AST-парсера для shell
speculation.ts✅ Готово~540Движок speculation с конвейерной генерацией подсказок + переопределением модели

Интеграция с CLI (packages/cli/)

КомпонентСтатусОписание
AppContainer.tsx✅ ГотовоГенерация подсказок, жизненный цикл speculation, рендеринг UI
InputPrompt.tsx✅ ГотовоПринятие по Tab/Enter/Right Arrow, отклонение + прерывание
Composer.tsx✅ ГотовоПроброс пропсов
UIStateContext.tsx✅ ГотовоpromptSuggestion + dismissPromptSuggestion
useFollowupSuggestions.tsx✅ ГотовоReact-хук с телеметрией + отслеживанием нажатий клавиш
settingsSchema.ts✅ Готово3 feature-флага + настройка fastModel
settings.schema.json✅ ГотовоСхема настроек VSCode

Интеграция с WebUI (packages/webui/)

КомпонентСтатусОписание
InputForm.tsx✅ ГотовоTab/Enter/Right Arrow + отправка explicitText
useFollowupSuggestions.ts✅ ГотовоReact-хук с поддержкой onOutcome
followup.ts✅ ГотовоТочка входа для субпути
components.css✅ ГотовоСтилизация ghost-текста
vite.config.followup.ts✅ ГотовоОтдельная конфигурация сборки

Телеметрия (packages/core/src/telemetry/)

КомпонентСтатусОписание
PromptSuggestionEvent✅ Готово10 полей
SpeculationEvent✅ Готово7 полей
logPromptSuggestion()✅ ГотовоЛоггер OpenTelemetry
logSpeculation()✅ ГотовоЛоггер OpenTelemetry

Покрытие тестами

Файл тестаТестовОписание
followupState.test.ts14Таймер контроллера, debounce, колбэк accept, onOutcome, очистка
suggestionGenerator.test.ts16Все 12 правил фильтрации + граничные случаи + ложные срабатывания
overlayFs.test.ts15Запись COW, разрешение чтения, применение, очистка, обход путей
speculationToolGate.test.ts27Категории инструментов, режим подтверждения, shell AST, перезапись путей
forkedQuery.test.ts6Сохранение/получение/очистка параметров кэша, глубокое клонирование, определение версии
speculation.test.ts7Граничные случаи ensureToolResultPairing
smoke.test.ts21Кросс-модульный E2E: фильтр + оверлей + toolGate + кэш + pairing
InputPrompt.test.tsx4Tab, Enter+submit, Right Arrow, гард завершения

История аудита

РаундНайдено проблемИсправлено проблем
R1-R41010 (движок правил → LLM, упрощение состояния)
R5-R622 (конфликт привязки Enter, телеметрия Right Arrow)
R7-R833 (телеметрия WebUI, неиспользуемый тип, покрытие тестами)
R90— (стабилизация)
R10-R1111 (зависимость historyManager)
R12-R1311 (границы слов в evaluative regex)
Phase 1+2 R1-R420+20+ (обход разрешений, безопасность оверлея, состояния гонки)
Итого37+37+

Соответствие Claude Code

ФункцияСовпадениеПримечания
Текст подсказки100%Идентично (только название бренда)
12 правил фильтрации100%+Улучшение границ слов \b
Взаимодействие с UI (Tab/Enter/Right)100%
Условия защиты (Guard conditions)100%13 проверок
Телеметрия100%10+7 полей
Совместное использование кэшаDashScope cache_control
SpeculationCOW-оверлей + ограничение инструментов
Конвейерная подсказкаГенерируется после завершения speculation
Управление состоянием100%+Паттерн контроллера, Object.freeze
Last updated on