@zosmaai/pi-llm-wiki 0.11.3 → 0.11.5
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.
- package/CHANGELOG.md +10 -0
- package/README.de.md +8 -0
- package/README.es.md +8 -0
- package/README.fr.md +8 -0
- package/README.hi.md +8 -0
- package/README.ja.md +8 -0
- package/README.ko.md +8 -0
- package/README.md +88 -2
- package/README.pt.md +8 -0
- package/README.ru.md +8 -0
- package/README.zh.md +8 -0
- package/assets/wiki-dashboard.png +0 -0
- package/commands/wiki-digest.md +28 -0
- package/commands/wiki-discover.md +30 -0
- package/commands/wiki-ingest.md +37 -0
- package/commands/wiki-init.md +30 -0
- package/commands/wiki-lint.md +25 -0
- package/commands/wiki-query.md +37 -0
- package/commands/wiki-record.md +36 -0
- package/commands/wiki-req.md +56 -0
- package/commands/wiki-retro.md +35 -0
- package/commands/wiki-run.md +31 -0
- package/commands/wiki-skills.md +26 -0
- package/commands/wiki-status.md +16 -0
- package/dist/extensions/llm-wiki/lib/dashboard-command.js +86 -0
- package/dist/extensions/llm-wiki/lib/dashboard.js +175 -0
- package/dist/extensions/llm-wiki/lib/guardrails.js +30 -1
- package/dist/extensions/llm-wiki/lib/host.js +117 -0
- package/dist/extensions/llm-wiki/lib/ingest-worker.js +2 -1
- package/dist/extensions/llm-wiki/lib/knowledge-document.js +20 -2
- package/dist/extensions/llm-wiki/lib/knowledge-links.js +6 -3
- package/dist/extensions/llm-wiki/lib/metadata.js +1 -1
- package/dist/extensions/llm-wiki/lib/observation.js +31 -3
- package/dist/extensions/llm-wiki/lib/settings-command.js +377 -0
- package/dist/extensions/llm-wiki/lib/task-config.js +145 -43
- package/dist/extensions/llm-wiki/lib/utils.js +59 -16
- package/docs/api.md +24 -1
- package/docs/commands.md +6 -1
- package/docs/configuration.md +62 -11
- package/docs/superpowers/plans/2026-08-09-qmd-retrieval-phase-1-quality-baseline-and-compatibility.md +1520 -0
- package/docs/superpowers/roadmaps/2026-08-09-qmd-retrieval-roadmap.md +448 -0
- package/docs/superpowers/specs/2026-08-08-qmd-retrieval-design.md +806 -0
- package/extensions/llm-wiki/index.ts +48 -6
- package/extensions/llm-wiki/lib/dashboard-command.ts +106 -0
- package/extensions/llm-wiki/lib/dashboard.ts +210 -0
- package/extensions/llm-wiki/lib/guardrails.ts +26 -1
- package/extensions/llm-wiki/lib/host.ts +145 -0
- package/extensions/llm-wiki/lib/ingest-worker.ts +4 -0
- package/extensions/llm-wiki/lib/knowledge-document.ts +20 -2
- package/extensions/llm-wiki/lib/knowledge-links.ts +7 -3
- package/extensions/llm-wiki/lib/metadata.ts +1 -1
- package/extensions/llm-wiki/lib/observation.ts +37 -4
- package/extensions/llm-wiki/lib/settings-command.ts +483 -0
- package/extensions/llm-wiki/lib/task-config.ts +208 -46
- package/extensions/llm-wiki/lib/utils.ts +55 -14
- package/package.json +15 -4
- package/prompts/wiki-ingest.md +1 -0
- package/prompts/wiki-req.md +1 -0
- package/prompts/wiki-retro.md +1 -0
- package/skills/llm-wiki/SKILL.md +11 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
### Added
|
|
6
|
+
- **oh-my-pi (`omp`) host support** alongside pi, from one codebase and with no hard fork. `@oh-my-pi/pi-coding-agent` rewrites `@mariozechner/pi-*` and bare `typebox` specifiers onto its own bundled packages, so the extension module graph is unchanged; what differed was the on-disk config layout and slash-command discovery.
|
|
7
|
+
- **`extensions/llm-wiki/lib/host.ts`**: detects the host (`LLM_WIKI_HOST` override → agent-directory marker → `OMP_PROFILE` → `pi`) and enumerates every settings file both layouts use.
|
|
8
|
+
- **Dual-layout settings**: `loadTaskConfig` now merges `<agentDir>/{settings.json,config.yml,config.yaml}` and `<cwd>/{.pi,.omp}/{settings.json,config.yml,config.yaml}`, host-native project directory last. YAML is parsed for the `config.yml` files oh-my-pi migrates to. `/wiki-model` and `/wiki-trajectories` write JSON into whichever project config directory already exists, so a `.pi`-only repository never sprouts a second settings file and a hand-authored `config.yml` is never rewritten.
|
|
9
|
+
- **`commands/`**: a generated, committed mirror of `prompts/` (`npm run build:commands`, also run by `prepack`). pi finds slash-command templates through `pi.prompts`; oh-my-pi only turns `<package>/commands/*.md` into real `/wiki-*` commands.
|
|
10
|
+
- **Manifest**: added `package.json#omp.extensions`, naming the entry module rather than the `./extensions` directory — oh-my-pi reads `omp` before falling back to `pi`, and `omp -e <package-root>` imports a manifest entry verbatim, so a directory entry fails there. No new dependency: the host resolves its own bundled packages for the extension, so an `@oh-my-pi/pi-coding-agent` peer would be inert while dragging the whole host tree into `pnpm-lock.yaml`.
|
|
11
|
+
- **17 tests** (`test/host-compat.test.ts`, plus manifest/mirror assertions in `test/package-structure.test.ts`): host detection and its precedence, settings-file enumeration and ordering, write-target selection, cross-host config round-trips, YAML reads, corrupt-file tolerance, and `commands/`↔`prompts/` parity.
|
|
12
|
+
- **Ambient surfaces are gated on "does a wiki apply here"**: the session notice, the periodic observe/retro reminder, and the `before_agent_start` recall injection (with its `<wiki_status>` system-prompt footer) fire unprompted, and vault resolution falls back to the personal vault — so once `~/.llm-wiki/` existed they spoke up in EVERY directory, injecting reminders and unrelated cross-project recall hits into repositories that never ran `/wiki-init`. Harmless under pi, where extensions are opted into per project; under oh-my-pi the plugin is installed once and loads everywhere. New `resolveProjectVaultRoot()` answers the question the old `resolveVaultRoot()` could not — "does THIS project have a vault", with no personal fallback and no false positive from the personal vault sitting on the ancestor path of every project under `$HOME`. The new `llm-wiki.ambientPersonalVault` setting overrides the host-dependent default (`true` under pi, preserving historical behaviour; `false` under omp). Tools and slash commands are registered either way, so `/wiki-init` and `wiki_bootstrap` still work in any directory.
|
|
13
|
+
- **17 more tests** (`test/ambient-gate.test.ts`): project-vault resolution (own vault, ancestor walk, `WIKI_HOME`, personal-vault exclusion), the host-dependent default and its explicit override, the composed gate across four project states, and the reminder gate — including that a closed gate does not bank turns, so opening it later is not an instant nag, and that `display: false` is not a substitute because it still injects into model context.
|
|
14
|
+
|
|
5
15
|
### Fixed
|
|
6
16
|
- **MCP server failed to start on `@modelcontextprotocol/server` 2.0.0** (Issue #128): `mcp/index.ts` imported `StdioServerTransport` from the package root, but SDK 2.0.0 (published 2026-07-27) moved that export to the `./stdio` subpath, so `node dist/mcp/index.js` died with `SyntaxError: The requested module '@modelcontextprotocol/server' does not provide an export named 'StdioServerTransport'` before the transport ever connected. The declared range `^2.0.0-alpha.2` is a caret range over a prerelease, so it permits `2.0.0`: every fresh consumer install resolved the stable SDK against the pre-stable import, while `pnpm-lock.yaml` pinned the `2.0.0-alpha.2` floor — so `test/mcp-package.test.ts`, which does spawn the published command and complete the stdio handshake, only ever exercised the alpha where the root export still existed. Fixed by importing `StdioServerTransport` from `@modelcontextprotocol/server/stdio` (the `./stdio` subpath does not exist in `2.0.0-alpha.2`, so the range, the lockfile and the import move together), raising the range to `^2.0.0`, and refreshing the lockfile so the existing smoke test now runs against the SDK consumers actually get.
|
|
7
17
|
- **Packaged MCP server was never exercised with consumer-resolved dependencies**: a new `packaged-mcp-consumer` CI job packs the tarball, installs it into a directory with **no lockfile**, prints the resolved SDK version, and runs `scripts/mcp-smoke.mjs` — the stdio handshake (`initialize` → `tools/list`) — against that install. This closes the whole class of failure behind Issue #128: a dependency range that resolves differently for consumers than for this repo's lockfile can no longer break the published server undetected.
|
package/README.de.md
CHANGED
|
@@ -125,7 +125,9 @@ Das Ergebnis ist ein Wiki, das wächst, während du Quellen erfasst, Fragen stel
|
|
|
125
125
|
| `wiki_search` | Search the generated wiki registry |
|
|
126
126
|
| `wiki_lint` | Deterministic health checks (orphans, gaps, contradictions, auto-fix) |
|
|
127
127
|
| `wiki_status` | Show counts, source states, and recent activity |
|
|
128
|
+
| `wiki_observe` | Aktuelle Sitzung als zeitgestempelte, durchsuchbare Beobachtung im wiki vermerken |
|
|
128
129
|
| `wiki_rebuild_meta` | Force a full metadata rebuild (registry, backlinks, index, log) |
|
|
130
|
+
| `wiki_reindex_embeddings` | Semantische Embeddings neuer oder veralteter Seiten aktualisieren (no-op ohne Embedding-Provider) |
|
|
129
131
|
| `wiki_log_event` | Append a structured event to the wiki activity log |
|
|
130
132
|
| `wiki_watch` | Print a `crontab` line for automatic wiki updates (daily / weekly / hourly) — does not install it |
|
|
131
133
|
| `wiki_capture_trajectory` _(opt-in)_ | Capture the completed task's tool-call trajectory (agent working-memory) |
|
|
@@ -147,10 +149,16 @@ Das Ergebnis ist ein Wiki, das wächst, während du Quellen erfasst, Fragen stel
|
|
|
147
149
|
| `/wiki-status` | Show a concise operational summary |
|
|
148
150
|
| `/wiki-digest [--period daily\|weekly]` | Generate a digest of recent activity |
|
|
149
151
|
| `/wiki-retro` | Save atomic insights from completed tasks |
|
|
152
|
+
| `/wiki-model [provider/id | session]` | Modell für Hintergrund-Aufgaben setzen (ohne Argument: interaktiver Auswahlbildschirm) |
|
|
150
153
|
| `/wiki-req <concept>` | Decompose a concept into atomic, traceable requirement pages |
|
|
151
154
|
| `/wiki-trajectories <on\|off>` | Enable/disable agent working-memory (opt-in, off by default) |
|
|
152
155
|
| `/wiki-record <title>` | Capture the completed task's trajectory (requires trajectories enabled) |
|
|
153
156
|
| `/wiki-skills [query]` | Search distilled skills + past cases (requires trajectories enabled) |
|
|
157
|
+
| `/wiki-settings` | Interaktive Einstellungensoberfläche — alle `llm-wiki`-Einstellungen in Projekt- oder globaler Sicht anzeigen/ändern |
|
|
158
|
+
| `/wiki-dashboard` | Nur lesbare Vault-übersicht — Seiten je Typ, Aktualität, 7-Tage-Aktivität, Ingest-Warteschlange, Seiten ohne Backlinks, Embedding-Abdeckung |
|
|
159
|
+
|
|
160
|
+
<img src="./assets/wiki-dashboard.png" alt="wiki-dashboard: Vault-übersicht" width="100%" />
|
|
161
|
+
|
|
154
162
|
|
|
155
163
|
---
|
|
156
164
|
|
package/README.es.md
CHANGED
|
@@ -111,7 +111,9 @@ El resultado es un wiki que **se acumula** mientras capturas fuentes, haces preg
|
|
|
111
111
|
| `wiki_search` | Busca en el registro generado del wiki |
|
|
112
112
|
| `wiki_lint` | Comprobaciones de salud deterministas (huérfanos, lagunas, contradicciones, auto-reparación) |
|
|
113
113
|
| `wiki_status` | Muestra conteos, estados de fuentes y actividad reciente |
|
|
114
|
+
| `wiki_observe` | Registra observaciones de la sesión actual con marca de tiempo y buscables |
|
|
114
115
|
| `wiki_rebuild_meta` | Fuerza una reconstrucción completa de metadatos (registro, backlinks, índice, registro) |
|
|
116
|
+
| `wiki_reindex_embeddings` | Refresca los embeddings semánticos de páginas nuevas o desactualizadas (no hace nada sin proveedor de embeddings) |
|
|
115
117
|
| `wiki_log_event` | Adjunta un evento estructurado al registro de actividad del wiki |
|
|
116
118
|
| `wiki_watch` | Imprime una línea `crontab` para actualizaciones automáticas del wiki (diaria / semanal / horaria) — no la instala |
|
|
117
119
|
| `wiki_capture_trajectory` _(opcional)_ | Captura la trayectoria de llamadas de herramientas de la tarea completada (memoria de trabajo del agente) |
|
|
@@ -133,10 +135,16 @@ El resultado es un wiki que **se acumula** mientras capturas fuentes, haces preg
|
|
|
133
135
|
| `/wiki-status` | Muestra un resumen operativo conciso |
|
|
134
136
|
| `/wiki-digest [--period daily\|weekly]` | Genera un resumen de actividad reciente |
|
|
135
137
|
| `/wiki-retro` | Guarda ideas atómicas de tareas completadas |
|
|
138
|
+
| `/wiki-model [provider/id | session]` | Fija el modelo de las tareas en segundo plano (sin argumento: selector interactivo) |
|
|
136
139
|
| `/wiki-req <concept>` | Descompone un concepto en páginas de requisitos atómicas y rastreables |
|
|
137
140
|
| `/wiki-trajectories <on\|off>` | Activa/desactiva la memoria de trabajo del agente (opcional, desactivada por defecto) |
|
|
138
141
|
| `/wiki-record <title>` | Captura la trayectoria de la tarea completada (requiere trayectorias activadas) |
|
|
139
142
|
| `/wiki-skills [query]` | Busca habilidades destiladas + casos pasados (requiere trayectorias activadas) |
|
|
143
|
+
| `/wiki-settings` | Pantalla interactiva de ajustes — ver/cambiar todos los ajustes `llm-wiki` en alcance de proyecto o global |
|
|
144
|
+
| `/wiki-dashboard` | Panel de solo lectura del vault — páginas por tipo, frescura, actividad de 7 días, cola de ingestión, páginas sin backlinks, cobertura de embeddings |
|
|
145
|
+
|
|
146
|
+
<img src="./assets/wiki-dashboard.png" alt="wiki-dashboard: panel del vault" width="100%" />
|
|
147
|
+
|
|
140
148
|
|
|
141
149
|
---
|
|
142
150
|
|
package/README.fr.md
CHANGED
|
@@ -125,7 +125,9 @@ Le résultat est un wiki qui s'accumule au fur et à mesure que vous capturez de
|
|
|
125
125
|
| `wiki_search` | Search the generated wiki registry |
|
|
126
126
|
| `wiki_lint` | Deterministic health checks (orphans, gaps, contradictions, auto-fix) |
|
|
127
127
|
| `wiki_status` | Show counts, source states, and recent activity |
|
|
128
|
+
| `wiki_observe` | Enregistre les observations horodatées et recherchables de la session en cours |
|
|
128
129
|
| `wiki_rebuild_meta` | Force a full metadata rebuild (registry, backlinks, index, log) |
|
|
130
|
+
| `wiki_reindex_embeddings` | Actualise les embeddings sémantiques des pages nouvelles ou obsolètes (no-op sans fournisseur d'embeddings) |
|
|
129
131
|
| `wiki_log_event` | Append a structured event to the wiki activity log |
|
|
130
132
|
| `wiki_watch` | Print a `crontab` line for automatic wiki updates (daily / weekly / hourly) — does not install it |
|
|
131
133
|
| `wiki_capture_trajectory` _(opt-in)_ | Capture the completed task's tool-call trajectory (agent working-memory) |
|
|
@@ -147,10 +149,16 @@ Le résultat est un wiki qui s'accumule au fur et à mesure que vous capturez de
|
|
|
147
149
|
| `/wiki-status` | Show a concise operational summary |
|
|
148
150
|
| `/wiki-digest [--period daily\|weekly]` | Generate a digest of recent activity |
|
|
149
151
|
| `/wiki-retro` | Save atomic insights from completed tasks |
|
|
152
|
+
| `/wiki-model [provider/id | session]` | Définit le modèle des tâches en arrière-plan (sans argument : sélecteur interactif) |
|
|
150
153
|
| `/wiki-req <concept>` | Decompose a concept into atomic, traceable requirement pages |
|
|
151
154
|
| `/wiki-trajectories <on\|off>` | Enable/disable agent working-memory (opt-in, off by default) |
|
|
152
155
|
| `/wiki-record <title>` | Capture the completed task's trajectory (requires trajectories enabled) |
|
|
153
156
|
| `/wiki-skills [query]` | Search distilled skills + past cases (requires trajectories enabled) |
|
|
157
|
+
| `/wiki-settings` | Écran interactif des réglages — voir/modifier tous les réglages `llm-wiki` en portée projet ou globale |
|
|
158
|
+
| `/wiki-dashboard` | Tableau de bord en lecture seule du vault — pages par type, fraîcheur, activité sur 7 jours, file d'ingestion, pages sans backlinks, couverture d'embeddings |
|
|
159
|
+
|
|
160
|
+
<img src="./assets/wiki-dashboard.png" alt="wiki-dashboard : tableau de bord du vault" width="100%" />
|
|
161
|
+
|
|
154
162
|
|
|
155
163
|
---
|
|
156
164
|
|
package/README.hi.md
CHANGED
|
@@ -125,7 +125,9 @@ The extension will proactively suggest creating a wiki on your first session. Al
|
|
|
125
125
|
| `wiki_search` | Search the generated wiki registry |
|
|
126
126
|
| `wiki_lint` | Deterministic health checks (orphans, gaps, contradictions, auto-fix) |
|
|
127
127
|
| `wiki_status` | Show counts, source states, and recent activity |
|
|
128
|
+
| `wiki_observe` | चालू session की timestamped, search-able observations को wiki में दर्ज करें |
|
|
128
129
|
| `wiki_rebuild_meta` | Force a full metadata rebuild (registry, backlinks, index, log) |
|
|
130
|
+
| `wiki_reindex_embeddings` | नई/पुरानी pages के semantic embeddings को refresh करें (बिना embedding provider के no-op) |
|
|
129
131
|
| `wiki_log_event` | Append a structured event to the wiki activity log |
|
|
130
132
|
| `wiki_watch` | Print a `crontab` line for automatic wiki updates (daily / weekly / hourly) — does not install it |
|
|
131
133
|
| `wiki_capture_trajectory` _(opt-in)_ | Capture the completed task's tool-call trajectory (agent working-memory) |
|
|
@@ -147,10 +149,16 @@ The extension will proactively suggest creating a wiki on your first session. Al
|
|
|
147
149
|
| `/wiki-status` | Show a concise operational summary |
|
|
148
150
|
| `/wiki-digest [--period daily\|weekly]` | Generate a digest of recent activity |
|
|
149
151
|
| `/wiki-retro` | Save atomic insights from completed tasks |
|
|
152
|
+
| `/wiki-model [provider/id | session]` | Background-task model set करें (बिना argument: interactive picker) |
|
|
150
153
|
| `/wiki-req <concept>` | Decompose a concept into atomic, traceable requirement pages |
|
|
151
154
|
| `/wiki-trajectories <on\|off>` | Enable/disable agent working-memory (opt-in, off by default) |
|
|
152
155
|
| `/wiki-record <title>` | Capture the completed task's trajectory (requires trajectories enabled) |
|
|
153
156
|
| `/wiki-skills [query]` | Search distilled skills + past cases (requires trajectories enabled) |
|
|
157
|
+
| `/wiki-settings` | Interactive settings screen — saare `llm-wiki` settings ko project ya global scope में dekh/change करें |
|
|
158
|
+
| `/wiki-dashboard` | केवल-पठन vault dashboard — पेज count/types, freshness, 7-दिवसीय activity, ingest queue, zero-backlink pages, embedding coverage |
|
|
159
|
+
|
|
160
|
+
<img src="./assets/wiki-dashboard.png" alt="wiki-dashboard: vault dashboard" width="100%" />
|
|
161
|
+
|
|
154
162
|
|
|
155
163
|
---
|
|
156
164
|
|
package/README.ja.md
CHANGED
|
@@ -125,7 +125,9 @@ The extension will proactively suggest creating a wiki on your first session. Al
|
|
|
125
125
|
| `wiki_search` | Search the generated wiki registry |
|
|
126
126
|
| `wiki_lint` | Deterministic health checks (orphans, gaps, contradictions, auto-fix) |
|
|
127
127
|
| `wiki_status` | Show counts, source states, and recent activity |
|
|
128
|
+
| `wiki_observe` | 現在のセッションの日時付き・検索可能な観察を wiki に記録する |
|
|
128
129
|
| `wiki_rebuild_meta` | Force a full metadata rebuild (registry, backlinks, index, log) |
|
|
130
|
+
| `wiki_reindex_embeddings` | 新規または古いページの意味的埋め込みを再計算する(プロバイダ未設定の場合は no-op) |
|
|
129
131
|
| `wiki_log_event` | Append a structured event to the wiki activity log |
|
|
130
132
|
| `wiki_watch` | Print a `crontab` line for automatic wiki updates (daily / weekly / hourly) — does not install it |
|
|
131
133
|
| `wiki_capture_trajectory` _(opt-in)_ | Capture the completed task's tool-call trajectory (agent working-memory) |
|
|
@@ -147,10 +149,16 @@ The extension will proactively suggest creating a wiki on your first session. Al
|
|
|
147
149
|
| `/wiki-status` | Show a concise operational summary |
|
|
148
150
|
| `/wiki-digest [--period daily\|weekly]` | Generate a digest of recent activity |
|
|
149
151
|
| `/wiki-retro` | Save atomic insights from completed tasks |
|
|
152
|
+
| `/wiki-model [provider/id | session]` | バックグラウンドタスクのモデルを設定(引数なしで対話式ピッカー) |
|
|
150
153
|
| `/wiki-req <concept>` | Decompose a concept into atomic, traceable requirement pages |
|
|
151
154
|
| `/wiki-trajectories <on\|off>` | Enable/disable agent working-memory (opt-in, off by default) |
|
|
152
155
|
| `/wiki-record <title>` | Capture the completed task's trajectory (requires trajectories enabled) |
|
|
153
156
|
| `/wiki-skills [query]` | Search distilled skills + past cases (requires trajectories enabled) |
|
|
157
|
+
| `/wiki-settings` | インタラクティブな設定画面 — `llm-wiki` 設定を project/global スコープで一覧/変更 |
|
|
158
|
+
| `/wiki-dashboard` | 読み取り専用のVaultダッシュボード — ページ数/タイプ、鮮度、7日間のアクティビティ、ingestキュー、バックリンク0ページ、embeddingカバレッジ |
|
|
159
|
+
|
|
160
|
+
<img src="./assets/wiki-dashboard.png" alt="wiki-dashboard: Vaultヘルス画面" width="100%" />
|
|
161
|
+
|
|
154
162
|
|
|
155
163
|
---
|
|
156
164
|
|
package/README.ko.md
CHANGED
|
@@ -125,7 +125,9 @@ The extension will proactively suggest creating a wiki on your first session. Al
|
|
|
125
125
|
| `wiki_search` | Search the generated wiki registry |
|
|
126
126
|
| `wiki_lint` | Deterministic health checks (orphans, gaps, contradictions, auto-fix) |
|
|
127
127
|
| `wiki_status` | Show counts, source states, and recent activity |
|
|
128
|
+
| `wiki_observe` | 현재 세션의 시각이 기록된 검색 가능한 관찰을 wiki에 기록 |
|
|
128
129
|
| `wiki_rebuild_meta` | Force a full metadata rebuild (registry, backlinks, index, log) |
|
|
130
|
+
| `wiki_reindex_embeddings` | 신규/변경된 페이지의 시맨틱 임베딩을 재인덱싱 (임베딩 제공자 미설정 시 no-op) |
|
|
129
131
|
| `wiki_log_event` | Append a structured event to the wiki activity log |
|
|
130
132
|
| `wiki_watch` | Print a `crontab` line for automatic wiki updates (daily / weekly / hourly) — does not install it |
|
|
131
133
|
| `wiki_capture_trajectory` _(opt-in)_ | Capture the completed task's tool-call trajectory (agent working-memory) |
|
|
@@ -147,10 +149,16 @@ The extension will proactively suggest creating a wiki on your first session. Al
|
|
|
147
149
|
| `/wiki-status` | Show a concise operational summary |
|
|
148
150
|
| `/wiki-digest [--period daily\|weekly]` | Generate a digest of recent activity |
|
|
149
151
|
| `/wiki-retro` | Save atomic insights from completed tasks |
|
|
152
|
+
| `/wiki-model [provider/id | session]` | 백그라운드 태스크 모델 설정 (인자 없으면 대화형 선택기) |
|
|
150
153
|
| `/wiki-req <concept>` | Decompose a concept into atomic, traceable requirement pages |
|
|
151
154
|
| `/wiki-trajectories <on\|off>` | Enable/disable agent working-memory (opt-in, off by default) |
|
|
152
155
|
| `/wiki-record <title>` | Capture the completed task's trajectory (requires trajectories enabled) |
|
|
153
156
|
| `/wiki-skills [query]` | Search distilled skills + past cases (requires trajectories enabled) |
|
|
157
|
+
| `/wiki-settings` | 대화형 설정 화면 — `llm-wiki` 설정을 project/global 스코프로 보기/변경 |
|
|
158
|
+
| `/wiki-dashboard` | 읽기 전용 볼트 대시보드 — 페이지 수/유형, 신선도, 7일 활동, ingest 대기열, 백링크 0 페이지, 임베딩 커버리지 |
|
|
159
|
+
|
|
160
|
+
<img src="./assets/wiki-dashboard.png" alt="wiki-dashboard: 볼트 대시보드" width="100%" />
|
|
161
|
+
|
|
154
162
|
|
|
155
163
|
---
|
|
156
164
|
|
package/README.md
CHANGED
|
@@ -47,10 +47,21 @@ Start with a new OKF vault, or point pi-llm-wiki at an existing vault and adopt
|
|
|
47
47
|
|
|
48
48
|
## Quick Start
|
|
49
49
|
|
|
50
|
+
**pi** ([`@mariozechner/pi-coding-agent`](https://github.com/badlogic/pi-mono)):
|
|
51
|
+
|
|
50
52
|
```bash
|
|
51
53
|
pi install npm:@zosmaai/pi-llm-wiki
|
|
52
54
|
```
|
|
53
55
|
|
|
56
|
+
**oh-my-pi** ([`omp`](https://github.com/can1357/oh-my-pi)):
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
omp install @zosmaai/pi-llm-wiki
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Both hosts load the same extension, skill, and `/wiki-*` slash commands — see
|
|
63
|
+
[Dual-host support](#dual-host-support-pi--oh-my-pi) for what differs.
|
|
64
|
+
|
|
54
65
|
The extension will proactively suggest creating a wiki on your first session. Alternatively:
|
|
55
66
|
|
|
56
67
|
```
|
|
@@ -113,7 +124,9 @@ The result is a wiki that **compounds** as you capture sources, ask questions, a
|
|
|
113
124
|
| `wiki_search` | Search the generated wiki registry |
|
|
114
125
|
| `wiki_lint` | Deterministic health checks (orphans, gaps, contradictions, auto-fix) |
|
|
115
126
|
| `wiki_status` | Show counts, source states, and recent activity |
|
|
127
|
+
| `wiki_observe` | Record timestamped, searchable observations from the current session (decisions, findings, constraints) — later distilled into pages |
|
|
116
128
|
| `wiki_rebuild_meta` | Force a full metadata rebuild (registry, backlinks, index, log) |
|
|
129
|
+
| `wiki_reindex_embeddings` | Refresh semantic embeddings for new or stale pages (no-op if no embedding provider is configured) |
|
|
117
130
|
| `wiki_log_event` | Append a structured event to the wiki activity log |
|
|
118
131
|
| `wiki_watch` | Print a `crontab` line for automatic wiki updates (daily / weekly / hourly) — does not install it |
|
|
119
132
|
| `wiki_capture_trajectory` _(opt-in)_ | Capture the completed task's tool-call trajectory (agent working-memory) |
|
|
@@ -135,10 +148,16 @@ The result is a wiki that **compounds** as you capture sources, ask questions, a
|
|
|
135
148
|
| `/wiki-status` | Show a concise operational summary |
|
|
136
149
|
| `/wiki-digest [--period daily\|weekly]` | Generate a digest of recent activity |
|
|
137
150
|
| `/wiki-retro` | Save atomic insights from completed tasks |
|
|
151
|
+
| `/wiki-model [provider/id | session]` | Set the background-task model (interactive picker when run without arguments) |
|
|
138
152
|
| `/wiki-req <concept>` | Decompose a concept into atomic, traceable requirement pages |
|
|
139
153
|
| `/wiki-trajectories <on\|off>` | Enable/disable agent working-memory (opt-in, off by default) |
|
|
140
154
|
| `/wiki-record <title>` | Capture the completed task's trajectory (requires trajectories enabled) |
|
|
141
155
|
| `/wiki-skills [query]` | Search distilled skills + past cases (requires trajectories enabled) |
|
|
156
|
+
| `/wiki-settings` | Interactive settings screen — view and change all `llm-wiki` settings in project or global scope |
|
|
157
|
+
| `/wiki-dashboard` | Read-only vault dashboard — page counts/types, freshness, 7-day activity, ingest queue, zero-backlink pages, embedding coverage |
|
|
158
|
+
|
|
159
|
+
<img src="./assets/wiki-dashboard.png" alt="wiki-dashboard: read-only vault health screen" width="100%" />
|
|
160
|
+
|
|
142
161
|
|
|
143
162
|
---
|
|
144
163
|
|
|
@@ -385,6 +404,66 @@ The same server as an entry in `.mcp.json` (Claude Code) or `claude_desktop_conf
|
|
|
385
404
|
|
|
386
405
|
---
|
|
387
406
|
|
|
407
|
+
## Dual-host support (pi + oh-my-pi)
|
|
408
|
+
|
|
409
|
+
The package targets two hosts from a single codebase:
|
|
410
|
+
|
|
411
|
+
| | **pi** (`@mariozechner/pi-coding-agent`) | **oh-my-pi** (`omp`) |
|
|
412
|
+
|---|---|---|
|
|
413
|
+
| Extension entry | `package.json#pi.extensions` | `package.json#omp.extensions` (falls back to `#pi`) |
|
|
414
|
+
| Skill | `skills/llm-wiki/SKILL.md` via `pi.skills` | same file, found by directory convention |
|
|
415
|
+
| Slash commands | `prompts/*.md` via `pi.prompts` | `commands/*.md` (generated mirror of `prompts/`) |
|
|
416
|
+
| Project config | `<cwd>/.pi/settings.json` | `<cwd>/.omp/settings.json`, then `.omp/config.yml` |
|
|
417
|
+
| User config | `~/.pi/agent/settings.json` | `~/.omp/agent/settings.json`, then `config.yml` |
|
|
418
|
+
| MCP server | auto-registered via `pi.mcpservers` | register manually (see below) |
|
|
419
|
+
| Ambient surfaces without a project wiki | on (personal vault) | off — see below |
|
|
420
|
+
|
|
421
|
+
No source changes are needed for the imports: oh-my-pi rewrites
|
|
422
|
+
`@mariozechner/pi-*` and bare `typebox` specifiers onto its own bundled
|
|
423
|
+
packages when it loads a legacy extension.
|
|
424
|
+
|
|
425
|
+
**Settings are read from both layouts.** `llm-wiki` config is merged from every
|
|
426
|
+
file above, host-native directory last. A vault configured under pi keeps
|
|
427
|
+
working after `omp` takes over the same repository, and writes land in whichever
|
|
428
|
+
config directory already exists (so a `.pi`-only repo does not sprout a second
|
|
429
|
+
settings file). Writes are always JSON — a hand-authored `config.yml` is read
|
|
430
|
+
but never rewritten.
|
|
431
|
+
|
|
432
|
+
Set `LLM_WIKI_HOST=pi|omp` to override host detection; by default it is derived
|
|
433
|
+
from the resolved agent directory.
|
|
434
|
+
|
|
435
|
+
**Ambient surfaces are gated under oh-my-pi.** The session notice, the periodic
|
|
436
|
+
observe/retro reminder, and `before_agent_start` recall all fire unprompted, and
|
|
437
|
+
vault resolution falls back to the personal vault — so once `~/.llm-wiki/`
|
|
438
|
+
exists they would speak up in *every* directory. Under pi that is the historical
|
|
439
|
+
behaviour and it is kept; under omp the plugin is installed once and loads in
|
|
440
|
+
every project, so a repository that never ran `/wiki-init` stays quiet. Override
|
|
441
|
+
either default with `llm-wiki.ambientPersonalVault`. The wiki tools and slash
|
|
442
|
+
commands are registered regardless, so `/wiki-init` always works — and a project
|
|
443
|
+
with its own `.llm-wiki/` gets every surface back.
|
|
444
|
+
|
|
445
|
+
**MCP under oh-my-pi.** `pi.mcpservers` is a pi-only manifest key, and the
|
|
446
|
+
server's vault auto-detection depends on the client's working directory, so it
|
|
447
|
+
cannot be declared with a relative path. Register it explicitly instead:
|
|
448
|
+
|
|
449
|
+
```jsonc
|
|
450
|
+
// <cwd>/.omp/.mcp.json
|
|
451
|
+
{
|
|
452
|
+
"mcpServers": {
|
|
453
|
+
"llm-wiki": {
|
|
454
|
+
"command": "node",
|
|
455
|
+
"args": ["/abs/path/to/node_modules/@zosmaai/pi-llm-wiki/dist/mcp/index.js"],
|
|
456
|
+
"env": { "WIKI_ROOT": "/abs/path/to/your/wiki" }
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
You rarely need it: under either host the extension already registers the same
|
|
463
|
+
capabilities as native tools.
|
|
464
|
+
|
|
465
|
+
---
|
|
466
|
+
|
|
388
467
|
## Skill Behavior
|
|
389
468
|
|
|
390
469
|
The bundled `llm-wiki` skill teaches the model to:
|
|
@@ -495,6 +574,13 @@ Thanks to everyone who has contributed! This list is regenerated automatically b
|
|
|
495
574
|
<sub><b>Akshay</b></sub>
|
|
496
575
|
</a>
|
|
497
576
|
</td>
|
|
577
|
+
<td align="center">
|
|
578
|
+
<a href="https://github.com/prestalab">
|
|
579
|
+
<img src="https://avatars.githubusercontent.com/u/2825421?v=4" width="64;" alt="prestalab"/>
|
|
580
|
+
<br />
|
|
581
|
+
<sub><b>PrestaLab</b></sub>
|
|
582
|
+
</a>
|
|
583
|
+
</td>
|
|
498
584
|
<td align="center">
|
|
499
585
|
<a href="https://github.com/xcsf">
|
|
500
586
|
<img src="https://avatars.githubusercontent.com/u/43439835?v=4" width="64;" alt="xcsf"/>
|
|
@@ -509,6 +595,8 @@ Thanks to everyone who has contributed! This list is regenerated automatically b
|
|
|
509
595
|
<sub><b>Daniel Naab</b></sub>
|
|
510
596
|
</a>
|
|
511
597
|
</td>
|
|
598
|
+
</tr>
|
|
599
|
+
<tr>
|
|
512
600
|
<td align="center">
|
|
513
601
|
<a href="https://github.com/deestax">
|
|
514
602
|
<img src="https://avatars.githubusercontent.com/u/152369481?v=4" width="64;" alt="deestax"/>
|
|
@@ -516,8 +604,6 @@ Thanks to everyone who has contributed! This list is regenerated automatically b
|
|
|
516
604
|
<sub><b>Superdao</b></sub>
|
|
517
605
|
</a>
|
|
518
606
|
</td>
|
|
519
|
-
</tr>
|
|
520
|
-
<tr>
|
|
521
607
|
<td align="center">
|
|
522
608
|
<a href="https://github.com/mystery4f">
|
|
523
609
|
<img src="https://avatars.githubusercontent.com/u/40482524?v=4" width="64;" alt="mystery4f"/>
|
package/README.pt.md
CHANGED
|
@@ -125,7 +125,9 @@ O resultado é um wiki que se acumula conforme você captura fontes, faz pergunt
|
|
|
125
125
|
| `wiki_search` | Search the generated wiki registry |
|
|
126
126
|
| `wiki_lint` | Deterministic health checks (orphans, gaps, contradictions, auto-fix) |
|
|
127
127
|
| `wiki_status` | Show counts, source states, and recent activity |
|
|
128
|
+
| `wiki_observe` | Registra observações datadas e pesquisáveis da sessão atual no wiki |
|
|
128
129
|
| `wiki_rebuild_meta` | Force a full metadata rebuild (registry, backlinks, index, log) |
|
|
130
|
+
| `wiki_reindex_embeddings` | Atualiza os embeddings semânticos de páginas novas ou desatualizadas (no-op sem provedor de embeddings) |
|
|
129
131
|
| `wiki_log_event` | Append a structured event to the wiki activity log |
|
|
130
132
|
| `wiki_watch` | Print a `crontab` line for automatic wiki updates (daily / weekly / hourly) — does not install it |
|
|
131
133
|
| `wiki_capture_trajectory` _(opt-in)_ | Capture the completed task's tool-call trajectory (agent working-memory) |
|
|
@@ -147,10 +149,16 @@ O resultado é um wiki que se acumula conforme você captura fontes, faz pergunt
|
|
|
147
149
|
| `/wiki-status` | Show a concise operational summary |
|
|
148
150
|
| `/wiki-digest [--period daily\|weekly]` | Generate a digest of recent activity |
|
|
149
151
|
| `/wiki-retro` | Save atomic insights from completed tasks |
|
|
152
|
+
| `/wiki-model [provider/id | session]` | Define o modelo das tarefas em segundo plano (sem argumento: seletor interativo) |
|
|
150
153
|
| `/wiki-req <concept>` | Decompose a concept into atomic, traceable requirement pages |
|
|
151
154
|
| `/wiki-trajectories <on\|off>` | Enable/disable agent working-memory (opt-in, off by default) |
|
|
152
155
|
| `/wiki-record <title>` | Capture the completed task's trajectory (requires trajectories enabled) |
|
|
153
156
|
| `/wiki-skills [query]` | Search distilled skills + past cases (requires trajectories enabled) |
|
|
157
|
+
| `/wiki-settings` | Tela interativa de ajustes — ver/mudar todos os ajustes `llm-wiki` em escopo de projeto ou global |
|
|
158
|
+
| `/wiki-dashboard` | Painel somente leitura do vault — páginas por tipo, frescor, atividade de 7 dias, fila de ingestão, páginas sem backlinks, cobertura de embeddings |
|
|
159
|
+
|
|
160
|
+
<img src="./assets/wiki-dashboard.png" alt="wiki-dashboard: painel do vault" width="100%" />
|
|
161
|
+
|
|
154
162
|
|
|
155
163
|
---
|
|
156
164
|
|
package/README.ru.md
CHANGED
|
@@ -125,7 +125,9 @@ The extension will proactively suggest creating a wiki on your first session. Al
|
|
|
125
125
|
| `wiki_search` | Search the generated wiki registry |
|
|
126
126
|
| `wiki_lint` | Deterministic health checks (orphans, gaps, contradictions, auto-fix) |
|
|
127
127
|
| `wiki_status` | Show counts, source states, and recent activity |
|
|
128
|
+
| `wiki_observe` | Записывает во wiki атомарные наблюдения текущей сессии с временн…уткой |
|
|
128
129
|
| `wiki_rebuild_meta` | Force a full metadata rebuild (registry, backlinks, index, log) |
|
|
130
|
+
| `wiki_reindex_embeddings` | Обновляет семантические эмбеддинги новых или устаревших страниц (no-op при отсутствии провайдера эмбеддингов) |
|
|
129
131
|
| `wiki_log_event` | Append a structured event to the wiki activity log |
|
|
130
132
|
| `wiki_watch` | Print a `crontab` line for automatic wiki updates (daily / weekly / hourly) — does not install it |
|
|
131
133
|
| `wiki_capture_trajectory` _(opt-in)_ | Capture the completed task's tool-call trajectory (agent working-memory) |
|
|
@@ -147,10 +149,16 @@ The extension will proactively suggest creating a wiki on your first session. Al
|
|
|
147
149
|
| `/wiki-status` | Show a concise operational summary |
|
|
148
150
|
| `/wiki-digest [--period daily\|weekly]` | Generate a digest of recent activity |
|
|
149
151
|
| `/wiki-retro` | Save atomic insights from completed tasks |
|
|
152
|
+
| `/wiki-model [provider/id | session]` | Задаёт модель для фоновых задач (без аргумента — интерактивный выбор) |
|
|
150
153
|
| `/wiki-req <concept>` | Decompose a concept into atomic, traceable requirement pages |
|
|
151
154
|
| `/wiki-trajectories <on\|off>` | Enable/disable agent working-memory (opt-in, off by default) |
|
|
152
155
|
| `/wiki-record <title>` | Capture the completed task's trajectory (requires trajectories enabled) |
|
|
153
156
|
| `/wiki-skills [query]` | Search distilled skills + past cases (requires trajectories enabled) |
|
|
157
|
+
| `/wiki-settings` | Интерактивный экран настроек — просмотр/изменение всех настроек `llm-wiki` в проектном или глобальном scope |
|
|
158
|
+
| `/wiki-dashboard` | Только чтение: страницы по типам, свежесть, активность за 7 дней, очередь ingest, страницы без backlinks, покрытие embeddings |
|
|
159
|
+
|
|
160
|
+
<img src="./assets/wiki-dashboard.png" alt="wiki-dashboard: просмотр vault" width="100%" />
|
|
161
|
+
|
|
154
162
|
|
|
155
163
|
---
|
|
156
164
|
|
package/README.zh.md
CHANGED
|
@@ -111,7 +111,9 @@ pi install npm:@zosmaai/pi-llm-wiki
|
|
|
111
111
|
| `wiki_search` | 搜索生成的 wiki 注册表 |
|
|
112
112
|
| `wiki_lint` | 确定性健康检查(孤儿、缺口、矛盾、自动修复) |
|
|
113
113
|
| `wiki_status` | 显示计数、来源状态和最近活动 |
|
|
114
|
+
| `wiki_observe` | 记录当前会话的带时间戳、可搜索观察 |
|
|
114
115
|
| `wiki_rebuild_meta` | 强制完整元数据重建(注册表、反向链接、索引、日志) |
|
|
116
|
+
| `wiki_reindex_embeddings` | 为新增或过期的页面刷新语义嵌入(未配置 embedding 提供方时为空操作) |
|
|
115
117
|
| `wiki_log_event` | 将结构化事件追加到 wiki 活动日志 |
|
|
116
118
|
| `wiki_watch` | 打印自动 wiki 更新的 `crontab` 行(每日/每周/每小时)——不安装它 |
|
|
117
119
|
| `wiki_capture_trajectory` _(可选)_ | 捕获已完成任务的工具调用轨迹(代理工作记忆) |
|
|
@@ -133,10 +135,16 @@ pi install npm:@zosmaai/pi-llm-wiki
|
|
|
133
135
|
| `/wiki-status` | 显示简洁的操作摘要 |
|
|
134
136
|
| `/wiki-digest [--period daily\|weekly]` | 生成最近活动的摘要 |
|
|
135
137
|
| `/wiki-retro` | 保存已完成任务的原子洞察 |
|
|
138
|
+
| `/wiki-model [provider/id | session]` | 设置后台任务模型(无参数时为交互式选择器) |
|
|
136
139
|
| `/wiki-req <concept>` | 将概念分解为原子、可追踪的需求页面 |
|
|
137
140
|
| `/wiki-trajectories <on\|off>` | 启用/禁用代理工作记忆(可选,默认关闭) |
|
|
138
141
|
| `/wiki-record <title>` | 捕获已完成任务的轨迹(需要启用轨迹) |
|
|
139
142
|
| `/wiki-skills [query]` | 搜索提炼的技能+过去案例(需要启用轨迹) |
|
|
143
|
+
| `/wiki-settings` | 交互式设置屏幕 — 在 project/global 作用域下查看/修改全部 `llm-wiki` 设置 |
|
|
144
|
+
| `/wiki-dashboard` | 只读知识库仪表盘 — 页面数量/类型、新鲜度、7 日活动、入库队列、零反链页面、embedding 覆盖率 |
|
|
145
|
+
|
|
146
|
+
<img src="./assets/wiki-dashboard.png" alt="wiki-dashboard: 知识库仪表盘" width="100%" />
|
|
147
|
+
|
|
140
148
|
|
|
141
149
|
---
|
|
142
150
|
|
|
Binary file
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate a daily or weekly digest of wiki changes — new sources, pages, insights, and gaps.
|
|
3
|
+
argument-hint: "[--period daily|weekly]"
|
|
4
|
+
section: LLM Wiki
|
|
5
|
+
topLevelCli: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /wiki-digest
|
|
9
|
+
|
|
10
|
+
Generate a digest of recent wiki activity.
|
|
11
|
+
|
|
12
|
+
## User Arguments
|
|
13
|
+
|
|
14
|
+
$ARGUMENTS
|
|
15
|
+
|
|
16
|
+
## Steps
|
|
17
|
+
|
|
18
|
+
1. Call `wiki_status()` to get current stats (page count, orphans, gaps, health).
|
|
19
|
+
2. Read `.llm-wiki/meta/log.md` for recent events since the last digest period.
|
|
20
|
+
3. Summarize:
|
|
21
|
+
- New sources captured
|
|
22
|
+
- New pages created or updated
|
|
23
|
+
- Key insights or connections made
|
|
24
|
+
- Knowledge gaps identified
|
|
25
|
+
- Health trends (improving, stable, declining)
|
|
26
|
+
4. Save the digest to `.llm-wiki/outputs/digest-YYYY-MM-DD.md` using the `write` tool.
|
|
27
|
+
5. Call `wiki_log_event(kind=digest)` to record this digest was generated.
|
|
28
|
+
6. Report a concise digest to the user.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Auto-discover new sources from the web. Searches based on config topics and known knowledge gaps.
|
|
3
|
+
argument-hint: "[--topic <topic>]"
|
|
4
|
+
section: LLM Wiki
|
|
5
|
+
topLevelCli: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /wiki-discover
|
|
9
|
+
|
|
10
|
+
Find new source material for the wiki by searching the web and capturing them as source packets.
|
|
11
|
+
|
|
12
|
+
## User Arguments
|
|
13
|
+
|
|
14
|
+
$ARGUMENTS
|
|
15
|
+
|
|
16
|
+
## Steps
|
|
17
|
+
|
|
18
|
+
1. Call `wiki_status()` to get the current topic and mode from the wiki config.
|
|
19
|
+
2. Use `wiki_search(query=<topic>)` to find existing pages and identify what's already covered.
|
|
20
|
+
3. Search the web for new sources:
|
|
21
|
+
- If `--topic` is specified in `$ARGUMENTS`, focus on that topic
|
|
22
|
+
- Otherwise, search for the wiki's main topic + "latest", "news", "update"
|
|
23
|
+
4. For each promising result (max 5-10):
|
|
24
|
+
a. Call `wiki_capture_source(url=<url>)` to capture it as an immutable source packet
|
|
25
|
+
b. Skip ads, listicles, and duplicates — prefer in-depth analysis
|
|
26
|
+
5. Report: "Discovered [N] new sources captured as packets. Run `/wiki-ingest` to synthesize them into knowledge pages."
|
|
27
|
+
|
|
28
|
+
**Rules:**
|
|
29
|
+
- Do NOT manually save files to `raw/` — always use `wiki_capture_source`.
|
|
30
|
+
- The extension handles manifest, extraction, and skeleton page creation automatically.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Process new source packets and synthesize them into wiki knowledge pages.
|
|
3
|
+
argument-hint: "[source_id]"
|
|
4
|
+
section: LLM Wiki
|
|
5
|
+
topLevelCli: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /wiki-ingest
|
|
9
|
+
|
|
10
|
+
Process uningested source packets and synthesize them into wiki knowledge pages.
|
|
11
|
+
|
|
12
|
+
## User Arguments
|
|
13
|
+
|
|
14
|
+
$ARGUMENTS
|
|
15
|
+
|
|
16
|
+
## Steps
|
|
17
|
+
|
|
18
|
+
1. Call `wiki_ingest(source_id=<id if provided>, batch_size=3)`.
|
|
19
|
+
2. If the tool reports "All sources ingested", inform the user and stop.
|
|
20
|
+
3. **If the tool reports it is ingesting in the background**, the synthesis sub-agent is handling those sources on the configured task model. Do NOT synthesize them yourself — just report which sources were dispatched and stop. (You'll be notified as each completes.)
|
|
21
|
+
4. **Otherwise** (the tool returned extracted content — background unavailable or `background=false`), for each source in the returned batch:
|
|
22
|
+
a. Read the extracted text from `.llm-wiki/raw/sources/<SOURCE_ID>/extracted.md`
|
|
23
|
+
b. Update the skeleton source page in `wiki/sources/` with a proper summary, key entities, and concepts
|
|
24
|
+
c. Use `wiki_ensure_page(type=entity, title=<name>)` for each new entity (people, orgs, tools, products)
|
|
25
|
+
d. Use `wiki_ensure_page(type=concept, title=<name>)` for each new concept (ideas, patterns, frameworks)
|
|
26
|
+
e. Add `[[wikilinks]]` cross-references between related pages
|
|
27
|
+
f. Flag any contradictions with existing wiki content using `⚠️ **Contradiction**` markers
|
|
28
|
+
5. After processing a synchronous batch, call `wiki_rebuild_meta` to update metadata.
|
|
29
|
+
6. Report: "Ingested [N] sources → [M] pages created/updated. [X] contradictions flagged."
|
|
30
|
+
|
|
31
|
+
> **Background vs synchronous:** ingestion runs in the background by default (non-blocking) when a task model is available, so the main agent is never stalled. It falls back to the synchronous main-agent flow above when no model/API key is configured, or when called with `background=false`.
|
|
32
|
+
|
|
33
|
+
**Rules:**
|
|
34
|
+
- Never modify files in `raw/` — source packets are immutable after capture.
|
|
35
|
+
- Never fabricate information — always cite sources with `[[sources/SRC-...]]`.
|
|
36
|
+
- Inside Markdown table cells, write aliased wikilinks as `[[target\|alias]]`, never `[[target|alias]]`.
|
|
37
|
+
- The extension auto-updates metadata — you do NOT need to manually edit `meta/` files.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Initialize a new LLM Wiki in the current directory. Creates the full directory structure, config, and template files.
|
|
3
|
+
argument-hint: "<topic> [--mode personal|company]"
|
|
4
|
+
section: LLM Wiki
|
|
5
|
+
topLevelCli: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /wiki-init
|
|
9
|
+
|
|
10
|
+
Initialize a new LLM Wiki vault using the `wiki_bootstrap` tool.
|
|
11
|
+
|
|
12
|
+
## User Arguments
|
|
13
|
+
|
|
14
|
+
$ARGUMENTS
|
|
15
|
+
|
|
16
|
+
## Steps
|
|
17
|
+
|
|
18
|
+
1. If the user provided a topic in `$ARGUMENTS`, use it. Otherwise, ask the user for the wiki **topic**.
|
|
19
|
+
2. Determine mode: default to `personal`; use `company` if the user specifies `--mode company` or requests it.
|
|
20
|
+
3. Call `wiki_bootstrap(topic=<topic>, mode=<mode>)` to create the vault.
|
|
21
|
+
4. Report the result and suggest next steps:
|
|
22
|
+
- "Use `wiki_capture_source` to add your first source (URL, file, or text)."
|
|
23
|
+
- "Run `/wiki-ingest` after capturing sources to synthesize them into knowledge pages."
|
|
24
|
+
|
|
25
|
+
**Do NOT manually create directories or files.** The `wiki_bootstrap` tool handles all scaffolding including:
|
|
26
|
+
- `.llm-wiki/raw/sources/` — immutable source packets
|
|
27
|
+
- `.llm-wiki/wiki/` — editable knowledge pages
|
|
28
|
+
- `.llm-wiki/meta/` — auto-generated metadata
|
|
29
|
+
- `.llm-wiki/config.json` — vault configuration
|
|
30
|
+
- `.llm-wiki/WIKI_SCHEMA.md` — operating rules
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Health check the wiki. Detects contradictions, orphans, missing pages, stale claims, and knowledge gaps.
|
|
3
|
+
argument-hint: "[--fix]"
|
|
4
|
+
section: LLM Wiki
|
|
5
|
+
topLevelCli: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /wiki-lint
|
|
9
|
+
|
|
10
|
+
Run a comprehensive health check on the wiki.
|
|
11
|
+
|
|
12
|
+
## User Arguments
|
|
13
|
+
|
|
14
|
+
$ARGUMENTS
|
|
15
|
+
|
|
16
|
+
## Steps
|
|
17
|
+
|
|
18
|
+
1. Determine if auto-fix is requested: set `auto_fix=true` if `$ARGUMENTS` contains `--fix`, otherwise `false`.
|
|
19
|
+
2. Call `wiki_lint(auto_fix=<true/false>)` to run the health check.
|
|
20
|
+
3. Present the lint report to the user, including:
|
|
21
|
+
- Page count, orphans, missing pages, contradictions
|
|
22
|
+
- Knowledge gaps found
|
|
23
|
+
- Any auto-fixes applied
|
|
24
|
+
4. If contradictions are found, flag them for human review — do NOT auto-resolve contradictions.
|
|
25
|
+
5. If knowledge gaps are identified, suggest creating pages for frequently-mentioned topics.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Ask questions against the wiki. Synthesizes answers from wiki pages with cross-reference citations.
|
|
3
|
+
argument-hint: "<question>"
|
|
4
|
+
section: LLM Wiki
|
|
5
|
+
topLevelCli: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /wiki-query
|
|
9
|
+
|
|
10
|
+
Ask a question and get an answer synthesized from wiki content.
|
|
11
|
+
|
|
12
|
+
## User Question
|
|
13
|
+
|
|
14
|
+
$ARGUMENTS
|
|
15
|
+
|
|
16
|
+
## Steps
|
|
17
|
+
|
|
18
|
+
1. Call `wiki_recall(query=<question>)` to find relevant wiki pages.
|
|
19
|
+
2. Read the full content of each matching page using the `read` tool.
|
|
20
|
+
3. Synthesize an answer with `[[wikilink]]` citations to specific wiki pages.
|
|
21
|
+
4. If the answer reveals a new connection or analysis worth preserving:
|
|
22
|
+
- Call `wiki_ensure_page(type=synthesis, title=<title>, content=<content>)` to save it
|
|
23
|
+
5. Call `wiki_log_event(kind=query, details={question: <question>})` to log the query.
|
|
24
|
+
|
|
25
|
+
**Rules:**
|
|
26
|
+
- Answer ONLY from wiki content, not from general knowledge.
|
|
27
|
+
- If the wiki lacks information, say so clearly and suggest what sources would help fill the gap.
|
|
28
|
+
|
|
29
|
+
**Example:**
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
/wiki-query What are the key differences between RAG and LLM Wiki?
|
|
33
|
+
→ Calls wiki_recall(query="RAG LLM Wiki differences")
|
|
34
|
+
→ Reads matching pages
|
|
35
|
+
→ Synthesizes a comparison with [[wikilink]] citations
|
|
36
|
+
→ Saves as synthesis page via wiki_ensure_page(type=synthesis, ...)
|
|
37
|
+
```
|