이 문서는 2026-08-30-community-obsidian-karpathywiki의 연결 저장소를 별도 provenance 단위로 다룬다. Marketplace의 제품 설명을 반복하기보다, 고정 commit의 구현·manifest·실행 검증에 집중한다.[2]
조사 기준
- 저장소는
green-dalii/obsidian-llm-wiki, branchmain, commite054012d26d3e851dbabbf558bb3663aa6e44120에 고정했다.[2] - clone HEAD와
origin/main이 같은 SHA였고, 선택 파일 18개만raw/articles/github-green-dalii-obsidian-llm-wiki.md에 보존했다.[2] - capture는 README·manifest·package metadata·PPR·query pipeline·문서 변환·cache·candidate gate·wiki engine·SecretStorage 파일을 포함하지만 전체 repository mirror는 아니다.[2]
패키지와 호스트 경계
- README metadata는 TypeScript, Obsidian
>=1.11.4, Desktop + Mobile, Apache-2.0,karpathywikiplugin id를 선언한다.[2] - pinned
manifest.json은 version1.27.0, minimum app version1.11.4,isDesktopOnly: false를 명시한다.[3] - README가 말하는 “zero runtime dependencies”는 Vercel AI SDK를 번들한 배포물 기준이다. 개발 의존성과 build toolchain은
package.json/lockfile에 별도로 존재한다.[2][4]
구현 핵심
- Monte Carlo PPR은 seed에서 시작해 damping 시드 teleport 또는 outgoing edge 이동을 반복하고, 방문 횟수를 확률로 정규화한다.[5]
- pinned 구현의 기본 random-walk 설정은
3,000walks ×50steps이며, 비용 모델은O(K × L)로 설명된다.[2][5] - PPR cascade는 arbitrary first page를 seed로 삼지 않고 explicit/lexically relevant seed가 없으면 graph expansion을 진행하지 않는다.[6]
- query seed selection은 lexical title/alias path, LLM keyword generation, local substring scan, LLM knowledge-base fallback, PPR graph expansion의 5단계로 구성된다.[11][12]
- README/Marketplace가 keyword 후보
8–12를 말하는 반면, pinned query implementation 주석은5–10을 말한다. 이 snapshot에서는 문서 drift로 기록하며 특정 범위를 runtime contract로 승격하지 않는다.[2][11][12]
문서 변환과 cache
- MinerU converter는 HTTPS를 요구하고 URL userinfo/password와 localhost·loopback host를 거부한다.[7]
- Marketplace가 보고한 PDF/archive size·page·file count 제한은 제품 설명이며, 이 조사에서는 실제 upload/poll/download를 수행하지 않았다.[1][7]
- PDF cache는 content/model/converter 조합에 묶인 성능 계층이고, 코드 주석은 기본 TTL 30일과 miss/expired/corrupt 시 graceful degradation을 설명한다.[8]
- native PDF 경로와 MinerU multi-format 경로는 서로 다른 converter surface이며, OCR 품질·Office layout fidelity는 runtime 미검증이다.[1][7]
파일 쓰기와 후보 gate
- wiki engine은 Obsidian vault API로 source를 읽고 generated wiki page를 갱신하는 경로를 가진다.[13]
skipMentionOnlyCandidates가 켜질 때만 extraction 후보가 원문에 실제로 등장하는지 검사하는 candidate gate가 연결된다.[10][13]- candidate gate는 parenthetical/list/enumeration에만 등장하는 mention-only 후보를 제거해 추가 LLM 호출과 잘못된 페이지 생성을 줄이는 방향이다.[1][10]
reviewed: true페이지 보호와 source-page verbatim quote는 제품 contract와 구현 범위로 기록했지만, 모든 예외 경로의 불변성을 독립 보안 감사한 것은 아니다.[1][2][13]
네트워크와 credential 경계
- Obsidian
requestUrl과 Vercel AI SDK를 연결하는 bridge가 있으므로, “no backend”는 “no network”나 “no external provider”를 뜻하지 않는다.[2][9] - local endpoint를 선택하면 로컬 처리 구성이 가능하지만, cloud provider·online MinerU를 선택하면 선택한 text/document가 외부 서비스로 전송될 수 있다.[1][7][9]
- provider credential access는 Obsidian
App.secretStoragesurface로 분리되어 있다.[14] - 이 문서와 capture에는 실제 API key, OAuth token, password, connection string, credential value를 보존하지 않았다.[14]
실제 실행 검증
- Node
v24.19.0, Corepackpnpm 10.14.0으로pnpm install --frozen-lockfile --ignore-scripts를 실행해 lockfile 설치를 확인했다.[4] - package가 선언한 Gate 1(
lint → typecheck → build → test → css-lint)을 실행했다.[4] - 결과는 ESLint 통과, TypeScript typecheck 통과, production build 통과, Vitest
260files /3690tests 통과, CSS lint0 violations였다.[4] - commit-pinned raw manifest는
18/18HTTP 200·byte 수·SHA-256 일치로 검증했다.[2]
한계와 관련 문서
- 실제 Obsidian desktop/mobile UI, Graph View/Dataview, provider connection, cloud auth, MinerU server, OCR, vault mutation, network trace는 실행하지 않았다.[1]
- Gate 1은 pinned source의 build/test evidence이지 사용자의 vault에서의 안전성, 모든 provider runtime compatibility, privacy-policy 준수를 보장하지 않는다.[4]
- 제품 관점 요약은 2026-08-30-community-obsidian-karpathywiki, 원본 패턴은 2026-04-03-karpathy-llm-knowledge-bases, 허브는 moc-llm-wiki와 moc-ai-agents-memory에서 이어진다.
Sources
[1] https://community.obsidian.md/plugins/karpathywiki — Karpathy LLM Wiki - Obsidian Community plugin listing [2] https://raw.githubusercontent.com/green-dalii/obsidian-llm-wiki/e054012d26d3e851dbabbf558bb3663aa6e44120/README.md — Karpathy LLM Wiki README at pinned commit [3] https://raw.githubusercontent.com/green-dalii/obsidian-llm-wiki/e054012d26d3e851dbabbf558bb3663aa6e44120/manifest.json — Obsidian plugin manifest at pinned commit [4] https://raw.githubusercontent.com/green-dalii/obsidian-llm-wiki/e054012d26d3e851dbabbf558bb3663aa6e44120/package.json — Karpathy LLM Wiki package scripts at pinned commit [5] https://raw.githubusercontent.com/green-dalii/obsidian-llm-wiki/e054012d26d3e851dbabbf558bb3663aa6e44120/src/core/monte-carlo-ppr.ts — Monte Carlo PPR implementation at pinned commit [6] https://raw.githubusercontent.com/green-dalii/obsidian-llm-wiki/e054012d26d3e851dbabbf558bb3663aa6e44120/src/core/ppr-cascade.ts — PPR cascade implementation at pinned commit [7] https://raw.githubusercontent.com/green-dalii/obsidian-llm-wiki/e054012d26d3e851dbabbf558bb3663aa6e44120/src/core/mineru-converter.ts — MinerU converter implementation at pinned commit [8] https://raw.githubusercontent.com/green-dalii/obsidian-llm-wiki/e054012d26d3e851dbabbf558bb3663aa6e44120/src/core/pdf-cache.ts — PDF conversion cache at pinned commit [9] https://raw.githubusercontent.com/green-dalii/obsidian-llm-wiki/e054012d26d3e851dbabbf558bb3663aa6e44120/src/core/obsidian-fetch-bridge.ts — Obsidian network fetch bridge at pinned commit [10] https://raw.githubusercontent.com/green-dalii/obsidian-llm-wiki/e054012d26d3e851dbabbf558bb3663aa6e44120/src/core/candidate-gate.ts — Candidate gate implementation at pinned commit [11] https://raw.githubusercontent.com/green-dalii/obsidian-llm-wiki/e054012d26d3e851dbabbf558bb3663aa6e44120/src/wiki/query-engine/pipeline/query-keywords.ts — Query keyword generation at pinned commit [12] https://raw.githubusercontent.com/green-dalii/obsidian-llm-wiki/e054012d26d3e851dbabbf558bb3663aa6e44120/src/wiki/query-engine/pipeline/select-seeds.ts — Five-stage seed selection at pinned commit [13] https://raw.githubusercontent.com/green-dalii/obsidian-llm-wiki/e054012d26d3e851dbabbf558bb3663aa6e44120/src/wiki/wiki-engine.ts — Wiki engine implementation at pinned commit [14] https://raw.githubusercontent.com/green-dalii/obsidian-llm-wiki/e054012d26d3e851dbabbf558bb3663aa6e44120/src/llm-sdk/provider-secret-store.ts — Provider SecretStorage implementation at pinned commit