You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Document and harden metadata cache keys as path|mtime|size|contentHash to avoid cross-note collisions. Add summary lifecycle modes none/off (preview-only until explicit insert), configurable Ollama timeout (default 12s), status bar/panel online-offline indicator, tag relevance scores with reason tooltips, optional Apply/Cancel diff preview, and EN/RU command/settings strings. Stub glyph-mi notes adapter for a future shared confidence/sources contract without breaking the local offline path.
<strong>Metadata Intelligence for Obsidian</strong><br>
@@ -24,42 +24,52 @@
24
24
25
25
**glyph-miO** is an Obsidian community plugin that analyzes the **active note** and helps you organize knowledge faster:
26
26
27
-
-**Extractive summaries** — a compact block of key sentences inserted at the top of the note
28
-
-**Tag suggestions** — ranked by relevance to title, headings, and body text
27
+
-**Extractive summaries** — a compact callout block inserted at the end of the note
28
+
-**Tag suggestions** — ranked by relevance to title, headings, and body, with scores/tooltips
29
29
-**Offline by default** — no cloud, no API keys; optional local Ollama enhancement
30
30
31
-
It pairs naturally with [**glyph-sO**](https://github.com/FlokeStudio/glyph-sO): search finds notes across the vault; glyph-miO understands the note you’re working on right now.
31
+
It pairs naturally with [**glyph-sO**](https://github.com/FlokeStudio/glyph-sO): search finds notes across the vault; glyph-miO understands the note you’re working on right now. Long-term UI chrome aims to share a **glyph-ui** styling kit with sO.
32
32
33
-
### What’s new in 2.7
33
+
### What’s new in 2.7.1
34
34
35
-
**Service-based architecture** — core logic split into focused modules:
35
+
-**Safer metadata cache key** — always includes vault path plus mtime, size, and a short content hash (documented in `services/metadata.js`)
36
+
-**Summary mode `none` / `off`** — preview in the MI panel only; write when you Insert / run summarize explicitly
37
+
-**Ollama timeout setting** — configurable seconds (default **12**), used for generate calls
38
+
-**Tag explainability** — relevance % on chips + tooltip (title / heading / body / frontmatter)
39
+
-**Ollama status** — status bar + panel pill (online / offline fallback / disabled)
40
+
-**Optional diff preview** — Apply / Cancel modal before insert or replace
41
+
-**RU labels** — commands and settings follow Obsidian language when set to Russian
42
+
-**Adapter stub** — `services/glyph-mi-notes-adapter.js` ready to consume glyph-mi `notes` without breaking the local offline path
43
+
44
+
### What’s in 2.7
45
+
46
+
**Service-based architecture** — core logic in focused modules:
36
47
37
48
| Service | Responsibility |
38
49
|---------|----------------|
39
-
|`services/metadata.js`| Weighted tag scoring, stop-word filtering, analysis cache |
**Weighted metadata scoring** — tags are ranked using multiple signals:
55
+
**Weighted metadata scoring** — tags ranked by:
43
56
44
57
- Matches in the note title (highest weight)
45
58
- Frequency in headings
46
59
- Density in body paragraphs
47
-
- Existing frontmatter / inline tags (boost)
48
-
49
-
Results are **cached** by note path, modification time, and content size — re-analysis is instant when nothing changed.
60
+
- Existing frontmatter tags (boost)
50
61
51
62
**Summary lifecycle modes:**
52
63
53
64
| Mode | Behavior |
54
65
|------|----------|
55
-
|`append`| Each summarize action adds a new `<!-- glyph-mi summary -->` block |
66
+
|`append`| Each summarize/insert adds a new `<!-- glyph-miO-summary -->` block |
56
67
|`replace-latest`| Updates the most recent summary block in place (default) |
57
-
58
-
**Cleaner UI** — refined panel spacing and typography for a minimalist Obsidian-native feel.
68
+
|`none` / `off`| Do not auto-write; show draft in the panel; insert only via Insert / summarize command |
59
69
60
70
### Install
61
71
62
-
1. Download the latest release from [Releases](https://github.com/FlokeStudio/glyph-miO/releases).
72
+
1. Download the latest release from [Releases](https://github.com/FlokeStudio/glyph-miO/releases) (or clone `main`).
63
73
2. Extract into your vault:
64
74
65
75
```
@@ -69,20 +79,22 @@ Results are **cached** by note path, modification time, and content size — re-
69
79
├── styles.css
70
80
└── services/
71
81
├── metadata.js
72
-
└── summary.js
82
+
├── summary.js
83
+
├── i18n.js
84
+
└── glyph-mi-notes-adapter.js
73
85
```
74
86
75
87
3. Enable **glyph-miO** in **Settings → Community plugins**.
76
88
77
89
### Commands
78
90
79
-
| Command | What it does |
80
-
|---------|--------------|
81
-
|**Glyph: open MI panel**| Interactive panel with tags and summary preview |
82
-
|**Glyph: summarize note**| Insert or update the summary block |
83
-
|**Glyph: jump to MI summary**| Cursor jumps to the `<!-- glyph-mi summary -->` marker |
84
-
|**Glyph: analyze active note**| Run analysis without opening the panel |
85
-
|**Glyph: suggest tags**|Apply top-ranked tag suggestions to the note|
91
+
| Command (EN) | Command (RU) | What it does |
92
+
|--------------|--------------|--------------|
93
+
|**Glyph: open MI panel**|**Glyph: открыть панель MI**|Interactive panel with tags and summary preview |
94
+
|**Glyph: summarize note**|**Glyph: пересказ заметки**|Insert or update the summary block (respects mode + diff preview)|
95
+
|**Glyph: jump to MI summary**|**Glyph: перейти к саммари MI**|Cursor jumps to the summary marker |
96
+
|**Glyph: analyze active note**|**Glyph: анализ активной заметки**|Run analysis without opening the panel |
97
+
|**Glyph: suggest tags**|**Glyph: предложить теги**| Show top-ranked tags with relevance %|
86
98
87
99
### Settings
88
100
@@ -91,69 +103,69 @@ Results are **cached** by note path, modification time, and content size — re-
91
103
|**Enable Ollama**| Try local LLM for JSON-structured summaries (default: on) |
92
104
|**Ollama URL**| Base URL, default `http://127.0.0.1:11434`|
93
105
|**Model**| Ollama model name, default `llama3.2`|
94
-
|**Summary block mode**|`append` or `replace-latest`|
106
+
|**Ollama timeout (seconds)**| Abort generation after N seconds (default **12**), then offline fallback |
107
+
|**Summary block mode**|`append`, `replace-latest`, `none`, or `off`|
108
+
|**Diff preview before Apply**| Show before/after modal (Apply / Cancel) before writing |
95
109
96
110
### How analysis works
97
111
98
-
1.**Offline path (always available):** the plugin tokenizes the note, scores tag candidates, selects key sentences for the summary, and formats a marked block.
99
-
2.**Ollama path (optional):** if Ollama responds within the timeout, the plugin requests a JSON summary with tags. On failure or timeout, it **falls back** to the offline algorithm — no error dialogs, no broken workflow.
112
+
1.**Offline path (always available):** tokenize → score tags with reasons → pick key sentences → format marked block.
113
+
2.**Ollama path (optional):** if Ollama responds within the configured timeout, request JSON summary + tags. On failure or timeout, **fall back** to the offline algorithm.
114
+
115
+
### Architecture note (local vs glyph-mi)
116
+
117
+
MI logic for this plugin currently lives in local **`services/*`**. Roadmap: consume the shared [glyph-mi](https://github.com/krwg/glyph-mi)**`notes`** module for a common contract (`confidence` / `sources`) via the thin adapter stub — without removing the offline path. Shared **glyph-ui** styling with glyph-sO is a parallel goal.
100
118
101
119
### Example summary block
102
120
103
121
```markdown
104
-
<!-- glyph-mi summary -->
105
-
**Summary:** This note covers project planning for Q3, including milestone
106
-
definitions and resource allocation across three teams.
122
+
---
123
+
<!-- glyph-miO-summary -->
124
+
> [!summary] Glyph MI-O
125
+
> This note covers project planning for Q3, including milestone
126
+
> definitions and resource allocation across three teams.
0 commit comments