diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f6542d..79b51e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ 이 문서는 [Keep a Changelog](https://keepachangelog.com/ko/1.1.0/) 형식을 따릅니다. +## [0.9.0] - 2026-07-20 + +### 추가 +- HTML 내보내기 결과에서 모델이 만든 JavaScript와 폼 컨트롤을 사용할 수 있습니다. 네트워크 호출은 콘텐츠 보안 정책(CSP)으로 계속 차단됩니다. +- HTML 페이지에는 항상 테마 전환 버튼이, 슬라이드에는 키보드·이전/다음 버튼·진행 표시를 이용한 탐색과 인쇄용 전체 슬라이드 표시가 추가됩니다. +- 테마·슬라이드 런타임 안내를 영어·한국어·중국어 간체·중국어 번체·일본어로 제공합니다. + +### 변경 +- HTML 내보내기 CSS에서 사용자 정의 속성, `position: fixed`·`sticky`, `!important`, 확장 선택자를 사용할 수 있습니다. + ## [0.8.0] - 2026-07-17 ### 추가 @@ -16,6 +26,7 @@ - 한 번의 생성에서도 글자 크기·밀도·링크·로컬 모델 선택을 더 안정적으로 반영합니다. - 코드 펜스나 설명문으로 감싼 HTML 응답에서도 문서를 추출하고, 조각 응답에서는 주변 설명문을 제거합니다. - Grok Composer는 xAI API 키가 있을 때만 선택할 수 있으며, 설정에 xAI API 키 입력란을 추가하고 키가 없으면 설정 방법을 안내하는 현지화된 오류를 표시합니다. +- HTML 내보내기 모델을 검증된 ChatGPT(GPT-5.6 Sol·Terra·Luna), Claude, Grok 및 자동 감지한 로컬 모델로 정리하고, GPT-5.6 모델에서는 Fast 옵션을 선택할 수 있습니다. ## [0.7.0] - 2026-06-26 @@ -28,5 +39,6 @@ - [v0.6.1 이하 릴리스](https://github.com/project820/notepad-ai/releases) -[0.8.0]: https://github.com/project820/notepad-ai/compare/dc0aa00...main +[0.9.0]: https://github.com/project820/notepad-ai/compare/v0.8.0...main +[0.8.0]: https://github.com/project820/notepad-ai/compare/dc0aa00...v0.8.0 [0.7.0]: https://github.com/project820/notepad-ai/compare/v0.6.1...dc0aa00 diff --git a/README.md b/README.md index 0bfc090..492bea9 100644 --- a/README.md +++ b/README.md @@ -9,12 +9,12 @@ - 🇰🇷 **한국어 우선** — 모든 AI 출력이 기본으로 자연스러운 한국어로 나옵니다(“AI 티” 제거). UI는 한·영·중(간/번)·일 5개 언어. - 🔒 **내 컴퓨터에서 도는 무료 AI** — Ollama·LM Studio를 자동 감지해 로컬 모델로 채팅/첨삭/HTML 생성. 인터넷·구독·API 키 없이도 동작하고, 문서가 외부로 나가지 않습니다. - 💬 **AI 글쓰기 컨설턴트** — 작성·상담·프로젝트 설정·HTML 생성을 한 패널의 4개 탭으로. 상담은 현재 문서를 자동 동기화하고, 이미지를 붙이면 비전 모델은 직접 읽고 그 외 모델은 **오프라인 OCR(한국어+영어)**로 처리합니다. -- 🎨 **AI가 문서를 웹페이지로** — 마크다운을 한 번에 스타일 입힌 HTML 문서나 슬라이드로 내보냅니다. 성공적으로 처리한 응답의 위험 요소만 자동 정리하며, 응답이 비어 있거나 해석할 수 없으면 명확한 오류를 표시합니다. +- 🎨 **AI가 문서를 인터랙티브 웹페이지로** — 마크다운을 한 번에 스타일 입힌 HTML 문서나 슬라이드로 내보냅니다. 결과에는 테마 전환과 슬라이드 조작을 더할 수 있으며, 성공적으로 처리한 응답의 위험 요소만 자동 정리하고 응답이 비어 있거나 해석할 수 없으면 명확한 오류를 표시합니다. - ↔️ **정렬되는 좌우 분할** — RAW 편집기와 리치 프리뷰의 같은 블록이 줄 단위로 정렬되고 스크롤이 함께 움직입니다. - 📁 **사이드 파일 탐색기** — 작업 폴더를 트리로 열어 문서 사이를 빠르게 오갑니다. - 🔐 **프라이버시 우선** — API 키는 Keychain 암호화 저장(평문 디스크 기록 없음), 외부 통신은 허용 목록 기반, 원본 마크다운은 항상 진실(source of truth). ## 무엇이 새로워졌나요 -- **v0.8.0** — HTML 생성 위저드가 바로 열리고, 자동/디테일 흐름에서 고른 모델을 재시도에도 유지합니다. 자세한 변경 사항은 [CHANGELOG](./CHANGELOG.md)에서 확인하세요. +- **v0.9.0** — HTML 내보내기에 테마 전환, 슬라이드 조작, 인터랙티브 요소와 인쇄 지원을 더했습니다. 자세한 변경 사항은 [CHANGELOG](./CHANGELOG.md)에서 확인하세요. ## 설치 @@ -49,7 +49,7 @@ - **프로젝트 설정 마법사** — 작업 폴더에 대한 `Overview.md` 개요 초안을 몇 가지 질문으로 만들어 줍니다. 초안을 **승인하기 전까지는 아무것도 저장되지 않습니다.** - **이미지 첨부 + 오프라인 OCR** — 채팅에 이미지를 붙여넣거나 첨부할 수 있습니다. 비전 지원 모델은 이미지를 직접 읽고, 그 외/로컬 모델은 **기기에 내장된 OCR(한국어+영어, 인터넷 불필요)**로 글자를 추출해 전달합니다. - **블록 AI** — 선택한 텍스트를 그 자리에서 첨삭/대안 제시. -- **AI HTML 내보내기(고도화)** — 문서를 한 번에 스타일 입힌 HTML 페이지나 슬라이드로 변환합니다. **자동/디테일** 모드에서 용도·표현 스타일·방향·밀도·디자인 소스를 고르고, 모델 선택은 재시도에도 유지됩니다. 결과는 외부 의존이 없는 자체 완결형(self-contained)으로 저장·미리보기하며, 성공적으로 처리한 응답의 위험 요소만 자동 정리하고 응답이 비어 있거나 해석할 수 없으면 명확한 오류를 표시합니다. +- **AI HTML 내보내기(고도화)** — 문서를 한 번에 스타일 입힌 HTML 페이지나 슬라이드로 변환합니다. **자동/디테일** 모드에서 용도·표현 스타일·방향·밀도·디자인 소스를 고르고, 모델 선택은 재시도에도 유지됩니다. 결과에는 테마 전환(☀/🌙)과 슬라이드 키보드·버튼·진행 표시 조작이 포함되며, 인터랙티브 체크박스 같은 자체 완결형 요소도 사용할 수 있습니다. 네트워크 요청은 내보낸 문서의 CSP로 차단됩니다. 성공적으로 처리한 응답의 위험 요소만 자동 정리하고 응답이 비어 있거나 해석할 수 없으면 명확한 오류를 표시합니다. - **문체 설정** — **이해 수준**(초등~전문가)과 자연스러움(윤문 강도)을 하나의 설정으로 조절합니다. - **항상 켜진 윤문(한글 AI 티 제거)** — 모든 AI 출력이 기본으로 자연스러운 한국어로 나옵니다. 코드·인용·수치·고유명사 등 사실은 보존합니다. (영어 윤문은 최소 기능의 **실험적(Experimental)** 단계입니다.) - 메인 채팅 · 블록 AI · HTML 내보내기마다 **모델을 따로** 고를 수 있습니다. @@ -68,6 +68,7 @@ - **로컬 모델(Ollama / LM Studio)** — 서버를 켜두면 설치된 모델을 자동으로 찾아 세 곳(메인 채팅·블록 AI·HTML 내보내기) 모두에서 쓸 수 있습니다. 설정에서 서버 주소를 바꿀 수 있고, 로컬 탐지는 클라우드 모델 목록을 절대 막지 않습니다(비차단). 문서가 기기 밖으로 나가지 않습니다. - 내장 **모델 카탈로그**에서 프로바이더와 모델을 고르며, 카탈로그에 없는 모델은 **커스텀 모델 ID**로 직접 입력할 수 있습니다. +- **HTML 내보내기 모델** — 검증된 ChatGPT(GPT-5.6 Sol·Terra·Luna), Claude, Grok 및 자동 감지한 로컬 모델을 선택할 수 있습니다. GPT-5.6 모델에는 Fast 옵션이 표시됩니다. - 아무 프로바이더도 연결하지 않으면 AI 기능은 잠기고, 연결을 안내합니다. - API 키는 macOS Keychain(`safeStorage`)으로 암호화 저장하며, 암호화를 쓸 수 없는 환경에서는 **디스크에 저장하지 않고** 해당 세션 메모리에만 둡니다. 키는 화면에 끝 4자리만 표시됩니다. - **구독형 로컬 CLI 프로바이더(v0.7)** — Claude/Grok 모델을 고르면 유료 API 대신 **로컬 구독 CLI**(`claude -p`, `grok`)로 먼저 호출해 과금을 최소화합니다. 프롬프트는 argv가 아닌 stdin/임시파일로 전달하고, 외부 CLI에는 최소 환경변수만 넘겨 다른 프로바이더의 API 키가 새지 않게 합니다. `claude`는 CLI가 없으면 Anthropic API로 자동 폴백하고, `grok`은 CLI 전용이라 미설치 시 설치/로그인 안내를 표시합니다(유료 폴백 없음). 에이전트 모드 채팅·Antigravity는 후속 과제입니다. diff --git a/docs/releases/v0.8.0.md b/docs/releases/v0.8.0.md index 6f61b6f..f7726fc 100644 --- a/docs/releases/v0.8.0.md +++ b/docs/releases/v0.8.0.md @@ -22,6 +22,10 @@ HTML 생성 탭을 열면 위저드가 바로 표시됩니다. 빠르게 만들 Grok Composer는 xAI API 키가 있을 때만 선택할 수 있습니다. 설정에 xAI API 키 입력란을 추가했으며, 키가 없으면 설정 방법을 현지화된 오류로 안내합니다. +### HTML 내보내기 모델과 Fast 옵션을 정리했습니다 + +HTML 내보내기에는 검증된 ChatGPT(GPT-5.6 Sol·Terra·Luna), Claude, Grok 및 자동 감지한 로컬 모델만 표시합니다. GPT-5.6 모델에서는 Fast 옵션을 선택해 더 빠른 응답을 요청할 수 있습니다. + ## 함께 개선된 점 - 화면용 CSS와 기본 SVG 네임스페이스를 포함한 문서 표현을 더 자연스럽게 유지합니다. diff --git a/docs/releases/v0.9.0.md b/docs/releases/v0.9.0.md new file mode 100644 index 0000000..439689a --- /dev/null +++ b/docs/releases/v0.9.0.md @@ -0,0 +1,19 @@ +# v0.9.0 + +## 인터랙티브 HTML 내보내기 + +### 밝고 어두운 테마를 바로 전환합니다 + +내보낸 HTML 문서 오른쪽 위에서 ☀/🌙 버튼으로 밝은 테마와 어두운 테마를 바꿀 수 있습니다. 선택한 테마는 다음에 문서를 열어도 유지됩니다. + +### 슬라이드를 더 편하게 넘깁니다 + +슬라이드 형식으로 내보내면 ←/→ 키와 PageUp/PageDown, Space 키로 넘길 수 있습니다. 화면의 이전/다음 버튼이나 진행 표시를 클릭해도 이동하며, 인쇄할 때는 모든 슬라이드가 이어서 표시됩니다. + +### 문서 안에서 직접 반응하는 요소를 만듭니다 + +생성된 HTML에서는 체크박스를 선택하는 것처럼 폼 컨트롤과 모델이 만든 상호작용을 사용할 수 있습니다. 탭, 아코디언, 간단한 애니메이션처럼 문서 안에서 완결되는 기능을 담을 수 있습니다. + +### 네트워크 연결 없이 실행됩니다 + +내보낸 문서는 필요한 코드와 스타일을 문서 안에 담아 실행합니다. 콘텐츠 보안 정책(CSP)이 네트워크 요청과 폼 전송을 차단하므로, 인터랙티브 요소도 외부 서비스에 연결하지 않습니다. diff --git a/package-lock.json b/package-lock.json index 92e81f3..3954a83 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "notepad-ai", - "version": "0.8.0", + "version": "0.9.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "notepad-ai", - "version": "0.8.0", + "version": "0.9.0", "license": "MIT", "dependencies": { "@codemirror/commands": "^6.7.1", diff --git a/package.json b/package.json index 2ff86d8..483f94e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "notepad-ai", - "version": "0.8.0", + "version": "0.9.0", "description": "Friendly Mac markdown editor for non-technical writers, Korean-centric.", "main": "dist/main/main.js", "scripts": {