Files
gravity_control/docs/devlog/entries/20260417-001.md

1.7 KiB

DOM Observer 마크다운 구조 복원 및 사용자 메시지 연동 (v0.5.56)

목표

DOM Observer(observer-script.ts)가 AI 채팅을 innerText로 추출하며 잃어버리는 마크다운 서식을 복원하고, 사용자(User) 메시지도 포착하여 함께 Discord 봇으로 보내기 (#634 이슈).

변경 사항

  1. convertNodeToMarkdown 파서 확장:
    • AI 채팅창의 DOM Tree를 순회하며 <h1>~<h4>, <p>, <ul>, <ol>, <li>, <strong>, <em>, <code>, <pre>, <blockquote> 등 대부분의 마크다운 요소를 파싱하는 로직 도입.
    • 추가로 <a> 태그(Link) 속성을 지원하여 [text](href) 형태로 복원하도록 개선.
  2. 파괴적인 cleanLines() 노이즈 필터 제거:
    • 이전에 사용되던 cleanLines()}[공백]이나 import 같은 코드를 UI 노이즈로 오인하여 삭제(Drop)하는 심각한 이슈를 발견. 전체 마크다운 문자열에는 해당 필터를 적용하지 않고 정규식을 통해 Thought for X s 형태의 메시지만 지우도록 수정.
  3. User 메시지 대상 추가:
    • scanChatBodies()의 탐색 Selector에 .text-ide-message-block-user-color, .bg-ide-message-block-user-background 등을 추가하여 사용자 메시지 블록도 대상에 포함.
    • 데이터 전송 시 role: 'user' 정보를 보내고, http-bridge.ts에서 이를 구분하여 헤더를 🧑‍💻 **[DOM 추출] 사용자 요청**로 지정해 Discord로 릴레이.

결과

v0.5.56 VSIX 배포 준비 완료 (v0.5.54/55 빌드는 테스트 과정 중 건너뜀). AG Native에서 확장 설치 캐시를 리셋하거나 직접 VSIX를 설치하면 적용됨.