# NDC AI First Layer (LLM Normalizer Playground) Локальный модуль `front + back` для нормализации бухгалтерских запросов через OpenAI token. Ключевые свойства: - русифицированный GUI (терминология `NDC`); - backend-proxy (ключ не уходит во фронт); - Responses API + structured JSON schema `normalized_query_v1` / `normalized_query_v2` / `normalized_query_v2_0_1`; - trace/history/eval; - совместимый `accounting-agent` namespace для будущей интеграции в `dc_node`. ## Быстрый запуск (Windows) 1. Опционально: отдельная среда Miniconda ```powershell conda create -n ndc-gui nodejs=22 -y conda activate ndc-gui ``` 2. Backend ```powershell cd X:\1C\NDC_1C\llm_normalizer\backend npm install npm run dev ``` 3. Frontend (в новом терминале) ```powershell cd X:\1C\NDC_1C\llm_normalizer\frontend npm install npm run dev ``` 4. Открыть GUI - `http://localhost:5174` Backend по умолчанию: - `http://localhost:8787` Чтобы включить live-probe в 1С через MCP (для `hybrid_store_plus_live` и `live_mcp_drilldown`), задайте переменные перед запуском backend: ```powershell $env:FEATURE_ASSISTANT_MCP_RUNTIME_V1='1' $env:ASSISTANT_MCP_PROXY_URL='http://127.0.0.1:6003' $env:ASSISTANT_MCP_CHANNEL='default' ``` ## Запуск из одной папки (VS Code) Открой в VS Code папку: - `X:\1C\NDC_1C\llm_normalizer` Дальше 2 варианта: 1. Через Tasks: - `Terminal -> Run Task -> NDC: Install All` (первый раз) - `Terminal -> Run Task -> NDC: Dev All (Backend + Frontend)` 2. Через одну команду в терминале: ```powershell cd X:\1C\NDC_1C\llm_normalizer start-dev.cmd ``` С live-MCP (прокси 1С на `127.0.0.1:6003`): ```powershell cd X:\1C\NDC_1C\llm_normalizer start-dev-mcp.cmd ``` Или: ```powershell cd X:\1C\NDC_1C\llm_normalizer npm.cmd run dev:all ``` ## Основные endpoint-ы - `POST /api/openai/test-connection` - `POST /api/normalize` - `POST /api/eval/run` - `GET /api/history` - `GET /api/history/:trace_id` - `POST /api/presets/save` - `GET /api/presets` - `GET /api/health` - `GET /api/accounting-agent/v1/health` ## Где хранятся данные - traces: `llm_normalizer/data/traces` - presets: `llm_normalizer/data/presets` - eval cases/reports: `llm_normalizer/data/eval_cases` Для `POST /api/eval/run` поддержан batch-ввод через `rawQuestions` (разделитель `;` или пустая строка). ## Тесты backend ```powershell cd X:\1C\NDC_1C\llm_normalizer\backend npm test ```