- KB RAG 전체 파이프라인: 업로드, 파싱(xlsx/pdf/docx/text), 임베딩, Qdrant 인덱싱
- KB 관리 UI(14번 탭): 로그인, 문서 목록, 업로드, 삭제, 재인덱스
- OllamaController: 한글 시스템 프롬프트, plant_context.md 외부 파일화, SSE tool_start/tool_result 이벤트
- 프론트: 툴 실행 카드, KB 인용 링크, 표 자동 렌더, 추천 질문 칩
- nl2sql_worker: history_table.recorded_at 사용, tag_metadata 응답 개선
- DB: KB 테이블 5개 DDL + 시드, pgcrypto 확장
- OllamaController: Ollama/vLLM 프록시 API (채팅, 스트리밍, 모델 목록, 설정)
- UI: 새 대화 탭, 세션 관리, Markdown 렌더링, 스트리밍 응답
- vLLM: OpenAI-compatible API 지원, MCP function calling 통합
- Fix: McpClient DI 팩토리 등록 (HttpClient BaseAddress 문제 해결)
- Fix: llm-model.json 직렬화 JsonSerializer 사용
- Fix: nl2sql_worker KST 시간대 표시 (AT TIME ZONE Asia/Seoul)
- Program.cs: Ollama/vLLM HttpClient 등록 (1800s timeout)
- mcp-server: 하드코딩된 모델명을 llm-model.json 기반 config.py로 외부화
- C#: AppendPointsAsync로 기존 데이터 유지하면서 포인트 추가
- C#: LlmConfigController로 LLM 모델명 조회/저장 API
- Frontend: LLM 설정 UI 카드 + 포인트 빌더에서 추가하기 버튼
기존 단일 조건(name/dataType) 방식에서 그룹별 패턴 기반 방식으로 개편.
컨트롤러/아날로그/디지털/사용자정의 5개 그룹에 대해 태그 패턴, 속성 체크박스, DataType을 각각 설정 가능.
미리보기(PREVIEW) API 추가하여 조건에 매칭되는 포인트를 확인 후 선택적으로 적용 가능.
- P&ID 그래프 파이프라인 구현 (py)
- pid_geometric_extractor.py: 기하학적 특징 추출
- pid_intelligent_mapper.py: 태그 매핑
- pid_topology_builder.py: 위상 구축
- test_pipeline_phase2.py, test_pipeline_phase3.py: 테스트
- MCP 서버 개선
- server.py: 멀티프로세싱 지원
- pipeline/: 분석, 추출, 매핑, 위상 모듈 추가
- C# P&ID 그래프 서비스
- PidGraphDtos.cs: DTO 정의
- PidGraphService.cs: 비즈니스 로직
- PidGraphController.cs: API 컨트롤러
- OPC UA 서비스 개선
- ExperionOpcServerService.cs
- ExperionRealtimeService.cs
- ExperionFastService.cs
- MCP 클라이언트 및 호스팅 서비스 개선
- McpClient.cs
- McpServerHostedService.cs
- 웹 UI 개선
- pid_graph_view.html: P&ID 그래프 뷰어
- pid-viewer.js: 뷰어 로직
- app.js: 메인 앱
- pid_graph.css: 스타일
- 프로젝트 설정 업데이트
- ExperionCrawler.csproj
- Program.cs
- IMcpService 인터페이스 및 McpClient/McpService 구현 추가
- McpClient: Python MCP 서버(localhost:5001)와 JSON-RPC over HTTP 통신
- McpService: McpClient 위임 래퍼, IMcpService 구현
- [JsonPropertyName], PropertyNameCaseInsensitive 적용으로 JSON 역직렬화 수정
- TextToSqlController에 MCP 엔드포인트 5개 추가
- GET /api/text-to-sql/tools
- POST /api/text-to-sql/execute-mcp
- POST /api/text-to-sql/query-history
- GET /api/text-to-sql/tags/search
- GET /api/text-to-sql/drawings
- HistoryQueryRequestDto 추가 (TextToSqlDtos.cs)
- QueryHistoryWithIntervalAsync 올바른 메서드 호출로 수정 (IExperionDbService)
- Program.cs: McpClient 싱글톤 등록, AddHttpClient 잘못된 등록 수정
- 빌드 에러 0건, 경고 0건
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ExperionCrawler 프로젝트 전체 백업 (11개 커밋 포함)
- OPC UA IIoT 데이터 브리징 인프라
- Text-to-SQL 쿼리 엔진
- 실시간 데이터 스트리밍 서비스
- ASP.NET Core Web API
- TimescaleDB/SQLite 데이터베이스
- 보안 인증서 관리
- 통합 테스트
Major project initialization and feature implementation:
**Core Features:**
- OPC UA client for Honeywell Experion HS R530 integration
- Real-time data streaming and history data retrieval
- Text-to-SQL query engine with TimeScaleDB
- JSON-based node configuration system
- SQLite database with migration support
**Architecture:**
- Clean architecture with Domain, Application, Infrastructure layers
- ASP.NET Core Web API frontend
- Web UI with real-time visualization
- PKI-based OPC UA authentication (TLS)
**Infrastructure Components:**
- ExperionOpcClient: OPC UA connection management
- ExperionRealtimeService: Real-time data streaming
- ExperionHistoryService: Historical data queries
- TextToSqlService: Natural language to SQL queries
- SqlValidator: SQL injection prevention
**Database:**
- TimescaleDB integration (recommended) or SQLite fallback
- Entity Framework Core with Extenstion methods
- OPCTag, KeyValue tables for data storage
**Security:**
- Certificate-based OPC UA endpoint security
- SSL/TLS encryption for database connections
- Output param binding injection prevention
**Testing:**
- Unit tests for TextToSqlService and SqlValidator
- Integration tests for Korean time range extraction
See REVIEW_REQUEST.md for detailed code review information.