Synchronize release metadata, bilingual notes, welcome digest, and multilingual repository chronicle after validating the 110-commit release range.
84 KiB
Obsidian용 Notemd 플러그인
English | 简体中文 | Español | Français | Deutsch | Italiano | Português | 繁體中文 | 日本語 | 한국어 | Русский | العربية | हिन्दी | বাংলা | Nederlands | Svenska | Suomi | Dansk | Norsk | Polski | Türkçe | עברית | ไทย | Ελληνικά | Čeština | Magyar | Română | Українська | Tiếng Việt | Bahasa Indonesia | Bahasa Melayu
다른 언어로 된 문서 읽기: 언어 센터
==================================================
_ _ _ _ ___ __ __ ___
| \ | | ___ | |_| |___| | \/ |___ \
| \| |/ _ \| __| |___| | |\/| | | |
| |\ | (_) | |_| |___ | | | |___| |
|_| \_|\___/ \__|_|___| | | | |____/
==================================================
AI 기반 다국어 지식 강화 도구
==================================================
나만의 지식 베이스를 만드는 가장 쉬운 방법!
Notemd는 다양한 거대 언어 모델(LLM)과 통합되어 다국어 노트를 처리하고, 주요 개념에 대한 위키 링크를 자동으로 생성하며, 대응하는 개념 노트를 만들고, 웹 리서치를 수행하는 등 Obsidian 워크플로우를 강화하여 강력한 지식 그래프를 구축할 수 있도록 돕습니다.
Notemd를 사랑한다면, ⭐ GitHub에서 별을 주거나 ☕️ 커피를 사주세요.
.9.0
목차
빠른 시작
- 설치 및 활성화: Obsidian 커뮤니티 마켓플레이스에서 플러그인을 다운로드합니다.
- LLM 설정:
Settings -> Notemd로 이동하여 LLM 제공업체(예: OpenAI 또는 로컬 Ollama)를 선택하고 API 키/URL을 입력합니다. - 사이드바 열기: 왼쪽 리본에 있는 Notemd 마법 지팡이 아이콘을 클릭하여 사이드바를 엽니다.
- 노트 처리: 노트를 열고 사이드바에서 **"파일 처리 (링크 추가)"**를 클릭하면 핵심 개념에
[[wiki-links]]가 자동으로 추가됩니다. - 빠른 워크플로우 실행: 기본 제공되는 "One-Click Extract" 버튼을 사용하여 처리, 일괄 생성, Mermaid 수정을 한 번에 실행합니다.
완료되었습니다! 웹 리서치, 번역, 콘텐츠 생성 등 더 많은 기능을 활용하려면 설정을 살펴보세요.
언어 지원
언어 동작 규약
| 항목 | 제어 범위 | 기본값 | 비고 |
|---|---|---|---|
인터페이스 언어 |
플러그인 인터페이스 텍스트만 해당(설정, 사이드바, 알림, 대화 상자) | auto |
Obsidian 언어 설정을 따릅니다. 현재 지원 카탈로그는 en, ar, de, es, fa, fr, id, it, ja, ko, nl, pl, pt, pt-BR, ru, th, tr, uk, vi, zh-CN, zh-TW입니다. |
작업 출력 언어 |
LLM에 의해 생성된 결과물(링크, 요약, 생성, 추출, 번역 대상) | en |
전체 또는 작업별로 다른 언어 사용 옵션을 활성화하여 작업별로 설정할 수 있습니다. |
자동 번역 비활성화 |
번역 이외의 작업에서 원문 문맥 유지 | false |
명시적인 Translate 작업은 지정된 대상 언어를 계속 적용합니다. |
| 로케일 폴백 | 누락된 UI 키 해결 | 로케일 -> en |
일부 키가 번역되지 않은 경우에도 UI 안정성을 유지합니다. |
- 유지 관리 기준 문서는 영어와 중국어 간체이며, 공개된 README 번역본은 상단 헤더에 링크되어 있습니다.
- 앱 내 UI 로캘 지원 범위는 현재 코드의 명시적 카탈로그와 정확히 일치합니다:
en,ar,de,es,fa,fr,id,it,ja,ko,nl,pl,pt,pt-BR,ru,th,tr,uk,vi,zh-CN,zh-TW. - 영어 fallback은 구현 차원의 안전망으로 유지되지만, 지원 대상의 가시 UI는 회귀 테스트로 보장되며 일반 사용 중 조용히 영어로 되돌아가면 안 됩니다.
- 자세한 내용 및 기여 가이드라인은 언어 센터에서 확인할 수 있습니다.
주요 기능
AI 기반 문서 처리
- 멀티 LLM 지원: 다양한 클라우드 및 로컬 LLM 제공업체 연결(지원되는 LLM 제공업체 참조).
- 지능형 청킹: 처리를 위해 단어 수에 따라 대용량 문서를 관리 가능한 부분으로 자동 분할합니다.
- 콘텐츠 보존: 구조와 링크를 추가하면서 원본 서식을 최대한 유지합니다.
- 진행 상태 추적: Notemd 사이드바 또는 진행률 모달을 통한 실시간 업데이트.
- 취소 가능한 작업: 전용 취소 버튼을 통해 사이드바에서 시작된 모든 처리 작업(단일 또는 일괄)을 언제든지 취소할 수 있습니다. 명령 팔레트 작업은 취소 가능한 모달을 사용합니다.
- 멀티 모델 구성: 작업(링크 추가, 리서치, 제목 기반 생성, 번역)에 따라 서로 다른 LLM 제공업체 및 특정 모델을 사용하거나, 모든 작업에 단일 제공업체를 사용하도록 구성할 수 있습니다.
- 안정적인 API 호출(재시도 로직): 실패한 LLM API 호출에 대해 구성 가능한 간격 및 시도 제한으로 자동 재시도를 활성화할 수 있습니다.
- 탄력적인 제공업체 연결 테스트: 첫 번째 테스트에서 일시적인 연결 끊김이 발생할 경우, Notemd는 실패하기 전에 안정적인 재시도 시퀀스를 수행합니다. OpenAI 호환, Anthropic, Google, Azure OpenAI 및 Ollama 전송을 지원합니다.
- 실행 환경 전송 폴백:
requestUrl을 통한 장기 요청이ERR_CONNECTION_CLOSED와 같은 일시적인 네트워크 오류로 끊길 경우, Notemd는 구성된 재시도 루프에 들어가기 전에 환경별 폴백 전송을 통해 동일한 시도를 재시도합니다. 데스크톱 빌드는 Nodehttp/https를 사용하고, 비데스크톱 환경은 브라우저fetch를 사용합니다. 이는 느린 게이트웨이 및 역방향 프록시에서의 오탐 실패를 줄여줍니다. - OpenAI 호환 안정적 장기 요청 체인 강화: 안정 모드에서 OpenAI 호환 호출은 각 시도에 대해 명시적인 3단계 순서(기본 직접 스트리밍, 직접 비스트리밍,
requestUrl폴백(필요시 스트리밍 파싱으로 업그레이드 가능))를 사용합니다. 이는 제공업체가 버퍼링된 응답은 완료했지만 스트리밍 파이프가 불안정한 경우의 오탐 오류를 줄여줍니다. - 모든 LLM API에 대한 프로토콜 인식 스트리밍 폴백: 장기 요청 폴백 시도는 이제 OpenAI 호환 엔드포인트뿐만 아니라 모든 기본 제공 LLM 경로에서 프로토콜 인식 스트리밍 파싱으로 업그레이드됩니다. Notemd는 데스크톱
http/https및 비데스크톱fetch모두에서 OpenAI/Azure 스타일 SSE, Anthropic 메시지 스트리밍, Google Gemini SSE 응답, Ollama NDJSON 스트림을 처리하며, 나머지 OpenAI 스타일 직접 제공업체 진입점은 동일한 공유 폴백 경로를 재사용합니다. - 중국 지역 전용 프리셋: 기존의 글로벌 및 로컬 제공업체 외에
Qwen,Qwen Code,Doubao,Moonshot,GLM,Z AI,MiniMax,Huawei Cloud MaaS,Baidu Qianfan,SiliconFlow프리셋이 추가되었습니다. - 신뢰할 수 있는 일괄 처리: 대규모 일괄 작업 중 속도 제한 오류를 방지하고 안정적인 성능을 보장하기 위해 시차를 둔 API 호출이 포함된 개선된 동시 처리 로직을 적용했습니다. 새로운 구현은 작업이 동시에 시작되지 않고 서로 다른 간격으로 시작되도록 보장합니다.
- 정확한 진행 보고: 진행률 표시줄이 멈추는 버그를 수정하여 UI가 항상 실제 작업 상태를 반영하도록 했습니다.
- 견고한 병렬 일괄 처리: 병렬 일괄 작업이 중간에 중단되는 문제를 해결하여 모든 파일이 안정적이고 효율적으로 처리되도록 보장합니다.
- 진행률 표시줄 정확도: "위키 링크 생성 및 노트 생성" 명령의 진행률 표시줄이 95%에서 멈추는 버그를 수정하여 완료 시 100%가 올바르게 표시되도록 했습니다.
- 개선된 API 디버깅: "API 오류 디버깅 모드"는 이제 LLM 제공업체 및 검색 서비스(Tavily/DuckDuckGo)의 전체 응답 본문을 캡처하며, OpenAI, Anthropic, Google, Azure OpenAI, Ollama 폴백에서 더 나은 문제 해결을 위해 삭제된 요청 URL, 경과 시간, 응답 헤더, 부분 응답 본문, 파싱된 부분 스트림 콘텐츠 및 스택 추적을 포함하는 시도별 전송 타임라인을 기록합니다.
- 개발자 모드 패널: 설정에 개발자 전용 진단 패널이 포함되어 있으며, "개발자 모드"를 켰을 때만 표시됩니다. 진단 호출 경로 선택 및 선택한 모드에 대한 반복적인 안정성 프로브 실행을 지원합니다.
- 재설계된 사이드바: 기본 제공 작업이 명확한 레이블, 실시간 상태, 취소 가능한 진행률 및 복사 가능한 로그와 함께 집중된 섹션으로 그룹화되어 사이드바의 복잡함을 줄였습니다. 진행률/로그 바닥글은 모든 섹션이 확장된 상태에서도 계속 표시되며, 준비 상태는 더 명확한 대기 진행 트랙을 사용합니다.
- 사이드바 상호작용 및 가독성 다듬기: 사이드바 버튼은 이제 더 명확한 호버/프레스/포커스 피드백을 제공하며,
One-Click Extract및제목에서 일괄 생성을 포함한 다채로운 CTA(Call to Action) 버튼은 다양한 테마에서 가독성을 높이기 위해 더 강한 텍스트 대비를 사용합니다. - 단일 파일 CTA 매핑: 다채로운 CTA 스타일은 이제 단일 파일 작업 전용입니다. 일괄/폴더 수준 작업 및 혼합 워크플로우는 작업 범위에 대한 오클릭을 줄이기 위해 비 CTA 스타일을 사용합니다.
- 사용자 정의 원클릭 워크플로우: 기본 제공 사이드바 유틸리티를 사용자 정의 이름과 조립된 작업 체인을 가진 재사용 가능한 사용자 정의 버튼으로 변환합니다. 기본 워크플로우
One-Click Extract가 기본 제공됩니다.
지식 그래프 강화
- 자동 위키 링크: LLM 출력을 기반으로 처리된 노트 내의 주요 개념을 식별하고
[[wiki-links]]를 추가합니다. - 개념 노트 생성 (선택 사항 및 사용자 정의 가능): 지정된 보관함 폴더에 발견된 개념에 대한 새 노트를 자동으로 생성합니다.
- 사용자 정의 가능한 출력 경로: 처리된 파일과 새로 생성된 개념 노트를 저장하기 위해 보관함 내에 별도의 상대 경로를 구성합니다.
- 사용자 정의 가능한 출력 파일명 (링크 추가): 링크 처리 시 기본값인
_processed.md대신 원본 파일을 덮어쓰거나 사용자 정의 접미사/교체 문자열을 사용하도록 선택할 수 있습니다. - 링크 무결성 유지: 보관함 내에서 노트의 이름이 변경되거나 삭제될 때 링크를 업데이트하는 기본 처리 기능을 제공합니다.
- 순수 개념 추출: 원본 문서를 수정하지 않고 개념을 추출하고 해당 개념 노트를 생성합니다. 이는 원본을 변경하지 않고 기존 문서에서 지식 베이스를 구축하는 데 이상적입니다. 이 기능은 최소한의 개념 노트를 생성하고 백링크를 추가하기 위한 구성 가능한 옵션을 제공합니다.
번역
- AI 기반 번역:
- 구성된 LLM을 사용하여 노트 내용을 번역합니다.
- 대용량 파일 지원: LLM으로 보내기 전에
청크 단어 수설정에 따라 대용량 파일을 자동으로 작은 조각으로 나눕니다. 번역된 조각은 나중에 하나의 문서로 매끄럽게 합쳐집니다. - 여러 언어 간의 번역을 지원합니다.
- 설정 또는 UI에서 대상 언어를 사용자 정의할 수 있습니다.
- 읽기 편하도록 원문 오른쪽에 번역된 텍스트를 자동으로 엽니다.
- 일괄 번역:
- 선택한 폴더 내의 모든 파일을 번역합니다.
- "일괄 병렬화 활성화"가 켜져 있을 때 병렬 처리를 지원합니다.
- 구성된 경우 번역에 사용자 정의 프롬프트를 사용합니다.
- 파일 탐색기 컨텍스트 메뉴에 "이 폴더 일괄 번역" 옵션을 추가합니다.
- 자동 번역 비활성화: 이 옵션이 켜져 있으면 번역 이외의 작업은 출력을 특정 언어로 강제하지 않고 원래 언어 문맥을 유지합니다. 명시적인 "번역" 작업은 설정에 따라 계속 번역을 수행합니다.
웹 리서치 및 콘텐츠 생성
- 웹 리서치 및 요약:
- Tavily(API 키 필요) 또는 DuckDuckGo(실험적)를 사용하여 웹 검색을 수행합니다.
- 검색 견고성 개선: DuckDuckGo 검색은 레이아웃 변경을 처리하고 신뢰할 수 있는 결과를 보장하기 위해 향상된 파싱 로직(Regex 폴백이 포함된 DOMParser)을 갖추고 있습니다.
- 구성된 LLM을 사용하여 검색 결과를 요약합니다.
- 요약 결과의 출력 언어는 설정에서 사용자 정의할 수 있습니다.
- 요약 내용을 현재 노트에 추가합니다.
- LLM으로 전송되는 리서치 콘텐츠에 대한 토큰 제한을 구성할 수 있습니다.
- 제목 기반 콘텐츠 생성:
- 노트 제목을 사용하여 기존 내용을 대체하고 LLM을 통해 초기 콘텐츠를 생성합니다.
- 리서치 옵션: 생성 시 문맥을 제공하기 위해 웹 리서치(선택한 제공업체 사용)를 수행할지 여부를 구성할 수 있습니다.
- 제목 기반 일괄 콘텐츠 생성: 선택한 폴더 내의 모든 노트에 대해 제목을 기반으로 콘텐츠를 생성합니다(리서치 옵션 설정 준수). 성공적으로 처리된 파일은 재처리를 방지하기 위해 구성 가능한 "완료" 하위 폴더(예:
[폴더명]_complete또는 사용자 정의 이름)로 이동됩니다. - Mermaid 자동 수정 연결: Mermaid 자동 수정이 활성화된 경우, Mermaid 관련 워크플로우는 처리 후 생성된 파일이나 출력 폴더를 자동으로 수정합니다. 이는 처리, 제목 기반 생성, 제목 기반 일괄 생성, 리서치 및 요약, Mermaid로 요약, 번역 워크플로우에 적용됩니다.
유틸리티 기능
- Mermaid 다이어그램으로 요약:
- 이 기능을 사용하면 노트 내용을 Mermaid 다이어그램으로 요약할 수 있습니다.
- Mermaid 다이어그램의 출력 언어는 설정에서 사용자 정의할 수 있습니다.
- Mermaid 출력 폴더: 생성된 Mermaid 다이어그램 파일을 저장할 폴더를 구성합니다.
- Mermaid 출력 요약 번역: 생성된 Mermaid 다이어그램 내용을 구성된 대상 언어로 번역할 수 있는 옵션입니다.
-
간단한 수식 형식 수정:
- 단일
$로 구분된 한 줄 수식을 표준 이중$$블록으로 신속하게 수정합니다. - 단일 파일: 사이드바 버튼 또는 명령 팔레트를 통해 현재 파일을 처리합니다.
- 일괄 수정: 사이드바 버튼 또는 명령 팔레트를 통해 선택한 폴더의 모든 파일을 처리합니다.
- 단일
-
현재 파일의 중복 체크: 이 명령은 활성 파일 내에서 잠재적인 중복 용어를 식별하는 데 도움이 됩니다.
-
중복 감지: 현재 처리 중인 파일 내용 내의 중복 단어에 대한 기본 체크(결과는 콘솔에 기록됨).
-
중복 개념 노트 체크 및 제거: 폴더 외부의 노트와 비교하여 정확한 이름 일치, 복수형, 정규화 및 단일 단어 포함 여부를 기반으로 구성된 개념 노트 폴더 내의 잠재적인 중복 노트를 식별합니다. 비교 범위(개념 폴더 외부의 어떤 노트를 체크할지)는 보관함 전체, 특정 포함 폴더 또는 특정 폴더를 제외한 모든 폴더로 구성할 수 있습니다. 이유와 충돌하는 파일이 포함된 상세 목록을 제시한 다음, 식별된 중복 파일을 시스템 휴지통으로 이동하기 전에 확인을 요청합니다. 제거 중 진행 상황을 표시합니다.
-
일괄 Mermaid 수정: 사용자가 선택한 폴더 내의 모든 Markdown 파일에 Mermaid 및 LaTeX 구문 수정을 적용합니다.
- 워크플로우 준비 완료: 독립형 유틸리티로 사용하거나 사용자 정의 원클릭 워크플로우 버튼의 단계로 사용할 수 있습니다.
- 오류 보고: 처리 후에도 잠재적인 Mermaid 오류가 포함된 파일을 나열하는
mermaid_error_{foldername}.md보고서를 생성합니다. - 오류 파일 이동: 오류가 발견된 파일을 수동 검토를 위해 지정된 폴더로 이동할 수 있는 옵션입니다.
- 지능형 감지: 수정을 시도하기 전에
mermaid.parse를 사용하여 파일의 구문 오류를 지능적으로 체크함으로써 처리 시간을 절약하고 불필요한 편집을 피합니다. - 안전한 처리: 구문 수정이 Mermaid 코드 블록에만 적용되도록 보장하여 Markdown 표나 다른 콘텐츠가 실수로 수정되는 것을 방지합니다. 공격적인 디버깅 수정으로부터 표 구문(예:
| :--- |)을 보호하기 위한 강력한 보호 조치가 포함되어 있습니다. - 심층 디버그 모드: 초기 수정 후에도 오류가 남아있는 경우 고급 심층 디버그 모드가 실행됩니다. 이 모드는 다음과 같은 복잡한 예외 상황을 처리합니다:
- 주석 통합: 끝에 있는 주석(
%로 시작)을 에지 레이블로 자동으로 병합합니다(예:A -- Label --> B; % Comment가A -- "Label(Comment)" --> B;로 변환됨). - 잘못된 화살표: 따옴표에 흡수된 화살표를 수정합니다(예:
A -- "Label -->" B가A -- "Label" --> B로 수정됨). - 인라인 서브그래프: 인라인 서브그래프 레이블을 에지 레이블로 변환합니다.
- 역방향 화살표 수정: 비표준
X <-- Y화살표를Y --> X로 수정합니다. - 방향 키워드 수정: 서브그래프 내부의
direction키워드가 소문자인지 확인합니다(예:Direction TB->direction TB). - 주석 변환:
//주석을 에지 레이블로 변환합니다(예:A --> B; // 주석->A -- "주석" --> B;). - 중복 레이블 수정: 반복되는 대괄호 레이블을 단순화합니다(예:
Node["레이블"]["레이블"]->Node["레이블"]). - 잘못된 화살표 수정: 잘못된 화살표 구문
--|>를 표준-->로 변환합니다. - 견고한 레이블 및 노트 처리: 특수 문자(예:
/)를 포함하는 레이블 처리를 개선하고 사용자 정의 노트 구문(note for ...)에 대한 지원을 강화하여 끝 대괄호와 같은 잔여물을 깔끔하게 제거합니다. - 고급 수정 모드: 공백, 특수 문자 또는 중첩된 대괄호를 포함하는 따옴표 없는 노드 레이블(예:
Node[레이블 [텍스트]]->Node["레이블 [텍스트]"])에 대한 견고한 수정을 포함하여 항성 진화 경로와 같은 복잡한 다이어그램과의 호환성을 보장합니다. 또한 잘못된 에지 레이블(예:--["레이블["-->를-- "레이블" -->로)도 수정합니다. 추가로 인라인 주석(Consensus --> Adaptive; # 고급 합의를Consensus -- "고급 합의" --> Adaptive로)을 변환하고 줄 끝의 불완전한 따옴표(끝의;"를"]로)를 수정합니다. - 노트 변환: 독립형note right/left of및note :주석을 표준 Mermaid 노드 정의 및 연결로 자동 변환하여(예:note right of A: text를A에 연결된NoteA["Note: text"]로 변환) 구문 오류를 방지하고 레이아웃을 개선합니다. 이제 화살표 링크(-->)와 실선 링크(---)를 모두 지원합니다. - 확장된 노트 지원:note for Node "내용"및note of Node "내용"을 표준 연결된 노트 노드로 자동 변환하여(예:Node에 연결된NoteNode[" 내용"]) 사용자 확장 구문과의 호환성을 보장합니다. - 향상된 노트 수정: 여러 개의 노트가 있을 때 별칭 문제를 방지하기 위해 일련번호(예:Note1,Note2)를 사용하여 노트 이름을 자동으로 변경합니다. - 평행사변형/도형 수정: 잘못된 노드 도형 정의(예:[/["레이블["/]를 표준["레이블"]로)를 수정하여 생성된 콘텐츠와의 호환성을 보장합니다. - 파이프 레이블 표준화: 파이프가 포함된 에지 레이블을 자동으로 수정하고 표준화하여 따옴표가 올바르게 처리되도록 합니다(예:-->|텍스트|는-->|"텍스트"|로,-->|Math|^2|는-->|"Math|^2"|로 변환). - 잘못 위치한 파이프 수정: 화살표 앞에 나타나는 잘못 위치한 에지 레이블을 수정합니다(예:
>|"레이블"| A --> B가A -->|"레이블"| B로 수정됨). - 이중 레이블 병합: 단일 에지에 있는 복잡한 이중 레이블(예:A -- 레이블1 -- 레이블2 --> B또는A -- 레이블1 -- 레이블2 --- B)을 감지하여 줄 바꿈이 포함된 하나의 깨끗한 레이블(A -- "레이블1<br>레이블2" --> B)로 병합합니다. - 따옴표 없는 레이블 수정: 문제가 될 수 있는 문자(예: 따옴표, 등호, 수학 연산자)를 포함하지만 외부 따옴표가 없는 노드 레이블에 자동으로 따옴표를 추가하여(예:Plot[Plot "A"]가Plot["Plot "A""]로 수정됨) 렌더링 오류를 방지합니다. - 중간 노드 수정: 중간 노드 정의를 포함하는 에지를 두 개의 별도 에지로 분할하여(예:A -- B[...] --> C가A --> B[...]및B[...] --> C가 됨) 유효한 Mermaid 구문을 보장합니다. - 연결된 레이블 수정: ID가 레이블과 연결된 노드 정의를 견고하게 수정합니다(예:SubdivideSubdivide...가Subdivide["Subdivide..."]가 됨). 파이프 레이블이 앞에 오거나 중복이 정확하지 않은 경우에도 알려진 노드 ID와 대조하여 유효성을 검사하여 수정합니다. - 특정 원문 텍스트 추출: - 설정에서 질문 목록을 정의합니다. - 활성 노트에서 이 질문에 답하는 원문 텍스트 세그먼트를 추출합니다. - 병합 쿼리 모드: 효율성을 높이기 위해 모든 질문을 단일 API 호출로 처리하는 옵션입니다. - 번역: 출력물에 추출된 텍스트의 번역을 포함하는 옵션입니다. - 사용자 정의 출력: 추출된 텍스트 파일의 저장 경로 및 파일명 접미사를 구성할 수 있습니다.
- 주석 통합: 끝에 있는 주석(
-
LLM 연결 테스트: 활성 제공업체의 API 설정을 검증합니다.
설치
Obsidian 마켓플레이스에서 설치 (권장)
- Obsidian Settings → Community plugins를 엽니다.
- "Restricted mode"가 꺼져 있는지 확인합니다.
- 커뮤니티 플러그인의 Browse를 클릭하고 "Notemd"를 검색합니다.
- Install을 클릭합니다.
- 설치가 완료되면 Enable을 클릭합니다.
수동 설치
- GitHub Releases 페이지에서 최신 릴리스 에셋을 다운로드합니다. 각 릴리스에는 참조용으로
README.md가 포함되어 있지만, 수동 설치에는main.js,styles.css,manifest.json만 필요합니다. - Obsidian 보관함 구성 폴더인
<YourVault>/.obsidian/plugins/로 이동합니다. notemd라는 이름의 새 폴더를 만듭니다.main.js,styles.css,manifest.json을notemd폴더에 복사합니다.- Obsidian을 재시작합니다.
- Settings → Community plugins로 이동하여 "Notemd"를 활성화합니다.
설정
플러그인 설정은 다음을 통해 액세스할 수 있습니다: Settings → Community plugins → Notemd (톱니바퀴 아이콘 클릭).
LLM 제공업체 구성
- 활성 제공업체: 드롭다운 메뉴에서 사용하려는 LLM 제공업체를 선택합니다.
- 제공업체 설정: 선택한 제공업체에 대한 특정 설정을 구성합니다:
- API 키: 대부분의 클라우드 제공업체(예: OpenAI, Anthropic, DeepSeek, Qwen, Qwen Code, Doubao, Moonshot, GLM, Z AI, MiniMax, Huawei Cloud MaaS, Baidu Qianfan, SiliconFlow, Google, Mistral, Azure OpenAI, OpenRouter, xAI, Groq, Together, Fireworks, Requesty)에 필요합니다. Ollama에는 필요하지 않습니다. 엔드포인트가 익명 또는 플레이스홀더 액세스를 허용하는 경우 LM Studio 및 일반
OpenAI Compatible프리셋에서는 선택 사항입니다. - 기준 URL / 엔드포인트: 서비스의 API 엔드포인트입니다. 기본값이 제공되지만 로컬 모델(LMStudio, Ollama), 게이트웨이(OpenRouter, Requesty, OpenAI Compatible) 또는 특정 Azure 배포의 경우 변경해야 할 수 있습니다. Azure OpenAI의 경우 필수입니다.
- 모델: 사용할 특정 모델 이름/ID입니다(예:
gpt-4o,claude-3-5-sonnet-20240620,google/gemini-flash-1.5,grok-4,moonshotai/kimi-k2-instruct-0905,accounts/fireworks/models/kimi-k2p5,anthropic/claude-3-7-sonnet-latest). 모델이 해당 엔드포인트/제공업체에서 사용 가능한지 확인하세요. - 온도: LLM 출력의 무작위성을 제어합니다(0=결정적, 1=최대 창의성). 낮은 값(예: 0.2-0.5)은 일반적으로 구조화된 작업에 더 적합합니다.
- API 버전 (Azure 전용): Azure OpenAI 배포에 필요합니다(예:
2024-02-15-preview).
- API 키: 대부분의 클라우드 제공업체(예: OpenAI, Anthropic, DeepSeek, Qwen, Qwen Code, Doubao, Moonshot, GLM, Z AI, MiniMax, Huawei Cloud MaaS, Baidu Qianfan, SiliconFlow, Google, Mistral, Azure OpenAI, OpenRouter, xAI, Groq, Together, Fireworks, Requesty)에 필요합니다. Ollama에는 필요하지 않습니다. 엔드포인트가 익명 또는 플레이스홀더 액세스를 허용하는 경우 LM Studio 및 일반
- 연결 테스트: 활성 제공업체의 "연결 테스트" 버튼을 사용하여 설정을 검증합니다. OpenAI 호환 제공업체는 이제 제공업체별 체크를 사용합니다.
Qwen,Qwen Code,Doubao,Moonshot,GLM,Z AI,MiniMax,Huawei Cloud MaaS,Baidu Qianfan,SiliconFlow,Groq,Together,Fireworks,LMStudio,OpenAI Compatible등의 엔드포인트는chat/completions를 직접 조사하는 반면, 신뢰할 수 있는/models엔드포인트를 가진 제공업체는 여전히 모델 목록을 먼저 사용할 수 있습니다. 첫 번째 조사가ERR_CONNECTION_CLOSED와 같은 일시적인 네트워크 연결 끊김으로 실패할 경우, Notemd는 즉시 실패하는 대신 자동으로 안정적인 재시도 시퀀스로 전환합니다. - 제공업체 구성 관리: "Export Providers" 및 "Import Providers" 버튼을 사용하여 LLM 제공업체 설정을 플러그인 구성 디렉토리 내의
notemd-providers.json파일에 저장하거나 불러올 수 있습니다. 이를 통해 백업 및 공유가 간편해집니다. - 프리셋 범위: 기존 제공업체 외에도 Notemd는 이제
Qwen,Qwen Code,Doubao,Moonshot,GLM,Z AI,MiniMax,Huawei Cloud MaaS,Baidu Qianfan,SiliconFlow,xAI,Groq,Together,Fireworks,Requesty및 LiteLLM, vLLM, Perplexity, Vercel AI Gateway 또는 사용자 정의 프록시를 위한 일반OpenAI Compatible타겟에 대한 프리셋 항목을 포함합니다.
멀티 모델 구성
- 작업에 서로 다른 제공업체 사용:
- 비활성화 (기본값): 모든 작업에 대해 위에서 선택한 단일 "활성 제공업체"를 사용합니다.
- 활성화: 각 작업("링크 추가", "리서치 및 요약", "제목에서 생성", "번역", "개념 추출")에 대해 특정 제공업체를 선택하고 선택적으로 모델 이름을 덮어쓸 수 있습니다. 작업의 모델 덮어쓰기 필드를 비워 두면 해당 작업의 선택된 제공업체에 구성된 기본 모델이 사용됩니다.
- 서로 다른 작업에 서로 다른 언어 선택:
- 비활성화 (기본값): 모든 작업에 대해 단일 "출력 언어"를 사용합니다.
- 활성화: 각 작업("링크 추가", "리서치 및 요약", "제목에서 생성", "Mermaid 다이어그램으로 요약", "개념 추출")에 대해 특정 언어를 선택할 수 있습니다.
언어 아키텍처 (인터페이스 언어 vs 작업 출력 언어)
- 인터페이스 언어는 플러그인 인터페이스 텍스트(설정 레이블, 사이드바 버튼, 알림 및 대화 상자)만 제어합니다. 기본
auto모드는 Obsidian의 현재 UI 언어를 따릅니다. - 지역별 또는 문자 체계 변형은 이제 곧바로 영어로 떨어지지 않고 가장 가까운 출시된 카탈로그로 매핑됩니다. 예를 들어
fr-CA는 프랑스어,es-419는 스페인어,pt-PT는 포르투갈어,zh-Hans는 중국어 간체,zh-Hant-HK는 중국어 번체를 사용합니다. - 작업 출력 언어는 모델에 의해 생성된 작업 결과물(링크, 요약, 제목 생성, Mermaid 요약, 개념 추출, 번역 대상)을 제어합니다.
- 작업별 언어 모드를 사용하면 모듈별로 흩어진 덮어쓰기 대신 통합된 정책 레이어에서 각 작업이 자체 출력 언어를 결정할 수 있습니다.
- 자동 번역 비활성화는 번역 이외의 작업을 원래 언어 문맥으로 유지하는 반면, 명시적인 번역 작업은 구성된 대상 언어를 계속 적용합니다.
- Mermaid 관련 생성 경로는 동일한 언어 정책을 따르며, 활성화된 경우 여전히 Mermaid 자동 수정을 실행할 수 있습니다.
안정적인 API 호출 설정
- 안정적인 API 호출 활성화 (재시도 로직):
- 비활성화 (기본값): 단일 API 호출이 실패하면 현재 작업이 중단됩니다.
- 활성화: 실패한 LLM API 호출을 자동으로 재시도합니다(간헐적인 네트워크 문제나 속도 제한에 유용함).
- 연결 테스트 폴백: 일반 호출이 이미 안정 모드에서 실행되고 있지 않더라도, 제공업체 연결 테스트는 첫 번째 일시적 네트워크 오류 이후 동일한 재시도 시퀀스로 전환됩니다.
- 실행 환경 전송 폴백 (환경 인식):
requestUrl을 통해 일시적으로 끊기는 장기 작업 요청은 이제 먼저 환경 인식 폴백을 통해 동일한 시도를 재시도합니다. 데스크톱 빌드는 Nodehttp/https를 사용하고, 비데스크톱 환경은 브라우저fetch를 사용합니다. 이러한 폴백 시도는 이제 기본 제공 LLM 경로에서 프로토콜 인식 스트리밍 파싱을 사용하여 OpenAI 호환 SSE, Azure OpenAI SSE, Anthropic 메시지 SSE, Google Gemini SSE 및 Ollama NDJSON 출력을 지원하므로 느린 게이트웨이가 본문 청크를 더 일찍 반환할 수 있습니다. 나머지 OpenAI 스타일 직접 제공업체 진입점은 동일한 공유 폴백 경로를 재사용합니다. - OpenAI 호환 안정적 순서: 안정 모드에서 각 OpenAI 호환 시도는 실패한 시도로 계산되기 전에
직접 스트리밍 -> 직접 버퍼 -> requestUrl (필요시 스트리밍 폴백 포함)순서를 따릅니다. 이는 하나의 전송 모드만 불안정한 경우의 과도하게 공격적인 실패를 방지합니다.
- 재시도 간격 (초): (활성화된 경우에만 표시) 재시도 시도 사이의 대기 시간(1-300초)입니다. 기본값: 5.
- 최대 재시도 횟수: (활성화된 경우에만 표시) 최대 재시도 시도 횟수(0-10)입니다. 기본값: 3.
- API 오류 디버깅 모드:
- 비활성화 (기본값): 표준적이고 간결한 오류 보고를 사용합니다.
- 활성화: 모든 제공업체 및 작업(번역, 검색 및 연결 테스트 포함)에 대해 상세한 오류 로깅(DeepSeek의 상세 출력과 유사)을 활성화합니다. 여기에는 HTTP 상태 코드, 원시 응답 텍스트, 요청 전송 타임라인, 삭제된 요청 URL 및 헤더, 경과된 시도 시간, 응답 헤더, 부분 응답 본문, 파싱된 부분 스트림 출력 및 스택 추적이 포함되며, 이는 API 연결 문제 및 상위 게이트웨이 재설정을 해결하는 데 중요합니다.
- 개발자 모드:
- 비활성화 (기본값): 일반 사용자에게 모든 개발자 전용 진단 컨트롤을 숨깁니다.
- 활성화: 설정에 개발자 전용 진단 패널을 표시합니다.
- 개발자 제공업체 진단 (장기 요청):
- 진단 호출 모드: 조사별 실행 경로를 선택합니다. OpenAI 호환 제공업체는 실행 환경 모드 외에도 추가적인 강제 모드(
직접 스트리밍,직접 버퍼,requestUrl-only)를 지원합니다. - 진단 실행: 선택한 호출 모드로 장기 요청 조사를 실행하고 보관함 루트에
Notemd_Provider_Diagnostic_*.txt를 작성합니다. - 안정성 테스트 실행: 선택한 호출 모드를 사용하여 구성 가능한 횟수(1-10)만큼 조사를 반복하고 집계된 안정성 보고서를 저장합니다.
- 진단 타임아웃: 실행당 구성 가능한 타임아웃(15-3600초)입니다.
- 사용 이유: 제공업체가 "연결 테스트"는 통과하지만 실제 장기 작업(예: 느린 게이트웨이에서의 번역)에서 실패할 때 수동 재현보다 빠릅니다.
- 진단 호출 모드: 조사별 실행 경로를 선택합니다. OpenAI 호환 제공업체는 실행 환경 모드 외에도 추가적인 강제 모드(
일반 설정
처리된 파일 출력
-
처리된 파일 저장 경로 사용자 정의:
- 비활성화 (기본값): 처리된 파일(예:
YourNote_processed.md)은 원본 노트와 같은 폴더에 저장됩니다. - 활성화: 사용자 정의 저장 위치를 지정할 수 있습니다.
- 비활성화 (기본값): 처리된 파일(예:
-
처리된 파일 폴더 경로: (위 옵션이 활성화된 경우에만 표시) 처리된 파일이 저장될 보관함 내의 상대 경로(예:
Processed Notes또는Output/LLM)를 입력합니다. 폴더가 없으면 자동으로 생성됩니다. 절대 경로(C:... 등)나 잘못된 문자를 사용하지 마세요. -
'링크 추가'에 사용자 정의 출력 파일명 사용:
- 비활성화 (기본값): '링크 추가' 명령으로 생성된 처리된 파일은 기본 접미사인
_processed.md를 사용합니다(예:YourNote_processed.md). - 활성화: 아래 설정을 사용하여 출력 파일명을 사용자 정의할 수 있습니다.
- 비활성화 (기본값): '링크 추가' 명령으로 생성된 처리된 파일은 기본 접미사인
-
사용자 정의 접미사/교체 문자열: (위 옵션이 활성화된 경우에만 표시) 출력 파일명에 사용할 문자열을 입력합니다.
- 비워 두면 원본 파일이 처리된 내용으로 덮어씌워집니다.
- 문자열(예:
_linked)을 입력하면 원본 기본 이름 뒤에 추가됩니다(예:YourNote_linked.md). 접미사에 잘못된 파일명 문자가 포함되지 않도록 하세요.
-
링크 추가 시 코드 펜스 제거:
- 비활성화 (기본값): 링크 추가 시 내용 내의 코드 펜스**(`\``)**는 유지되고, **(`\`markdown)**은 자동으로 삭제됩니다.
- 활성화: 링크 추가 전 내용에서 코드 펜스를 제거합니다.
개념 노트 출력
- 개념 노트 경로 사용자 정의:
- 비활성화 (기본값):
[[연결된 개념]]에 대한 자동 노트 생성이 비활성화됩니다. - 활성화: 새 개념 노트가 생성될 폴더를 지정할 수 있습니다.
- 비활성화 (기본값):
- 개념 노트 폴더 경로: (위 옵션이 활성화된 경우에만 표시) 새 개념 노트가 저장될 보관함 내의 상대 경로(예:
Concepts또는Generated/Topics)를 입력합니다. 폴더가 없으면 자동으로 생성됩니다. 사용자 정의가 활성화된 경우 반드시 입력해야 합니다. 절대 경로나 잘못된 문자를 사용하지 마세요.
개념 로그 파일 출력
- 개념 로그 파일 생성:
- 비활성화 (기본값): 로그 파일이 생성되지 않습니다.
- 활성화: 처리 후 새로 생성된 개념 노트를 나열하는 로그 파일을 만듭니다. 형식은 다음과 같습니다:
xx개의 개념 md 파일 생성 1. concepts1 2. concepts2 ... n. conceptsn
- 로그 파일 저장 경로 사용자 정의: ("개념 로그 파일 생성"이 활성화된 경우에만 표시)
- 비활성화 (기본값): 로그 파일은 지정된 경우 개념 노트 폴더 경로에 저장되고, 그렇지 않으면 보관함 루트에 저장됩니다.
- 활성화: 로그 파일용 사용자 정의 폴더를 지정할 수 있습니다.
- 개념 로그 폴더 경로: (위 옵션이 활성화된 경우에만 표시) 로그 파일이 저장될 보관함 내의 상대 경로(예:
Logs/Notemd)를 입력합니다. 사용자 정의가 활성화된 경우 반드시 입력해야 합니다. - 로그 파일명 사용자 정의: ("개념 로그 파일 생성"이 활성화된 경우에만 표시)
- 비활성화 (기본값): 로그 파일명은
Generate.log입니다. - 활성화: 로그 파일에 사용자 정의 이름을 지정할 수 있습니다.
- 비활성화 (기본값): 로그 파일명은
- 개념 로그 파일명: (위 옵션이 활성화된 경우에만 표시) 원하는 파일명(예:
ConceptCreation.log)을 입력합니다. 사용자 정의가 활성화된 경우 반드시 입력해야 합니다.
개념 추출 작업
- 최소한의 개념 노트 생성:
- 활성화 (기본값): 새로 생성된 개념 노트에는 제목만 포함됩니다(예:
# 개념). - 비활성화: 아래 설정으로 비활성화하지 않는 한, 개념 노트에 "연결된 소스" 백링크와 같은 추가 내용이 포함될 수 있습니다.
- 활성화 (기본값): 새로 생성된 개념 노트에는 제목만 포함됩니다(예:
- "연결된 소스" 백링크 추가:
- 비활성화 (기본값): 추출 중 개념 노트에 소스 문서에 대한 백링크를 추가하지 않습니다.
- 활성화: 소스 파일에 대한 백링크가 포함된 "연결된 소스" 섹션을 추가합니다.
특정 원문 텍스트 추출
- 추출 질문: AI가 노트에서 문자 그대로의 답변을 추출하기를 원하는 질문 목록을 입력합니다(한 줄에 하나씩).
- 결과물을 해당 언어로 번역:
- 비활성화 (기본값): 추출된 텍스트만 원래 언어로 출력합니다.
- 활성화: 이 작업에서 선택된 언어로 추출된 텍스트의 번역을 추가합니다.
- 병합 쿼리 모드:
- 비활성화: 각 질문을 개별적으로 처리합니다(정확도는 높지만 API 호출이 많음).
- 활성화: 모든 질문을 단일 프롬프트로 보냅니다(빠르고 API 호출이 적음).
- 추출된 텍스트 저장 경로 및 파일명 사용자 정의:
- 비활성화: 원본 파일과 같은 폴더에 접미사
_Extracted를 붙여 저장합니다. - 활성화: 사용자 정의 출력 폴더 및 파일명 접미사를 지정할 수 있습니다.
- 비활성화: 원본 파일과 같은 폴더에 접미사
일괄 Mermaid 수정
- Mermaid 오류 감지 활성화:
- 비활성화 (기본값): 처리 후 오류 감지를 건너뜁니다.
- 활성화: 처리된 파일에서 남은 Mermaid 구문 오류를 스캔하고
mermaid_error_{foldername}.md보고서를 생성합니다.
- Mermaid 오류가 있는 파일을 지정된 폴더로 이동:
- 비활성화: 오류가 있는 파일이 제자리에 유지됩니다.
- 활성화: 수정 시도 후에도 여전히 Mermaid 구문 오류가 포함된 파일을 수동 검토를 위해 전용 폴더로 이동합니다.
- Mermaid 오류 폴더 경로: (위 옵션이 활성화된 경우에만 표시) 오류 파일을 이동할 폴더입니다.
처리 매개변수
- 일괄 병렬화 활성화:
- 비활성화 (기본값): 일괄 처리 작업("폴더 처리" 또는 "제목에서 일괄 생성" 등)은 파일을 하나씩(순차적으로) 처리합니다.
- 활성화: 플러그인이 여러 파일을 동시에 처리할 수 있도록 허용하며, 이는 대규모 일괄 작업 속도를 크게 높일 수 있습니다.
- 일괄 동시성: (병렬화가 활성화된 경우에만 표시) 동시에 처리할 최대 파일 수를 설정합니다. 숫자가 높을수록 빨라질 수 있지만 리소스를 더 많이 사용하고 API 속도 제한에 걸릴 수 있습니다. (기본값: 1, 범위: 1-20)
- 일괄 크기: (병렬화가 활성화된 경우에만 표시) 단일 배치로 그룹화할 파일 수입니다. (기본값: 50, 범위: 10-200)
- 배치 간 지연 (ms): (병렬화가 활성화된 경우에만 표시) 각 배치 처리 사이의 선택적 지연 시간(밀리초)으로, API 속도 제한을 관리하는 데 도움이 됩니다. (기본값: 1000ms)
- API 호출 간격 (ms): 각 개별 LLM API 호출 전후의 최소 지연 시간(밀리초)입니다. 저속 API나 429 오류 방지에 중요합니다. 인위적인 지연을 없애려면 0으로 설정하세요. (기본값: 500ms)
- 청크 단어 수: LLM으로 전송되는 각 청크의 최대 단어 수입니다. 대용량 파일의 API 호출 횟수에 영향을 미칩니다. (기본값: 3000)
- 중복 감지 활성화: 처리 중인 내용 내에서 중복 단어에 대한 기본 체크 여부를 전환합니다(결과는 콘솔에 표시). (기본값: 활성화)
- 최대 토큰 수: 각 응답 청크에 대해 LLM이 생성해야 하는 최대 토큰 수입니다. 비용과 상세도에 영향을 미칩니다. (기본값: 4096)
번역
- 기본 대상 언어: 노트를 번역할 기본 언어를 선택합니다. 번역 명령을 실행할 때 UI에서 덮어쓸 수 있습니다. (기본값: 영어)
- 번역된 파일 저장 경로 사용자 정의:
- 비활성화 (기본값): 번역된 파일은 원본 노트와 같은 폴더에 저장됩니다.
- 활성화: 번역된 파일이 저장될 보관함 내의 상대 경로(예:
Translations)를 지정할 수 있습니다. 폴더가 없으면 생성됩니다.
- 번역된 파일에 사용자 정의 접미사 사용:
- 비활성화 (기본값): 번역된 파일은 기본 접미사인
_translated.md를 사용합니다(예:YourNote_translated.md). - 활성화: 사용자 정의 접미사를 지정할 수 있습니다.
- 비활성화 (기본값): 번역된 파일은 기본 접미사인
- 사용자 정의 접미사: (위 옵션이 활성화된 경우에만 표시) 번역된 파일명에 추가할 사용자 정의 접미사를 입력합니다(예:
_ko또는_en).
콘텐츠 생성
- "제목에서 생성" 시 리서치 활성화:
- 비활성화 (기본값): "제목에서 생성" 시 제목만 입력으로 사용합니다.
- 활성화: 구성된 웹 리서치 제공업체를 사용하여 웹 리서치를 수행하고, 제목 기반 생성 중 LLM 프롬프트에 문맥으로 결과를 포함합니다.
- 생성 후 자동으로 Mermaid 구문 수정 실행:
- 활성화 (기본값): 처리, 제목에서 생성, 제목에서 일괄 생성, 리서치 및 요약, Mermaid로 요약, 번역과 같은 Mermaid 관련 워크플로우 후에 자동으로 Mermaid 구문 수정을 실행합니다.
- 비활성화: 생성된 Mermaid 출력을 그대로 둡니다. 수동으로
일괄 Mermaid 수정을 실행하거나 사용자 정의 워크플로우에 추가해야 합니다.
- 출력 언어: (신규) "제목에서 생성" 및 "제목에서 일괄 생성" 작업에 대해 원하는 출력 언어를 선택합니다.
- 영어 (기본값): 프롬프트가 영어로 처리되고 출력됩니다.
- 기타 언어: LLM이 영어로 추론을 수행하되 최종 문서는 선택한 언어(예: 스페인어, 프랑스어, 한국어, 아랍어, 힌디어 등)로 제공하도록 지시합니다.
- 프롬프트 단어 변경: (신규)
- 프롬프트 단어 변경: 특정 작업에 대한 프롬프트 단어를 변경할 수 있습니다.
- 사용자 정의 프롬프트 단어: 작업에 대한 사용자 정의 프롬프트 단어를 입력합니다.
- "제목에서 생성"에 사용자 정의 출력 폴더 사용:
- 비활성화 (기본값): 성공적으로 생성된 파일은 원본 폴더의 상위 폴더를 기준으로
[원본폴더명]_complete라는 하위 폴더로 이동됩니다(원본 폴더가 루트인 경우Vault_complete). - 활성화: 완료된 파일이 이동될 하위 폴더의 사용자 정의 이름을 지정할 수 있습니다.
- 비활성화 (기본값): 성공적으로 생성된 파일은 원본 폴더의 상위 폴더를 기준으로
- 사용자 정의 출력 폴더명: (위 옵션이 활성화된 경우에만 표시) 하위 폴더의 원하는 이름(예:
Generated Content,_complete)을 입력합니다. 잘못된 문자는 허용되지 않습니다. 비워 두면 기본값은_complete입니다. 이 폴더는 원본 폴더의 상위 디렉토리를 기준으로 생성됩니다.
원클릭 워크플로우 버튼
- 시각적 워크플로우 빌더: DSL을 직접 작성할 필요 없이 기본 제공 작업에서 사용자 정의 워크플로우 버튼을 만들고, 편집하고, 순서를 정할 수 있습니다.
- 사용자 정의 워크플로우 버튼 DSL: 고급 사용자는 여전히 워크플로우 정의 텍스트를 직접 편집할 수 있습니다. 잘못된 DSL은 안전하게 기본 워크플로우로 폴백하며 사이드바/설정 UI에 경고를 표시합니다.
- 워크플로우 오류 전략:
- 오류 시 중지 (기본값): 단계가 실패하면 워크플로우를 즉시 중단합니다.
- 오류 시 계속: 이후 단계의 실행을 계속하고 마지막에 실패한 작업 수를 보고합니다.
- 기본 워크플로우 포함:
One-Click Extract는파일 처리 (링크 추가)->제목에서 일괄 생성->일괄 Mermaid 수정을 차례로 실행합니다.
사용자 정의 프롬프트 설정
이 기능을 사용하면 특정 작업에 대해 LLM으로 전송되는 기본 지침(프롬프트)을 덮어써서 결과물을 세밀하게 제어할 수 있습니다.
-
특정 작업에 대한 사용자 정의 프롬프트 활성화:
- 비활성화 (기본값): 플러그인은 모든 작업에 대해 기본 제공되는 기본 프롬프트를 사용합니다.
- 활성화: 아래에 나열된 작업에 대해 사용자 정의 프롬프트를 설정하는 기능을 활성화합니다. 이것이 이 기능의 마스터 스위치입니다.
-
[작업 이름]에 사용자 정의 프롬프트 사용: (위 옵션이 활성화된 경우에만 표시)
- 지원되는 각 작업("링크 추가", "제목에서 생성", "리서치 및 요약", "개념 추출")에 대해 사용자 정의 프롬프트를 개별적으로 활성화하거나 비활성화할 수 있습니다.
- 비활성화: 이 특정 작업은 기본 프롬프트를 사용합니다.
- 활성화: 이 작업은 아래 해당 "사용자 정의 프롬프트" 텍스트 영역에 입력한 텍스트를 사용합니다.
-
사용자 정의 프롬프트 텍스트 영역: (작업의 사용자 정의 프롬프트가 활성화된 경우에만 표시)
- 기본 프롬프트 표시: 참고를 위해 플러그인이 해당 작업에 일반적으로 사용하는 기본 프롬프트가 표시됩니다. "Copy Default Prompt" 버튼을 사용하여 이 텍스트를 복사하고 나만의 사용자 정의 프롬프트를 위한 시작점으로 삼을 수 있습니다.
- 사용자 정의 프롬프트 입력: 여기에 LLM에 대한 나만의 지침을 작성할 수 있습니다.
- 플레이스홀더: 프롬프트에서 특수 플레이스홀더를 사용할 수 있으며(사용해야 합니다), 플러그인은 요청을 LLM으로 보내기 전에 이를 실제 내용으로 대체합니다. 각 작업에서 사용 가능한 플레이스홀더는 기본 프롬프트를 참조하세요. 일반적인 플레이스홀더는 다음과 같습니다:
{TITLE}: 현재 노트의 제목.{RESEARCH_CONTEXT_SECTION}: 웹 리서치에서 수집된 내용.{USER_PROMPT}: 처리 중인 노트의 내용.
중복 체크 범위
- 중복 체크 범위 모드: 개념 노트 폴더의 노트를 잠재적인 중복을 찾기 위해 어떤 파일과 비교할지 제어합니다.
- 보관함 전체 (기본값): 개념 노트를 보관함의 다른 모든 노트와 비교합니다(개념 노트 폴더 자체는 제외).
- 특정 폴더만 포함: 아래 나열된 폴더 내의 노트와만 개념 노트를 비교합니다.
- 특정 폴더 제외: 아래 나열된 폴더(및 개념 노트 폴더)를 제외한 모든 노트와 개념 노트를 비교합니다.
- 개념 폴더만: 개념 노트를 개념 노트 폴더 내의 다른 노트와만 비교합니다. 이는 생성된 개념 내에서만 중복을 찾는 데 유용합니다.
- 폴더 포함/제외: (모드가 '포함' 또는 '제외'인 경우에만 표시) 포함하거나 제외할 폴더의 상대 경로를 한 줄에 하나씩 입력합니다. 경로는 대소문자를 구분하며
/를 구분자로 사용합니다(예:Reference Material/Papers또는Daily Notes). 이 폴더들은 개념 노트 폴더와 같거나 그 내부에 있어서는 안 됩니다.
웹 리서치 제공업체
- 검색 제공업체:
Tavily(API 키 필요, 권장)와DuckDuckGo(실험적, 검색 엔진에 의해 자동 요청이 자주 차단됨) 중에서 선택합니다. "주제 리서치 및 요약" 및 선택적으로 "제목에서 생성"에 사용됩니다. - Tavily API 키: (Tavily 선택 시에만 표시) tavily.com에서 받은 API 키를 입력합니다.
- Tavily 최대 결과 수: (Tavily 선택 시에만 표시) Tavily가 반환해야 하는 검색 결과의 최대 개수(1-20)입니다. 기본값: 5.
- Tavily 검색 깊이: (Tavily 선택 시에만 표시)
basic(기본값) 또는advanced중에서 선택합니다. 참고:advanced는 더 나은 결과를 제공하지만 검색당 1개가 아닌 2개의 API 크레딧을 소비합니다. - DuckDuckGo 최대 결과 수: (DuckDuckGo 선택 시에만 표시) 분석할 검색 결과의 최대 개수(1-10)입니다. 기본값: 5.
- DuckDuckGo 내용 가져오기 타임아웃: (DuckDuckGo 선택 시에만 표시) 각 DuckDuckGo 결과 URL에서 내용을 가져오려고 시도할 때 기다릴 최대 시간(초)입니다. 기본값: 15.
- 최대 리서치 내용 토큰 수: 요약 프롬프트에 포함할 통합 웹 리서치 결과(스니펫/가져온 내용)의 대략적인 최대 토큰 수입니다. 문맥 창 크기와 비용을 관리하는 데 도움이 됩니다. (기본값: 3000)
집중 학습 분야
- 집중 학습 분야 활성화:
- 비활성화 (기본값): LLM으로 전송되는 프롬프트에 표준적인 일반 지침을 사용합니다.
- 활성화: LLM의 문맥 이해도를 높이기 위해 하나 이상의 연구 분야를 지정할 수 있습니다.
- 학습 분야: (위 옵션이 활성화된 경우에만 표시) 특정 분야를 입력합니다(예: '재료 과학', '고분자 물리학', '기계 학습'). 이렇게 하면 프롬프트 시작 부분에 "관련 분야: [...]"라는 줄이 추가되어 LLM이 특정 연구 분야에 대해 더 정확하고 관련성 높은 링크와 콘텐츠를 생성하는 데 도움이 됩니다.
사용 가이드
빠른 워크플로우 및 새로운 사이드바
- Notemd 사이드바를 열어 핵심 처리, 생성, 번역, 지식 관리, 유틸리티를 위한 그룹화된 작업 섹션에 액세스하세요.
- 사이드바 상단의 빠른 워크플로 영역을 사용하여 사용자 정의 다단계 버튼을 실행하세요.
- 기본 One-Click Extract 워크플로우는
파일 처리 (링크 추가)->제목에서 일괄 생성->일괄 Mermaid 수정을 실행합니다. - 워크플로우 진행 상황, 단계별 로그 및 실패 정보가 사이드바에 표시되며, 고정된 바닥글은 확장된 섹션에 의해 진행률 표시줄과 로그 영역이 밀려나지 않도록 보호합니다.
- 진행 상황 카드는 상태 텍스트, 전용 백분율 표시 및 남은 시간을 한눈에 확인할 수 있도록 유지하며, 동일한 사용자 정의 워크플로우를 설정에서 다시 구성할 수 있습니다.
기존 처리 (위키 링크 추가)
개념을 식별하고 [[wiki-links]]를 추가하는 데 중점을 둔 핵심 기능입니다.
중요: 이 프로세스는 .md 또는 .txt 파일에서만 작동합니다. PDF 파일은 추가 처리 전에 Mineru 등을 사용하여 무료로 MD 파일로 변환할 수 있습니다.
- 사이드바 사용:
- Notemd 사이드바를 엽니다(마법 지팡이 아이콘 또는 명령 팔레트).
.md또는.txt파일을 엽니다.- **"파일 처리 (링크 추가)" (Process File (Add Links))**를 클릭합니다.
- 폴더 처리 시: **"폴더 처리 (링크 추가)" (Process Folder (Add Links))**를 클릭하고 폴더를 선택한 다음 "Process"를 클릭합니다.
- 진행 상황이 사이드바에 표시됩니다. 사이드바의 "Cancel Processing" 버튼을 사용하여 작업을 취소할 수 있습니다.
- 폴더 처리 참고: 파일은 에디터에서 열리지 않고 백그라운드에서 처리됩니다.
- 명령 팔레트 사용(
Ctrl+P또는Cmd+P):- 단일 파일: 파일을 열고
Notemd: Process Current File을 실행합니다. - 폴더:
Notemd: Process Folder를 실행한 다음 폴더를 선택합니다. 파일은 에디터에서 열리지 않고 백그라운드에서 처리됩니다. - 명령 팔레트 작업 시 취소 버튼이 포함된 진행률 모달이 나타납니다.
- 참고: 플러그인은 저장 전 최종 처리된 내용에서 발견되는 시작 줄
\boxed{와 끝 줄}을 자동으로 삭제합니다.
- 단일 파일: 파일을 열고
신규 기능
-
Mermaid 다이어그램으로 요약:
- 요약하려는 노트를 엽니다.
Notemd: Summarise as Mermaid diagram명령을 실행합니다(명령 팔레트 또는 사이드바 버튼 이용).- 플러그인이 Mermaid 다이어그램이 포함된 새 노트를 생성합니다.
-
노트/선택 영역 번역:
- 노트에서 텍스트를 선택하여 해당 선택 영역만 번역하거나, 선택 없이 명령을 호출하여 노트 전체를 번역합니다.
Notemd: Translate Note/Selection명령을 실행합니다(명령 팔레트 또는 사이드바 버튼 이용).- 대상 언어(설정에 지정된 값이 기본값)를 확인하거나 변경할 수 있는 모달이 나타납니다.
- 플러그인은 구성된 LLM 제공업체(멀티 모델 설정 기반)를 사용하여 번역을 수행합니다.
- 번역된 내용은 적절한 접미사와 함께 구성된 번역 저장 경로에 저장되며, 쉽게 비교할 수 있도록 원본 내용 오른쪽의 새 창에서 열립니다.
- 사이드바 버튼이나 모달의 취소 버튼을 통해 이 작업을 취소할 수 있습니다.
-
일괄 번역:
- 명령 팔레트에서
Notemd: Batch Translate Folder를 실행하고 폴더를 선택하거나, 파일 탐색기에서 폴더를 마우스 오른쪽 버튼으로 클릭하고 "이 폴더 일괄 번역"을 선택합니다. - 플러그인이 선택한 폴더 내의 모든 Markdown 파일을 번역합니다.
- 번역된 파일은 구성된 번역 경로에 저장되지만 자동으로 열리지는 않습니다.
- 이 프로세스는 진행률 모달을 통해 취소할 수 있습니다.
- 명령 팔레트에서
- 주제 리서치 및 요약:
- 노트에서 텍스트를 선택하거나 노트에 제목이 있는지 확인합니다(이것이 검색 주제가 됩니다).
Notemd: Research and Summarize Topic명령을 실행합니다(명령 팔레트 또는 사이드바 버튼 이용).- 플러그인은 구성된 검색 제공업체(Tavily/DuckDuckGo)와 적절한 LLM 제공업체(멀티 모델 설정 기반)를 사용하여 정보를 찾아 요약합니다.
- 요약 내용이 현재 노트에 추가됩니다.
- 사이드바 버튼이나 모달의 취소 버튼을 통해 이 작업을 취소할 수 있습니다.
- 참고: DuckDuckGo 검색은 봇 감지로 인해 실패할 수 있습니다. Tavily를 권장합니다.
-
제목에서 콘텐츠 생성:
- 노트를 엽니다(빈 노트여도 무방합니다).
Notemd: Generate Content from Title명령을 실행합니다(명령 팔레트 또는 사이드바 버튼 이용).- 플러그인은 적절한 LLM 제공업체(멀티 모델 설정 기반)를 사용하여 노트 제목을 기반으로 콘텐츠를 생성하고 기존 내용을 대체합니다.
- "제목에서 생성" 시 리서치 활성화" 설정이 켜져 있으면, 먼저 웹 리서치를 수행하고(구성된 웹 리서치 제공업체 사용) 해당 문맥을 LLM으로 전송되는 프롬프트에 포함합니다.
- 사이드바 버튼이나 모달의 취소 버튼을 통해 이 작업을 취소할 수 있습니다.
-
제목에서 일괄 콘텐츠 생성:
Notemd: Batch Generate Content from Titles명령을 실행합니다(명령 팔레트 또는 사이드바 버튼 이용).- 처리하려는 노트가 포함된 폴더를 선택합니다.
- 플러그인은 폴더 내의 각
.md파일(_processed.md파일 및 지정된 "완료" 폴더 내 파일 제외)을 순회하며 노트 제목을 기반으로 콘텐츠를 생성하고 기존 내용을 대체합니다. 파일은 에디터에서 열리지 않고 백그라운드에서 처리됩니다. - 성공적으로 처리된 파일은 구성된 "완료" 폴더로 이동됩니다.
- 이 명령은 처리되는 각 노트에 대해 "제목에서 생성" 시 리서치 활성화" 설정을 준수합니다.
- 사이드바 버튼이나 모달의 취소 버튼을 통해 이 작업을 취소할 수 있습니다.
- 진행 상황과 결과(수정된 파일 수, 오류)가 사이드바 로그/모달에 표시됩니다.
-
중복 개념 노트 체크 및 제거:
- 설정에서 개념 노트 폴더 경로가 올바르게 구성되었는지 확인합니다.
Notemd: Check and Remove Duplicate Concept Notes를 실행합니다(명령 팔레트 또는 사이드바 버튼 이용).- 플러그인은 개념 노트 폴더를 스캔하고 여러 규칙(정확한 일치, 복수형, 정규화, 포함)을 사용하여 파일 이름을 폴더 외부의 노트와 비교합니다.
- 잠재적인 중복이 발견되면 파일 목록, 플래그 지정 이유 및 충돌하는 파일이 나열된 모달 창이 나타납니다.
- 목록을 주의 깊게 검토하세요. 식별된 중복 파일을 시스템 휴지통으로 이동하려면 **"Delete Files"**를 클릭하고, 아무 작업도 하지 않으려면 **"Cancel"**을 클릭합니다.
- 진행 상황과 결과가 사이드바 로그/모달에 표시됩니다.
-
개념 추출 (순수 모드):
- 이 기능을 사용하면 원본 파일을 변경하지 않고 문서에서 개념을 추출하고 해당 개념 노트를 생성할 수 있습니다. 일련의 문서에서 지식 베이스를 신속하게 구축하는 데 완벽합니다.
- 단일 파일: 파일을 열고 명령 팔레트에서
Notemd: Extract concepts (create concept notes only)명령을 실행하거나 사이드바의 "개념 추출 (현재 파일)" (Extract concepts (current file)) 버튼을 클릭합니다. - 폴더: 명령 팔레트에서
Notemd: Batch extract concepts from folder명령을 실행하거나 사이드바의 "개념 추출 (폴더)" (Extract concepts (folder)) 버튼을 클릭한 다음 폴더를 선택하여 그 안의 모든 노트를 처리합니다. - 플러그인이 파일을 읽고 개념을 식별하여 지정된 개념 노트 폴더에 새 노트를 생성하며, 원본 파일은 그대로 유지됩니다.
-
선택 영역에서 위키 링크 생성 및 노트 생성:
- 이 강력한 명령은 새 개념 노트를 만들고 내용을 채우는 과정을 간소화합니다.
- 에디터에서 단어나 문구를 선택합니다.
Notemd: Create Wiki-Link & Generate Note from Selection명령을 실행합니다(이 명령에Cmd+Shift+W와 같은 단축키를 할당하는 것이 좋습니다).- 플러그인은 다음과 같이 동작합니다:
- 선택한 텍스트를
[[wiki-link]]로 대체합니다. - 개념 노트 폴더 내에 해당 제목의 노트가 이미 존재하는지 체크합니다.
- 존재한다면 현재 노트에 대한 백링크를 추가합니다.
- 존재하지 않는다면 새 빈 노트를 만듭니다.
- 그런 다음 새 노트 또는 기존 노트에 대해 "Generate Content from Title" 명령을 자동으로 실행하여 AI가 생성한 내용을 채웁니다.
- 선택한 텍스트를
-
개념 추출 및 제목 생성:
- 이 명령은 간소화된 워크플로우를 위해 두 가지 강력한 기능을 결합합니다.
- 명령 팔레트에서
Notemd: Extract Concepts and Generate Titles를 실행합니다(단축키 할당을 권장합니다). - 플러그인은 다음과 같이 동작합니다:
- 먼저, 현재 활성 파일에 대해 "개념 추출 (현재 파일)" (Extract concepts (current file)) 작업을 실행합니다.
- 그런 다음, 설정에서 개념 노트 폴더 경로로 지정한 폴더에 대해 "제목에서 일괄 생성" (Batch generate from titles) 작업을 자동으로 실행합니다.
- 이를 통해 먼저 소스 문서에서 새 개념을 추출하여 지식 베이스를 구축한 다음, 한 번의 단계로 해당 새 개념 노트들을 AI 생성 콘텐츠로 즉시 보강할 수 있습니다.
-
특정 원문 텍스트 추출:
- 설정의 "특정 원문 텍스트 추출"에서 질문을 구성합니다.
- 사이드바의 "특정 원문 텍스트 추출" 버튼을 사용하여 활성 파일을 처리합니다.
- 병합 모드: 모든 질문을 단일 프롬프트로 보내 더 빠른 처리를 가능하게 합니다.
- 번역: 추출된 텍스트를 설정된 언어로 번역할 수 있는 옵션입니다.
- 사용자 정의 출력: 추출된 파일이 저장될 위치와 방식을 구성합니다.
-
일괄 Mermaid 수정:
- 사이드바의 "일괄 Mermaid 수정" 버튼을 사용하여 폴더를 스캔하고 일반적인 Mermaid 구문 오류를 수정합니다.
- 플러그인은 여전히 오류가 포함된 파일들을
mermaid_error_{foldername}.md파일에 보고합니다. - 필요에 따라 이러한 문제가 있는 파일들을 검토를 위해 별도의 폴더로 이동하도록 플러그인을 구성할 수 있습니다.
지원되는 LLM 제공업체
| 제공업체 | 유형 | API 키 필요 | 비고 |
|---|---|---|---|
| DeepSeek | 클라우드 | 예 | 추론 모델 처리가 포함된 DeepSeek 네이티브 엔드포인트 |
| Qwen | 클라우드 | 예 | Qwen / QwQ 모델용 DashScope 호환 모드 프리셋 |
| Qwen Code | 클라우드 | 예 | Qwen coder 모델용 DashScope 코드 집중 프리셋 |
| Doubao | 클라우드 | 예 | Volcengine Ark 프리셋. 일반적으로 모델 필드에 엔드포인트 ID를 설정합니다 |
| Moonshot | 클라우드 | 예 | Kimi / Moonshot 공식 엔드포인트 |
| GLM | 클라우드 | 예 | Zhipu BigModel 공식 OpenAI 호환 엔드포인트 |
| Z AI | 클라우드 | 예 | GLM/Zhipu 인터내셔널 공식 OpenAI 호환 엔드포인트. GLM을 보완 |
| MiniMax | 클라우드 | 예 | MiniMax 공식 chat-completions 엔드포인트 |
| Huawei Cloud MaaS | 클라우드 | 예 | 호스팅된 모델용 Huawei ModelArts MaaS OpenAI 호환 엔드포인트 |
| Baidu Qianfan | 클라우드 | 예 | ERNIE 모델 등을 위한 Baidu Qianfan 공식 OpenAI 호환 엔드포인트 |
| SiliconFlow | 클라우드 | 예 | 호스팅된 OSS 모델용 SiliconFlow 공식 OpenAI 호환 엔드포인트 |
| OpenAI | 클라우드 | 예 | GPT 모델 및 o 시리즈 지원 |
| Anthropic | 클라우드 | 예 | Claude 시리즈 지원 |
| 클라우드 | 예 | Gemini 시리즈 지원 | |
| Mistral | 클라우드 | 예 | Mistral 및 Codestral 제품군 지원 |
| Azure OpenAI | 클라우드 | 예 | 엔드포인트, API 키, 배포 이름 및 API 버전 필요 |
| OpenRouter | 게이트웨이 | 예 | OpenRouter 모델 ID를 통해 많은 제공업체에 액세스 |
| xAI | 클라우드 | 예 | Grok 네이티브 엔드포인트 |
| Groq | 클라우드 | 예 | 호스팅된 OSS 모델용 고속 OpenAI 호환 추론 |
| Together | 클라우드 | 예 | 호스팅된 OSS 모델용 OpenAI 호환 엔드포인트 |
| Fireworks | 클라우드 | 예 | OpenAI 호환 추론 엔드포인트 |
| Requesty | 게이트웨이 | 예 | 단일 API 키 기반의 멀티 제공업체 라우터 |
| OpenAI Compatible | 게이트웨이 | 선택 사항 | LiteLLM, vLLM, Perplexity, Vercel AI Gateway 등을 위한 일반 프리셋 |
| LMStudio | 로컬 | 선택 사항 (EMPTY) |
LM Studio 서버를 통해 로컬에서 모델 실행 |
| Ollama | 로컬 | 아니요 | Ollama 서버를 통해 로컬에서 모델 실행 |
참고: 로컬 제공업체(LMStudio, Ollama)의 경우, 각 서버 애플리케이션이 실행 중이고 구성된 기준 URL에서 액세스 가능한지 확인하세요.
참고: OpenRouter 및 Requesty의 경우 게이트웨이에 표시된 전체/제공업체 접두사가 포함된 모델 식별자(예: google/gemini-flash-1.5 또는 anthropic/claude-3-7-sonnet-latest)를 사용하세요.
참고: Doubao는 일반적으로 모델 필드에 원시 모델 이름 대신 Ark 엔드포인트/배포 ID를 요구합니다. 설정 화면에서 플레이스홀더 값이 여전히 있는 경우 경고를 표시하며, 실제 엔드포인트 ID로 교체할 때까지 연결 테스트를 차단합니다.
참고: Z AI는 인터내셔널 회선 api.z.ai를 대상으로 하며, GLM은 중국 본토의 BigModel 엔드포인트를 유지합니다. 계정 지역에 맞는 프리셋을 선택하세요.
참고: 중국 집중형 프리셋은 chat-first 연결 체크를 사용하므로 테스트 시 API 키 액세스뿐만 아니라 실제 구성된 모델/배포의 유효성도 검증합니다.
참고: OpenAI Compatible은 사용자 정의 게이트웨이 및 프록시를 위한 것입니다. 제공업체 문서에 따라 기준 URL, API 키 정책 및 모델 ID를 설정하세요.
네트워크 사용 및 데이터 처리
Notemd는 Obsidian 내에서 로컬로 실행되지만 일부 기능은 외부 요청을 보냅니다.
LLM 제공업체 호출 (구성 가능)
- 트리거: 파일 처리, 생성, 번역, 리서치 요약, Mermaid 요약 및 연결/진단 작업.
- 엔드포인트: Notemd 설정에 구성된 제공업체 기준 URL.
- 전송 데이터: 처리에 필요한 프롬프트 텍스트 및 작업 내용.
- 데이터 처리 참고: API 키는 플러그인 설정에 로컬로 저장되며 기기에서 요청에 서명하는 데 사용됩니다.
웹 리서치 호출 (선택 사항)
- 트리거: 웹 리서치가 켜져 있고 검색 제공업체가 선택된 경우.
- 엔드포인트: Tavily API 또는 DuckDuckGo 엔드포인트.
- 전송 데이터: 검색 쿼리 및 필요한 요청 메타데이터.
개발자 진단 및 디버그 로그 (선택 사항)
- 트리거: API 디버그 모드 및 개발자 진단 작업.
- 저장 위치: 진단 및 오류 로그는 보관함 루트에 작성됩니다(예:
Notemd_Provider_Diagnostic_*.txt및Notemd_Error_Log_*.txt). - 위험 참고: 로그에는 요청/응답 일부가 포함될 수 있습니다. 공개적으로 공유하기 전에 로그를 검토하세요.
로컬 저장소
- 플러그인 설정은
.obsidian/plugins/notemd/data.json에 저장됩니다. - 생성된 파일, 보고서 및 선택적 로그는 설정에 따라 보관함 내에 저장됩니다.
문제 해결
일반적인 문제
- 플러그인이 로드되지 않음:
manifest.json,main.js,styles.css가 올바른 폴더(<Vault>/.obsidian/plugins/notemd/)에 있는지 확인하고 Obsidian을 재시작하세요. 시작 시 오류는 개발자 콘솔(Ctrl+Shift+I또는Cmd+Option+I)에서 확인하세요. - 처리 실패 / API 오류:
- 파일 형식 확인: 처리하거나 확인하려는 파일의 확장자가
.md또는.txt인지 확인하세요. Notemd는 현재 이러한 텍스트 기반 형식만 지원합니다. - "LLM 연결 테스트" 명령/버튼을 사용하여 활성 제공업체 설정을 검증하세요.
- API 키, 기준 URL, 모델 이름, API 버전(Azure의 경우)을 다시 확인하세요. API 키가 올바르고 크레딧/권한이 충분한지 확인하세요.
- 로컬 LLM 서버(LMStudio, Ollama)가 실행 중이고 기준 URL이 올바른지 확인하세요(예: LMStudio의 경우
http://localhost:1234/v1). - 클라우드 제공업체의 경우 인터넷 연결을 확인하세요.
- 단일 파일 처리 오류의 경우: 상세한 오류 메시지는 개발자 콘솔을 확인하세요. 필요한 경우 오류 모달의 버튼을 사용하여 복사하세요.
- 일괄 처리 오류의 경우: 실패한 각 파일에 대한 상세한 오류 메시지는 보관함 루트의
error_processing_filename.log를 확인하세요. 개발자 콘솔이나 오류 모달에 요약 또는 일반적인 배치 오류가 표시될 수 있습니다. - 자동 오류 로그: 프로세스가 실패하면 플러그인은 보관함 루트 디렉토리에
Notemd_Error_Log_[Timestamp].txt라는 상세 로그 파일을 자동으로 저장합니다. 이 파일에는 오류 메시지, 스택 추적 및 세션 로그가 포함되어 있습니다. 지속적인 문제가 발생하면 이 파일을 확인하세요. 설정에서 "API 오류 디버깅 모드"를 활성화하면 이 로그에 더욱 상세한 API 응답 데이터가 채워집니다. - 실제 엔드포인트 장기 요청 진단 (개발자):
- 플러그인 내부 경로 (가장 권장): **Settings -> Notemd -> 개발자 제공업체 진단 (장기 요청)**을 사용하여 활성 제공업체에 대해 런타임 조사를 실행하고 보관함 루트에
Notemd_Provider_Diagnostic_*.txt를 생성합니다. - CLI 경로 (Obsidian 런타임 외부): 버퍼링 방식과 스트리밍 방식 간의 엔드포인트 레벨 재현 비교를 위해 다음을 사용하세요:
생성된 보고서에는 시도별 타이밍(npm run diagnose:llm -- \ --transport openai-compatible \ --provider-name OpenRouter \ --base-url https://openrouter.ai/api/v1 \ --api-key "$OPENROUTER_API_KEY" \ --model anthropic/claude-3.7-sonnet \ --prompt-file ./tmp/prompt.txt \ --content-file ./tmp/content.txt \ --mode compare \ --timeout-ms 360000 \ --output ./tmp/openrouter-diagnostic.txtFirst Byte,Duration), 삭제된 요청 메타데이터, 응답 헤더, 원시/부분 본문 청크, 파싱된 스트림 조각 및 전송 계층 실패 지점이 포함됩니다. - 플러그인 내부 경로 (가장 권장): **Settings -> Notemd -> 개발자 제공업체 진단 (장기 요청)**을 사용하여 활성 제공업체에 대해 런타임 조사를 실행하고 보관함 루트에
- 파일 형식 확인: 처리하거나 확인하려는 파일의 확장자가
- LM Studio/Ollama 연결 문제:
- 연결 테스트 실패: 로컬 서버(LM Studio 또는 Ollama)가 실행 중이고 올바른 모델이 로드/사용 가능한지 확인하세요.
- CORS 오류 (Windows 기반 Ollama): Windows에서 Ollama를 사용할 때 CORS(Cross-Origin Resource Sharing) 오류가 발생하면
OLLAMA_ORIGINS환경 변수를 설정해야 할 수 있습니다. Ollama를 시작하기 전에 명령 프롬프트에서set OLLAMA_ORIGINS=*를 실행하여 이를 수행할 수 있습니다. 이렇게 하면 모든 원본으로부터의 요청이 허용됩니다. - LM Studio에서 CORS 활성화: LM Studio의 경우 서버 설정에서 CORS를 직접 활성화할 수 있습니다. Obsidian이 브라우저에서 실행되거나 엄격한 원본 정책이 있는 경우 이 작업이 필요할 수 있습니다.
- 폴더 생성 오류 ("File name cannot contain..."):
- 이는 일반적으로 설정에 입력한 경로(처리된 파일 폴더 경로 또는 개념 노트 폴더 경로)가 Obsidian에 대해 유효하지 않음을 의미합니다.
- 반드시 상대 경로를 사용하고(예:
Processed,Notes/Concepts) 절대 경로를 사용하지 마세요(예:C:\Users\...,/Users/...). - 잘못된 문자가 있는지 확인하세요:
* " \ / < > : | ? # ^ [ ]. Obsidian 경로에서는 Windows에서도\가 유효하지 않음에 유의하세요. 경로 구분자로는/를 사용하세요.
- 성능 문제: 대용량 파일이나 많은 파일을 처리하는 데 시간이 걸릴 수 있습니다. 더 빠른(그러나 더 잦은) API 호출을 위해 "청크 단어 수" 설정을 낮춰 보세요. 다른 LLM 제공업체나 모델을 사용해 보세요.
- 예상치 못한 링크: 링크 품질은 LLM과 프롬프트에 크게 좌우됩니다. 다른 모델이나 온도 설정을 시도해 보세요.
기여하기
기여는 언제나 환영합니다! 가이드라인은 GitHub 저장소를 참조하세요: https://github.com/Jacobinwwey/obsidian-NotEMD
유지 관리자 문서
라이선스
MIT 라이선스 - 자세한 내용은 LICENSE 파일을 참조하세요.
Notemd v1.9.3 - AI로 Obsidian 지식 그래프를 강화하세요.
개발 연대기
이 분기별 연대기는 repo-saga의 원래 시각 스타일을 유지하며, 분기 단위 분할도 이제 repo-saga 자체가 직접 생성합니다.
릴리스 태그 1.9.4 기준으로 2026-07-21에 마지막 새로고침을 완료했습니다. 최신 커밋 날짜: 2026-07-21.
Star History
설정 탐색, 다이어그램 기록, CircuitikZ 및 안전한 일괄 처리 폴더
Notemd의 설정 페이지에서는 모호한 검색 기능, 대규모 카테고리 탐색 기능, 그리고 현재 Vault에 저장된 각 설정별 즐겨찾기 기능을 제공합니다.
- 다이어그램 기록은 Vault 범위 내에 저장되며, 가장 최신 순서대로 정렬됩니다. 20개씩 그룹화하여 검색하고 페이지를 넘길 수 있습니다. 기록을 삭제해도 생성된 파일들은 삭제되지 않습니다.
- 다이어그램 미리보기 내보내기 시 PPI 설정을 통해 PNG 및 PDF의 선명도를 조절할 수 있습니다. SVG는 벡터 기반 형식으로 유지됩니다.
- 선호하는 다이어그램 유형과 선호하는 소스 형식은 별도의 선택 항목입니다.
- 데스크톱 사용자는 선택 사항인 CircuitikZ 네이티브 컴파일 환경을 열어 시스템에 설치된 Tectonic/pdflatex를 재사용하거나, 사용자 정의 컴파일러를 선택하거나, 고정된 관리형 Tectonic 런타임을 명시적으로 설치할 수 있습니다. 미리보기, SVG, PNG, 미리보기용 PDF 내보내기에는 LaTeX가 필요하지 않습니다.
- 고급 일괄 처리 파일 선택 기능을 통해 저장된 선택 프로필과 규칙 미리보기를 활용할 수 있습니다.
- 일괄 처리 대상 폴더가 없는 경우 확인 후 새로 만들 수 있으며, 앞으로 폴더가 빠질 때 자동으로 생성하도록 기억하도록 하는 옵션도 제공됩니다.
- 이미 존재하는 비어 있지 않은 폴더의 경우 전체 일괄 처리를 진행하기 전에 한 번만 확인하면 되며, 생성되는 각 파일마다 별도로 확인할 필요는 없습니다.
- 개발자 모드에서는 공급업체 관련 진단 정보와 고급 문제 해결 도구를 확인할 수 있습니다.