mnemo-secondbrain 0.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. mnemo_secondbrain-0.2.0/LICENSE +21 -0
  2. mnemo_secondbrain-0.2.0/MANIFEST.in +18 -0
  3. mnemo_secondbrain-0.2.0/PKG-INFO +161 -0
  4. mnemo_secondbrain-0.2.0/README.md +116 -0
  5. mnemo_secondbrain-0.2.0/config.example.yaml +21 -0
  6. mnemo_secondbrain-0.2.0/docs/A001-PRD.md +287 -0
  7. mnemo_secondbrain-0.2.0/docs/A002-/352/262/275/354/237/201/353/266/204/354/204/235.md +158 -0
  8. mnemo_secondbrain-0.2.0/docs/A003-/352/270/260/354/210/240/353/266/204/354/204/235.md +275 -0
  9. mnemo_secondbrain-0.2.0/docs/A004-/354/210/230/354/235/265/355/231/224-/354/240/204/353/236/265.md +205 -0
  10. mnemo_secondbrain-0.2.0/docs/D001-/354/225/204/355/202/244/355/205/215/354/262/230-/354/204/244/352/263/204.md +327 -0
  11. mnemo_secondbrain-0.2.0/docs/D002-/354/230/250/355/206/250/353/241/234/354/247/200-/354/212/244/355/202/244/353/247/210.md +349 -0
  12. mnemo_secondbrain-0.2.0/docs/D003-/353/205/270/353/223/234/353/247/201/355/201/254-/354/204/244/352/263/204.md +247 -0
  13. mnemo_secondbrain-0.2.0/docs/I001-/352/260/234/353/260/234/352/263/204/355/232/215.md +181 -0
  14. mnemo_secondbrain-0.2.0/docs/OBSIDIAN-PLUGIN-RELEASE.md +65 -0
  15. mnemo_secondbrain-0.2.0/docs/P001-graph-improvement-plan.md +110 -0
  16. mnemo_secondbrain-0.2.0/docs/README.md +7 -0
  17. mnemo_secondbrain-0.2.0/docs/T001-MAIBOT-/355/206/265/355/225/251-/355/205/214/354/212/244/355/212/270-/353/246/254/355/217/254/355/212/270.md +175 -0
  18. mnemo_secondbrain-0.2.0/docs/T002-/354/242/205/355/225/251/352/262/200/354/246/235-/353/246/254/355/217/254/355/212/270.md +144 -0
  19. mnemo_secondbrain-0.2.0/docs/T003-graph-quality-analysis.md +127 -0
  20. mnemo_secondbrain-0.2.0/docs/T004-frontmatter-enrichment.md +48 -0
  21. mnemo_secondbrain-0.2.0/docs/T005-embedding-coverage.md +50 -0
  22. mnemo_secondbrain-0.2.0/docs/T006-post-refactor-enrichment.md +57 -0
  23. mnemo_secondbrain-0.2.0/docs/T007-project-scoring.md +52 -0
  24. mnemo_secondbrain-0.2.0/docs/T008-search-quality.md +185 -0
  25. mnemo_secondbrain-0.2.0/docs/T009-graph-quality-improvement.md +57 -0
  26. mnemo_secondbrain-0.2.0/pyproject.toml +53 -0
  27. mnemo_secondbrain-0.2.0/scripts/analyze_components.py +60 -0
  28. mnemo_secondbrain-0.2.0/scripts/analyze_vault.py +78 -0
  29. mnemo_secondbrain-0.2.0/scripts/benchmark_search.py +132 -0
  30. mnemo_secondbrain-0.2.0/scripts/check_missing.py +31 -0
  31. mnemo_secondbrain-0.2.0/scripts/classify_unknown.py +113 -0
  32. mnemo_secondbrain-0.2.0/scripts/collect_knowledge.py +52 -0
  33. mnemo_secondbrain-0.2.0/scripts/content_enrich.py +68 -0
  34. mnemo_secondbrain-0.2.0/scripts/daily_enrich.py +233 -0
  35. mnemo_secondbrain-0.2.0/scripts/debug_search.py +31 -0
  36. mnemo_secondbrain-0.2.0/scripts/embed_vault.py +51 -0
  37. mnemo_secondbrain-0.2.0/scripts/enrich_apply.py +34 -0
  38. mnemo_secondbrain-0.2.0/scripts/enrich_plan.py +55 -0
  39. mnemo_secondbrain-0.2.0/scripts/enrich_related.py +55 -0
  40. mnemo_secondbrain-0.2.0/scripts/generate_stubs.py +116 -0
  41. mnemo_secondbrain-0.2.0/scripts/integrated_search.py +201 -0
  42. mnemo_secondbrain-0.2.0/scripts/opportunity_scanner.py +284 -0
  43. mnemo_secondbrain-0.2.0/scripts/reduce_components.py +197 -0
  44. mnemo_secondbrain-0.2.0/scripts/search.py +112 -0
  45. mnemo_secondbrain-0.2.0/scripts/test_hybrid.py +49 -0
  46. mnemo_secondbrain-0.2.0/scripts/test_query.py +65 -0
  47. mnemo_secondbrain-0.2.0/setup.cfg +4 -0
  48. mnemo_secondbrain-0.2.0/src/__init__.py +0 -0
  49. mnemo_secondbrain-0.2.0/src/mnemo/__init__.py +2 -0
  50. mnemo_secondbrain-0.2.0/src/mnemo/api.py +616 -0
  51. mnemo_secondbrain-0.2.0/src/mnemo/cache.py +79 -0
  52. mnemo_secondbrain-0.2.0/src/mnemo/cli.py +303 -0
  53. mnemo_secondbrain-0.2.0/src/mnemo/collectors/__init__.py +1 -0
  54. mnemo_secondbrain-0.2.0/src/mnemo/collectors/knowledge_pipeline.py +201 -0
  55. mnemo_secondbrain-0.2.0/src/mnemo/collectors/trust_evaluator.py +352 -0
  56. mnemo_secondbrain-0.2.0/src/mnemo/collectors/web_collector.py +196 -0
  57. mnemo_secondbrain-0.2.0/src/mnemo/content_linker.py +232 -0
  58. mnemo_secondbrain-0.2.0/src/mnemo/embedder.py +236 -0
  59. mnemo_secondbrain-0.2.0/src/mnemo/enricher.py +238 -0
  60. mnemo_secondbrain-0.2.0/src/mnemo/graph_builder.py +194 -0
  61. mnemo_secondbrain-0.2.0/src/mnemo/graph_search.py +96 -0
  62. mnemo_secondbrain-0.2.0/src/mnemo/graphrag.py +152 -0
  63. mnemo_secondbrain-0.2.0/src/mnemo/hybrid_search.py +174 -0
  64. mnemo_secondbrain-0.2.0/src/mnemo/ontology.py +71 -0
  65. mnemo_secondbrain-0.2.0/src/mnemo/opportunity_scorer.py +271 -0
  66. mnemo_secondbrain-0.2.0/src/mnemo/parser.py +218 -0
  67. mnemo_secondbrain-0.2.0/src/mnemo/reranker.py +81 -0
  68. mnemo_secondbrain-0.2.0/src/mnemo/vector_search.py +56 -0
  69. mnemo_secondbrain-0.2.0/src/mnemo_secondbrain.egg-info/PKG-INFO +161 -0
  70. mnemo_secondbrain-0.2.0/src/mnemo_secondbrain.egg-info/SOURCES.txt +72 -0
  71. mnemo_secondbrain-0.2.0/src/mnemo_secondbrain.egg-info/dependency_links.txt +1 -0
  72. mnemo_secondbrain-0.2.0/src/mnemo_secondbrain.egg-info/entry_points.txt +2 -0
  73. mnemo_secondbrain-0.2.0/src/mnemo_secondbrain.egg-info/requires.txt +29 -0
  74. mnemo_secondbrain-0.2.0/src/mnemo_secondbrain.egg-info/top_level.txt +1 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 jini92
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,18 @@
1
+ include LICENSE
2
+ include README.md
3
+ include pyproject.toml
4
+ include config.example.yaml
5
+
6
+ recursive-include src *.py
7
+ recursive-include scripts *.py
8
+ recursive-include docs *.md
9
+
10
+ recursive-exclude .mnemo *
11
+ recursive-exclude obsidian-plugin *
12
+ recursive-exclude __pycache__ *
13
+ recursive-exclude * *.pyc *.pyo
14
+ exclude .env
15
+ exclude .env.*
16
+ prune .mnemo
17
+ prune obsidian-plugin
18
+ prune ~
@@ -0,0 +1,161 @@
1
+ Metadata-Version: 2.4
2
+ Name: mnemo-secondbrain
3
+ Version: 0.2.0
4
+ Summary: Personal knowledge graph system for Obsidian vaults with hybrid search
5
+ Author-email: jini92 <jini92@users.noreply.github.com>
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/jini92/MAISECONDBRAIN
8
+ Project-URL: Repository, https://github.com/jini92/MAISECONDBRAIN
9
+ Project-URL: Issues, https://github.com/jini92/MAISECONDBRAIN/issues
10
+ Keywords: knowledge-graph,obsidian,second-brain,graphrag,semantic-search
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Topic :: Text Processing :: General
18
+ Requires-Python: >=3.10
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE
21
+ Requires-Dist: networkx>=3.0
22
+ Requires-Dist: pyyaml>=6.0
23
+ Requires-Dist: numpy>=1.24
24
+ Requires-Dist: rich>=13.0
25
+ Requires-Dist: click>=8.0
26
+ Provides-Extra: api
27
+ Requires-Dist: fastapi>=0.100; extra == "api"
28
+ Requires-Dist: uvicorn>=0.20; extra == "api"
29
+ Provides-Extra: embeddings
30
+ Requires-Dist: openai>=1.0; extra == "embeddings"
31
+ Provides-Extra: local
32
+ Requires-Dist: ollama>=0.1; extra == "local"
33
+ Provides-Extra: sbert
34
+ Requires-Dist: sentence-transformers>=2.2; extra == "sbert"
35
+ Provides-Extra: dev
36
+ Requires-Dist: pytest>=7.0; extra == "dev"
37
+ Requires-Dist: pytest-cov>=4.0; extra == "dev"
38
+ Requires-Dist: build; extra == "dev"
39
+ Provides-Extra: all
40
+ Requires-Dist: fastapi>=0.100; extra == "all"
41
+ Requires-Dist: uvicorn>=0.20; extra == "all"
42
+ Requires-Dist: openai>=1.0; extra == "all"
43
+ Requires-Dist: sentence-transformers>=2.2; extra == "all"
44
+ Dynamic: license-file
45
+
46
+ # Mnemo — Personal Knowledge Graph for Obsidian
47
+
48
+ [![PyPI version](https://badge.fury.io/py/mnemo-secondbrain.svg)](https://pypi.org/project/mnemo-secondbrain/)
49
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
50
+ [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
51
+
52
+ > Turn your Obsidian vault into a queryable knowledge graph with hybrid search (vector + graph traversal).
53
+
54
+ ## Features
55
+
56
+ - **Automatic Graph Building** — Parses `[[wikilinks]]`, YAML frontmatter, and tags from your Obsidian vault into a NetworkX knowledge graph
57
+ - **Hybrid Search** — Combines vector similarity search with graph-based multi-hop traversal
58
+ - **Ontology Classification** — Auto-classifies entities (Person, Concept, Project, Tool, Insight, etc.)
59
+ - **Knowledge Collectors** — Web clipping, trust evaluation, and automated knowledge pipeline
60
+ - **REST API** — FastAPI server for programmatic access
61
+ - **Obsidian Plugin** — Companion plugin for in-vault queries (see `obsidian-plugin/`)
62
+ - **CLI Interface** — Full-featured command-line tool for graph operations
63
+
64
+ ## Quick Start
65
+
66
+ ### Installation
67
+
68
+ ```bash
69
+ # Core (graph + CLI)
70
+ pip install mnemo-secondbrain
71
+
72
+ # With API server
73
+ pip install mnemo-secondbrain[api]
74
+
75
+ # With sentence-transformers embeddings
76
+ pip install mnemo-secondbrain[sbert]
77
+
78
+ # Everything
79
+ pip install mnemo-secondbrain[all]
80
+ ```
81
+
82
+ ### Configuration
83
+
84
+ Create a `config.yaml` (see `config.example.yaml`):
85
+
86
+ ```yaml
87
+ vault_path: ~/Documents/MyVault
88
+ embedding:
89
+ provider: sbert # or "openai", "ollama"
90
+ model: all-MiniLM-L6-v2
91
+ ```
92
+
93
+ Or use environment variables:
94
+
95
+ | Variable | Description | Example |
96
+ |----------|-------------|---------|
97
+ | `MNEMO_VAULT_PATH` | Path to your Obsidian vault | `~/Documents/MyVault` |
98
+ | `OPENAI_API_KEY` | OpenAI API key (if using OpenAI embeddings) | `sk-...` |
99
+
100
+ ### CLI Usage
101
+
102
+ ```bash
103
+ # Build the knowledge graph from your vault
104
+ mnemo build
105
+
106
+ # Search your knowledge graph
107
+ mnemo search "machine learning fundamentals"
108
+
109
+ # Show graph statistics
110
+ mnemo stats
111
+
112
+ # Export graph
113
+ mnemo export --format graphml
114
+ ```
115
+
116
+ ### API Server
117
+
118
+ ```bash
119
+ # Start the API server (requires mnemo-secondbrain[api])
120
+ mnemo serve --host 0.0.0.0 --port 8000
121
+ ```
122
+
123
+ Endpoints:
124
+
125
+ | Method | Path | Description |
126
+ |--------|------|-------------|
127
+ | `GET` | `/api/search` | Hybrid search |
128
+ | `GET` | `/api/graph/stats` | Graph statistics |
129
+ | `GET` | `/api/graph/node/{id}` | Get node details |
130
+ | `GET` | `/api/graph/neighbors/{id}` | Get node neighbors |
131
+
132
+ ### Obsidian Plugin
133
+
134
+ The companion Obsidian plugin lives in `obsidian-plugin/`. See its README for installation instructions. It connects to the Mnemo API server for in-vault search and graph visualization.
135
+
136
+ ## Architecture
137
+
138
+ ```
139
+ Obsidian Vault (Markdown + YAML + [[links]])
140
+ ↓ parse
141
+ NetworkX Graph (in-memory)
142
+ ↓ embed
143
+ Vector Index + Graph Index
144
+ ↓ query
145
+ Hybrid Search (vector + graph traversal)
146
+ ↓ rerank
147
+ Results with context
148
+ ```
149
+
150
+ ## Development
151
+
152
+ ```bash
153
+ git clone https://github.com/jini92/MAISECONDBRAIN.git
154
+ cd MAISECONDBRAIN
155
+ pip install -e ".[dev,all]"
156
+ pytest
157
+ ```
158
+
159
+ ## License
160
+
161
+ MIT — see [LICENSE](LICENSE).
@@ -0,0 +1,116 @@
1
+ # Mnemo — Personal Knowledge Graph for Obsidian
2
+
3
+ [![PyPI version](https://badge.fury.io/py/mnemo-secondbrain.svg)](https://pypi.org/project/mnemo-secondbrain/)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
+ [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
6
+
7
+ > Turn your Obsidian vault into a queryable knowledge graph with hybrid search (vector + graph traversal).
8
+
9
+ ## Features
10
+
11
+ - **Automatic Graph Building** — Parses `[[wikilinks]]`, YAML frontmatter, and tags from your Obsidian vault into a NetworkX knowledge graph
12
+ - **Hybrid Search** — Combines vector similarity search with graph-based multi-hop traversal
13
+ - **Ontology Classification** — Auto-classifies entities (Person, Concept, Project, Tool, Insight, etc.)
14
+ - **Knowledge Collectors** — Web clipping, trust evaluation, and automated knowledge pipeline
15
+ - **REST API** — FastAPI server for programmatic access
16
+ - **Obsidian Plugin** — Companion plugin for in-vault queries (see `obsidian-plugin/`)
17
+ - **CLI Interface** — Full-featured command-line tool for graph operations
18
+
19
+ ## Quick Start
20
+
21
+ ### Installation
22
+
23
+ ```bash
24
+ # Core (graph + CLI)
25
+ pip install mnemo-secondbrain
26
+
27
+ # With API server
28
+ pip install mnemo-secondbrain[api]
29
+
30
+ # With sentence-transformers embeddings
31
+ pip install mnemo-secondbrain[sbert]
32
+
33
+ # Everything
34
+ pip install mnemo-secondbrain[all]
35
+ ```
36
+
37
+ ### Configuration
38
+
39
+ Create a `config.yaml` (see `config.example.yaml`):
40
+
41
+ ```yaml
42
+ vault_path: ~/Documents/MyVault
43
+ embedding:
44
+ provider: sbert # or "openai", "ollama"
45
+ model: all-MiniLM-L6-v2
46
+ ```
47
+
48
+ Or use environment variables:
49
+
50
+ | Variable | Description | Example |
51
+ |----------|-------------|---------|
52
+ | `MNEMO_VAULT_PATH` | Path to your Obsidian vault | `~/Documents/MyVault` |
53
+ | `OPENAI_API_KEY` | OpenAI API key (if using OpenAI embeddings) | `sk-...` |
54
+
55
+ ### CLI Usage
56
+
57
+ ```bash
58
+ # Build the knowledge graph from your vault
59
+ mnemo build
60
+
61
+ # Search your knowledge graph
62
+ mnemo search "machine learning fundamentals"
63
+
64
+ # Show graph statistics
65
+ mnemo stats
66
+
67
+ # Export graph
68
+ mnemo export --format graphml
69
+ ```
70
+
71
+ ### API Server
72
+
73
+ ```bash
74
+ # Start the API server (requires mnemo-secondbrain[api])
75
+ mnemo serve --host 0.0.0.0 --port 8000
76
+ ```
77
+
78
+ Endpoints:
79
+
80
+ | Method | Path | Description |
81
+ |--------|------|-------------|
82
+ | `GET` | `/api/search` | Hybrid search |
83
+ | `GET` | `/api/graph/stats` | Graph statistics |
84
+ | `GET` | `/api/graph/node/{id}` | Get node details |
85
+ | `GET` | `/api/graph/neighbors/{id}` | Get node neighbors |
86
+
87
+ ### Obsidian Plugin
88
+
89
+ The companion Obsidian plugin lives in `obsidian-plugin/`. See its README for installation instructions. It connects to the Mnemo API server for in-vault search and graph visualization.
90
+
91
+ ## Architecture
92
+
93
+ ```
94
+ Obsidian Vault (Markdown + YAML + [[links]])
95
+ ↓ parse
96
+ NetworkX Graph (in-memory)
97
+ ↓ embed
98
+ Vector Index + Graph Index
99
+ ↓ query
100
+ Hybrid Search (vector + graph traversal)
101
+ ↓ rerank
102
+ Results with context
103
+ ```
104
+
105
+ ## Development
106
+
107
+ ```bash
108
+ git clone https://github.com/jini92/MAISECONDBRAIN.git
109
+ cd MAISECONDBRAIN
110
+ pip install -e ".[dev,all]"
111
+ pytest
112
+ ```
113
+
114
+ ## License
115
+
116
+ MIT — see [LICENSE](LICENSE).
@@ -0,0 +1,21 @@
1
+ # Mnemo SecondBrain - Environment Configuration
2
+ # Copy this file or set these environment variables before running scripts.
3
+
4
+ # Required: Path to your Obsidian vault (or any markdown notes directory)
5
+ # Example: /home/user/ObsidianVault or C:\Users\you\Documents\MyVault
6
+ MNEMO_VAULT_PATH: ""
7
+
8
+ # Required for scripts that access MAIBOT memory (daily_enrich, embed_vault, integrated_search)
9
+ # Example: /home/user/maibot/memory
10
+ MNEMO_MEMORY_PATH: ""
11
+
12
+ # Optional: Project root override (defaults to repository root)
13
+ # Used by generate_stubs for cache directory resolution
14
+ MNEMO_PROJECT_ROOT: ""
15
+
16
+ # Optional: MAIBOT root directory (for MEMORY.md location in integrated_search)
17
+ # If not set, defaults to parent of MNEMO_MEMORY_PATH
18
+ MAIBOT_ROOT: ""
19
+
20
+ # Optional: Brave Search API key (for external knowledge collection)
21
+ BRAVE_API_KEY: ""
@@ -0,0 +1,287 @@
1
+ # A001-PRD: Mnemo (MAISECONDBRAIN)
2
+
3
+ > 🧠 개인화 세컨드브레인 — 온톨로지 지식그래프 + GraphRAG + Obsidian + OpenClaw
4
+
5
+ **버전:** 1.0
6
+ **작성일:** 2026-02-20
7
+ **작성자:** MAIBOT
8
+
9
+ ---
10
+
11
+ ## 1. Executive Summary
12
+
13
+ **Mnemo(므네모)**는 개인의 지식과 경험을 Obsidian 볼트 기반 온톨로지 지식그래프로 구조화하고, GraphRAG로 맥락적 검색·추론을 수행하는 AI 세컨드브레인 시스템이다.
14
+
15
+ 기존 노트 앱이 "저장"에 머무는 반면, Mnemo는 **"저장 → 구조화 → 연결 → 추론 → 복습"** 전체 지식 라이프사이클을 자동화한다.
16
+
17
+ **핵심 차별점:**
18
+ - Obsidian 볼트 자체가 지식그래프 (별도 DB 없음)
19
+ - GraphRAG로 멀티홉 맥락 추론
20
+ - OpenClaw AI 에이전트가 수집·분석·복습·브리핑 자동화
21
+ - 데이터 소유권 100% 로컬
22
+
23
+ ---
24
+
25
+ ## 2. Problem Statement
26
+
27
+ ### 현재 지식 관리의 3대 문제
28
+
29
+ | 문제 | 현상 | 결과 |
30
+ |------|------|------|
31
+ | **정보 과부하** | 매일 수십 개의 글/영상/논문 소비 | 90%는 소비 후 증발 |
32
+ | **지식 파편화** | 노션, 메모, 북마크, 카톡에 흩어진 정보 | 연결이 안 되어 인사이트 미발생 |
33
+ | **수동적 관리** | 정리는 항상 "나중에" | 세컨드브레인이 아닌 "디지털 쓰레기통" |
34
+
35
+ ### 기존 솔루션의 한계
36
+
37
+ | 도구 | 한계 |
38
+ |------|------|
39
+ | **Notion** | 클라우드 종속, 지식그래프 없음, AI가 표면적 검색만 |
40
+ | **Obsidian (순수)** | 수동 연결만 가능, RAG 없음, 그래프뷰는 시각화일 뿐 |
41
+ | **Mem.ai / Reflect** | 폐쇄적 생태계, 데이터 이동 어려움, 비쌈 |
42
+ | **NotebookLM** | 소스 기반 QA만 가능, 지식 간 연결/추론 불가 |
43
+
44
+ **Mnemo가 해결:** 옵시디언의 자유도 + AI의 자동화 + 지식그래프의 맥락 추론
45
+
46
+ ---
47
+
48
+ ## 3. Target Users
49
+
50
+ ### 페르소나 1: 📚 지식 노동자 "현우" (30대, PM)
51
+ - 매일 10+ 아티클/유튜브 소비
52
+ - 옵시디언 사용 중이지만 정리 못하고 쌓이기만 함
53
+ - **Pain:** "분명 전에 읽었는데 어디 적었는지 모르겠다"
54
+ - **Want:** AI가 알아서 정리하고, 관련 지식을 연결해줬으면
55
+
56
+ ### 페르소나 2: 🚀 1인 창업가 "지니" (30대, 다중 프로젝트)
57
+ - 9개+ 프로젝트 동시 운영
58
+ - 브레인스토밍 내용, 시장 리서치, 기술 메모가 프로젝트별로 흩어져 있음
59
+ - **Pain:** "A 프로젝트에서 배운 게 B에도 적용되는데 연결이 안 돼"
60
+ - **Want:** 프로젝트 간 인사이트 자동 연결 + 일일 브리핑
61
+
62
+ ### 페르소나 3: 🎓 리서처 "수진" (40대, 컨설턴트)
63
+ - 산업별 규정, 논문, 사례를 체계적으로 관리해야 함
64
+ - **Pain:** "이 규정이 어떤 사례와 관련되는지 수동으로 찾아야 해"
65
+ - **Want:** 질문하면 관련 지식을 그래프로 탐색해서 답해주는 시스템
66
+
67
+ ---
68
+
69
+ ## 4. Core Features (우선순위별)
70
+
71
+ ### P0 — Must Have (Phase 1-2)
72
+
73
+ | 기능 | 설명 |
74
+ |------|------|
75
+ | **Obsidian 볼트 파서** | YAML frontmatter + `[[위키링크]]` + 태그 자동 추출 |
76
+ | **온톨로지 엔진** | Person/Concept/Project/Tool/Insight 엔티티 분류 + 관계 추출 |
77
+ | **NetworkX 그래프 빌더** | 볼트에서 인메모리 지식그래프 동적 생성 |
78
+ | **벡터 임베딩** | 노트별 임베딩 생성 + 로컬 저장 |
79
+ | **하이브리드 검색** | 벡터 유사도 + 그래프 관계 탐색 결합 |
80
+
81
+ ### P1 — Should Have (Phase 3)
82
+
83
+ | 기능 | 설명 |
84
+ |------|------|
85
+ | **자연어 질의** | "이 개념과 관련된 프로젝트는?" → 멀티홉 추론 답변 |
86
+ | **자동 수집** | RSS/웹클리핑/YouTube → Obsidian 노트 자동 변환 |
87
+ | **Obsidian 플러그인** | 인라인 쿼리 UI, 관계 시각화 |
88
+ | **지식 연결 제안** | 새 노트 작성 시 기존 관련 노트 자동 추천 |
89
+
90
+ ### P2 — Nice to Have (Phase 4)
91
+
92
+ | 기능 | 설명 |
93
+ |------|------|
94
+ | **망각 곡선 복습** | 과거 스크랩 지식을 주기적으로 퀴즈/요약 |
95
+ | **오디오 브리핑** | 일일 지식 요약을 TTS로 생성 |
96
+ | **NotebookLM 연동** | Open Gate 플러그인 통한 빠른 리서치 |
97
+ | **인포그래픽 자동 생성** | 지식 구조를 시각적 카드로 변환 |
98
+
99
+ ---
100
+
101
+ ## 5. Technical Architecture
102
+
103
+ ```
104
+ ┌──────────────────────────────────────────┐
105
+ │ Obsidian Vault │
106
+ │ (Markdown + YAML + [[링크]] + Tags) │
107
+ │ = Data Lake + Knowledge Graph │
108
+ └────────────────┬─────────────────────────┘
109
+ │ Python 파서
110
+
111
+ ┌──────────────────────────────────────────┐
112
+ │ 온톨로지 엔진 │
113
+ │ - YAML frontmatter 파싱 │
114
+ │ - [[위키링크]] 관계 추출 │
115
+ │ - 엔티티 분류 (LLM-assisted) │
116
+ └────────────────┬─────────────────────────┘
117
+
118
+ ┌────────┴────────┐
119
+ ▼ ▼
120
+ ┌───────────────┐ ┌───────────────────┐
121
+ │ NetworkX │ │ 벡터 스토어 │
122
+ │ (인메모리 │ │ (임베딩 캐시) │
123
+ │ 그래프) │ │ │
124
+ └───────┬───────┘ └────────┬──────────┘
125
+ │ │
126
+ └────────┬─────────┘
127
+
128
+ ┌──────────────────────────────────────────┐
129
+ │ GraphRAG 쿼리 엔진 │
130
+ │ - 그래프 탐색 + 벡터 유사도 병합 │
131
+ │ - 멀티홉 추론 │
132
+ │ - LLM 답변 생성 │
133
+ └────────────────┬─────────────────────────┘
134
+
135
+ ┌────────┴────────┐
136
+ ▼ ▼
137
+ ┌───────────────┐ ┌───────────────────┐
138
+ │ Obsidian │ │ OpenClaw Agent │
139
+ │ Plugin (UI) │ │ (자동화/크론) │
140
+ └───────────────┘ └───────────────────┘
141
+ ```
142
+
143
+ ### 핵심 기술 선택 근거
144
+
145
+ | 선택 | 이유 |
146
+ |------|------|
147
+ | Obsidian (not Notion) | 데이터 소유권, 마크다운 파워, 무한 확장성, 로컬 저장 |
148
+ | NetworkX (not Neo4j) | 별도 DB 서버 불필요, 볼트가 source of truth, 개인 규모에 충분 |
149
+ | 하이브리드 검색 (not 벡터만) | 그래프 관계를 활용한 맥락 추론이 단순 유사도 검색보다 우월 |
150
+ | OpenClaw (not 독립 에이전트) | 기존 인프라 활용, 크론/스킬 시스템, 멀티 채널 알림 |
151
+
152
+ ---
153
+
154
+ ## 6. Success Metrics (KPI)
155
+
156
+ ### 제품 KPI
157
+
158
+ | 지표 | 목표 (6개월) |
159
+ |------|-------------|
160
+ | 일일 자동 수집 노트 수 | 10+ |
161
+ | 지식 연결 제안 정확도 | 70%+ |
162
+ | GraphRAG 질의 응답 만족도 | 4/5+ |
163
+ | 망각 곡선 복습 완료율 | 60%+ |
164
+ | 볼트 내 고아 노트 비율 감소 | 50% → 20% |
165
+
166
+ ### 사업 KPI (12개월)
167
+
168
+ | 지표 | 목표 |
169
+ |------|------|
170
+ | Obsidian 플러그인 설치 수 | 1,000+ |
171
+ | 유료 전환율 | 5%+ |
172
+ | MRR (월 반복 매출) | $500+ |
173
+ | 온라인 코스 수강생 | 100+ |
174
+
175
+ ---
176
+
177
+ ## 7. Competitive Landscape
178
+
179
+ | 제품 | 지식그래프 | GraphRAG | AI 자동화 | 데이터 소유권 | 가격 |
180
+ |------|-----------|----------|----------|-------------|------|
181
+ | **Mnemo** | ✅ Obsidian-native | ✅ 하이브리드 | ✅ OpenClaw | ✅ 로컬 100% | 프리미엄 플러그인 |
182
+ | Notion AI | ❌ | ❌ 벡터만 | △ 기본 | ❌ 클라우드 | $10/월 |
183
+ | Mem.ai | △ 자동 | ❌ 벡터만 | △ 기본 | ❌ 클라우드 | $15/월 |
184
+ | Obsidian Copilot | ❌ | ❌ 벡터만 | ❌ | ✅ 로컬 | 무료 |
185
+ | Reflect | △ 백링크 | ❌ | △ 기본 | △ E2E 암호화 | $10/월 |
186
+
187
+ **Mnemo 포지셔닝:** 유일하게 **지식그래프 + GraphRAG + AI 자동화 + 로컬 데이터 소유권** 4가지를 모두 갖춘 솔루션
188
+
189
+ ---
190
+
191
+ ## 8. Monetization Strategy
192
+
193
+ > 상세: [A004-수익화-전략.md](A004-수익화-전략.md)
194
+
195
+ ### 5채널 수익 구조
196
+
197
+ | # | 채널 | 가격 | 시기 |
198
+ |---|------|------|------|
199
+ | 1 | **Obsidian 프리미엄 플러그인** | $5/월 | Phase 2 (4-8주) |
200
+ | 2 | **clawhub 스킬 (`mnemo`)** | 스킬 구독 | Phase 3 (8-12주) |
201
+ | 3 | **BOTMEMO 앱** (BOT Suite #7) | ₩5,900/월 | Phase 3 (8-12주) |
202
+ | 4 | **교육 코스** | $49 일회성 | Phase 4 (12주+) |
203
+ | 5 | **Mnemo Cloud (SaaS)** | $15/월 | Phase 4 (12주+) |
204
+
205
+ ### BOT Suite 시너지
206
+
207
+ Mnemo = BOT Suite의 "뇌". 다른 봇(BOTALKS, BOTCON, BOTTOK, BOTTUTOR)의 활동 데이터를 지식으로 연결·축적·추론.
208
+
209
+ ### 수익 목표
210
+
211
+ - 6개월: ~$825/월 (보수적)
212
+ - 12개월: ~$4,845/월 (낙관적)
213
+
214
+ ---
215
+
216
+ ## 9. Risks & Mitigations
217
+
218
+ | 리스크 | 영향 | 확률 | 대응 |
219
+ |--------|------|------|------|
220
+ | 대규모 볼트 성능 저하 | 높음 | 중간 | 증분 빌드, 캐싱, lazy loading |
221
+ | LLM API 비용 급증 | 중간 | 높음 | 로컬 모델 (Ollama) 대안, 임베딩 캐시 |
222
+ | Obsidian API 변경 | 중간 | 낮음 | 마크다운 파싱 기반 (API 비의존적) |
223
+ | 경쟁사 빠른 추격 | 중간 | 중간 | 온톨로지+GraphRAG 깊이에서 차별화 |
224
+ | 사용자 온톨로지 설계 진입장벽 | 높음 | 높음 | 템플릿 제공, AI 자동 분류, 점진적 도입 |
225
+
226
+ ---
227
+
228
+ ## 10. Phase별 MVP 범위
229
+
230
+ ### Phase 1: 지식 수집 파이프라인 (4주)
231
+ - [ ] Obsidian 마크다운 파서 (Python)
232
+ - [ ] RSS → 노트 자동 변환
233
+ - [ ] YouTube → 요약 + 타임스탬프 노트
234
+ - [ ] 웹 클리핑 → 마크다운 변환
235
+ - **산출물:** 일일 자동 수집 동작하는 파이프라인
236
+
237
+ ### Phase 2: 온톨로지 그래프 구축 (4주)
238
+ - [ ] 온톨로지 스키마 정의 (YAML 규격)
239
+ - [ ] 엔티티/관계 자동 추출 엔진
240
+ - [ ] NetworkX 인메모리 그래프 빌더
241
+ - [ ] 벡터 임베딩 생성 + 캐시
242
+ - **산출물:** 볼트에서 지식그래프 자동 생성
243
+
244
+ ### Phase 3: GraphRAG 검색 엔진 (4주)
245
+ - [ ] 하이브리드 검색 (벡터 + 그래프)
246
+ - [ ] 멀티홉 추론 엔진
247
+ - [ ] Obsidian 플러그인 MVP (인라인 질의)
248
+ - [ ] 지식 연결 제안 기능
249
+ - **산출물:** 자연어로 질의 가능한 세컨드브레인
250
+
251
+ ### Phase 4: AI 에이전트 자동화 (4주)
252
+ - [ ] 망각 곡선 복습 에이전트
253
+ - [ ] 일일 오디오 브리핑 (TTS)
254
+ - [ ] 신규↔기존 지식 자동 연결
255
+ - [ ] OpenClaw 크론 통합
256
+ - **산출물:** 완전 자동화된 세컨드브레인
257
+
258
+ ---
259
+
260
+ ## 11. 첫 번째 적용: MAIBOT
261
+
262
+ Mnemo의 첫 적용 대상은 **MAIBOT 자체**이다. MAIBOT은 이미 Obsidian 볼트(3,037개 파일), memory 시스템(23개), 크론 자동화를 갖추고 있어 Mnemo의 이상적인 테스트베드.
263
+
264
+ ### 현재 vs 적용 후
265
+
266
+ | | 현재 | Mnemo 적용 후 |
267
+ |---|---|---|
268
+ | 검색 대상 | memory/*.md (23파일) | 볼트 전체 3,037파일 + memory |
269
+ | 검색 방식 | 시맨틱 (벡터만) | 벡터 + 그래프 하이브리드 |
270
+ | 크로스 프로젝트 | ❌ | ✅ 9개 프로젝트 간 추론 |
271
+ | 관계 탐색 | ❌ | ✅ 멀티홉 |
272
+
273
+ ### 적용 방식
274
+
275
+ OpenClaw 스킬(`skills/mnemo/`)로 등록 → MAIBOT이 질문받으면 GraphRAG 쿼리 → 기존 `memory_search` 보강.
276
+
277
+ ---
278
+
279
+ ## Appendix: 아이디어 원천
280
+
281
+ - "평범한 사업가" YouTube 팟캐스트 #74: GraphRAG와 온톨로지 (팔란티어 사례)
282
+ - "평범한 사업가" YouTube 팟캐스트 #77: 옵시디언 플러그인 만들기
283
+ - 핵심 인사이트: "기업이 수백억 들여 만드는 온톨로지 시스템을, 개인은 옵시디언으로 구현할 수 있다"
284
+
285
+ ---
286
+
287
+ *Created: 2026-02-20 by MAIBOT*