A4P Sermon Desk
unlistedby csh
설교 작성 중인 문단을 기준으로 내 과거 설교·묵상·설교조각과 외부 자료를 자동으로 찾아주는 설교 준비 보조 도구.
A4P Sermon Desk
설교를 작성하는 중에, 선택한 문장·문단을 기준으로 내 과거 설교·묵상·설교조각과 수집해 둔 외부 자료를 찾아 주는 옵시디언 플러그인입니다. 강단에 서기 전까지의 준비 과정에서, 관련된 내 글을 다시 떠올리고 인용·연결하는 일을 돕습니다.
"외부 자료"의 의미 — 이 플러그인에서 "외부"는 웹 검색이 아니라 볼트 안의 외부 출처 노트(스크랩·클리핑·자료 폴더 등, 설정의
external그룹)를 가리킵니다. 모든 검색은 로컬 볼트 안에서만 이루어집니다.
주요 기능
- 선택 기반 추천 — 텍스트를 선택하고 우클릭 →
선택 텍스트로 참고자료 검색으로 관련 노트를 패널에 보여 줍니다. 설정에서 실시간 자동 검색(편집·선택 반응형)으로 전환할 수도 있습니다. - 두 가지 검색 모드 (토글)
- 의미 검색 — OpenAI 임베딩 + BM25를 RRF로 융합한 하이브리드 검색. 표현이 달라도 뜻이 통하면 찾아 줍니다.
- 태그 검색 — doctrine(교리) 키워드와 그 동의어로 정확히 매칭. 신학 주제 기준으로 모읍니다.
- 폴더 가중치 — 폴더를 내부/외부 그룹으로 묶고 가중치(0~10)를 주어, 더 신뢰하는 출처가 위로 오게 합니다. heading 매칭 boost 포함. 가중치는 관련도보다 우선하는 설계입니다 — 가중치 10 폴더의 약한 매칭이 가중치 1 폴더의 강한 매칭보다 위에 올 수 있습니다.
- 증분 재색인 — 재색인 버튼은 바뀐 노트만 다시 읽고, 임베딩도 새 청크만 생성합니다(API 비용 절감). 처음이거나 업그레이드 직후엔 자동으로 전체를 다시 만듭니다.
- 교리 키워드 + 동의어 자동 생성 — doctrine 키워드를 등록하면 LLM이 동의어를 자동 제안·임베딩해 태그 매칭 품질을 높입니다.
- 결과 카드 인터랙션 — 펼쳐 보기, 카드 핀 고정(상단 고정), 위키링크 삽입(버튼·드래그), 노트 바로 열기.
- 한국어 형태소 분석 —
garu-ko기반 토크나이저로 한국어 본문을 정확히 색인합니다. - 관련도 임계값 슬라이더 / 자동 갱신 일시정지(자동 모드).
요구 사항
- 옵시디언 데스크톱 (모바일 미지원,
isDesktopOnly) - 최소 앱 버전 1.5.0
- (선택) OpenAI API 키 — 의미 검색의 임베딩에 사용. 키가 없으면 BM25(키워드)만으로 동작합니다.
설치
BRAT으로 설치 (권장)
BRAT을 쓰면 이 저장소에서 자동으로 받아 설치하고, 새 버전이 나오면 업데이트 알림도 받습니다.
- 옵시디언 설정 → 커뮤니티 플러그인에서
BRAT검색 → 설치 → 활성화 - 명령 팔레트(
Cmd/Ctrl + P) →BRAT: Add a beta plugin for testing - 입력란에
ai4pastor/a4p-sermon-desk입력 → Add Plugin - 설정 → 커뮤니티 플러그인에서 A4P Sermon Desk가 켜져 있는지 확인
이후 새 버전이 릴리스되면 BRAT이 자동으로 업데이트합니다.
수동 설치
Releases에서 main.js, manifest.json을 내려받아 볼트의 <vault>/.obsidian/plugins/a4p-sermon-desk/ 에 넣은 뒤 옵시디언에서 플러그인을 활성화합니다.
사용 흐름
- (선택) 설정 → A4P Sermon Desk에서 OpenAI API 키를 입력하고, 검색 대상 폴더·가중치·제외 폴더·교리 키워드를 설정합니다.
- 설정의 [재색인 (변경분만)] 버튼 — 볼트를 색인합니다. (API 키가 있으면 임베딩도 이어서 자동 실행)
- 명령 팔레트에서
설교 준비 데스크 열기로 추천 패널을 엽니다. - 노트에서 텍스트를 선택하고 우클릭 →
선택 텍스트로 참고자료 검색을 누르면 관련 노트가 패널에 나타납니다. - (선택) 설정의 실시간 자동 검색을 켜면 편집·선택할 때마다 자동으로 검색됩니다.
명령·버튼
| 위치 | 항목 | 설명 |
|---|---|---|
| 명령 팔레트 | 설교 준비 데스크 열기 | 추천 패널 열기 |
| 에디터 우클릭 | 선택 텍스트로 참고자료 검색 | 선택(10자 이상)으로 즉시 검색 |
| 설정 탭 | 재색인 (변경분만) | 바뀐 노트만 재색인 (첫 실행·업그레이드 직후엔 자동 전체) |
| 설정 탭 | 강제 전체 재색인 | 인덱스 전체 재구축 (임베딩 전량 재생성 — API 비용 발생) |
| 패널 | 의미/태그 검색 토글 · 관련도 슬라이더 · 일시정지(자동 모드) |
개발용 디버그 명령(하이브리드/BM25/형태소 벤치 등)은
npm run dev빌드에서만 노출되며, production 빌드(npm run build)에서는 제거됩니다.
데이터 저장
- 색인은 플러그인 폴더의
index.db(sql.js)에 저장됩니다. - 저장은 백업(
index.db.bak) 기반 원자 교체로 이루어져, 저장 도중 중단되어도 인덱스가 통째로 사라지지 않습니다.
개발
npm install
npm run dev # watch 빌드 (debug 명령 포함, sourcemap)
npm run build # production 빌드 (debug 명령 제거, minify)
npm run typecheck # tsc --noEmit
라이선스
개인 프로젝트.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.