@zosmaai/pi-llm-wiki 0.10.7 → 0.11.0
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 +4 -0
- package/README.de.md +35 -4
- package/README.es.md +260 -170
- package/README.fr.md +35 -4
- package/README.hi.md +35 -4
- package/README.ja.md +35 -4
- package/README.ko.md +35 -4
- package/README.md +38 -3
- package/README.pt.md +35 -4
- package/README.ru.md +35 -4
- package/README.zh.md +260 -170
- package/assets/demo.gif +0 -0
- package/dist/extensions/llm-wiki/lib/bootstrap.js +71 -0
- package/dist/extensions/llm-wiki/lib/embeddings.js +401 -0
- package/dist/extensions/llm-wiki/lib/guardrails.js +232 -0
- package/dist/extensions/llm-wiki/lib/indexing.js +78 -0
- package/dist/extensions/llm-wiki/lib/ingest-worker.js +310 -0
- package/dist/extensions/llm-wiki/lib/inject.js +65 -0
- package/dist/extensions/llm-wiki/lib/knowledge-document.js +442 -0
- package/dist/extensions/llm-wiki/lib/knowledge-links.js +206 -0
- package/dist/extensions/llm-wiki/lib/legacy-repair.js +443 -0
- package/dist/extensions/llm-wiki/lib/metadata.js +499 -0
- package/dist/extensions/llm-wiki/lib/model-command.js +86 -0
- package/dist/extensions/llm-wiki/lib/observation.js +283 -0
- package/dist/extensions/llm-wiki/lib/recall.js +875 -0
- package/dist/extensions/llm-wiki/lib/retro.js +158 -0
- package/dist/extensions/llm-wiki/lib/runtime.js +191 -0
- package/dist/extensions/llm-wiki/lib/source-extractors.js +426 -0
- package/dist/extensions/llm-wiki/lib/source-packet.js +229 -0
- package/dist/extensions/llm-wiki/lib/subagent.js +41 -0
- package/dist/extensions/llm-wiki/lib/task-config.js +172 -0
- package/dist/extensions/llm-wiki/lib/tools.js +1192 -0
- package/dist/extensions/llm-wiki/lib/trajectories-command.js +51 -0
- package/dist/extensions/llm-wiki/lib/trajectory.js +467 -0
- package/dist/extensions/llm-wiki/lib/utils.js +347 -0
- package/dist/extensions/llm-wiki/lib/vault-format.js +247 -0
- package/dist/extensions/llm-wiki/lib/visible-status.js +31 -0
- package/dist/extensions/llm-wiki/lib/wiki-service.js +128 -0
- package/dist/mcp/exec.js +121 -0
- package/dist/mcp/index.js +229 -0
- package/dist/mcp/operations.js +130 -0
- package/dist/package.json +1 -0
- package/docs/superpowers/plans/2026-08-02-okf-foundation.md +1579 -0
- package/docs/superpowers/plans/2026-08-03-okf-foundation-remediation.md +3005 -0
- package/docs/superpowers/plans/2026-08-06-okf-foundation-release-remediation.md +1174 -0
- package/docs/superpowers/specs/2026-08-02-okf-foundation-design.md +578 -0
- package/docs/superpowers/specs/2026-08-02-okf-v0.2-interoperability-design.md +538 -0
- package/extensions/llm-wiki/index.ts +22 -36
- package/extensions/llm-wiki/lib/bootstrap.ts +84 -0
- package/extensions/llm-wiki/lib/embeddings.ts +9 -3
- package/extensions/llm-wiki/lib/guardrails.ts +174 -29
- package/extensions/llm-wiki/lib/indexing.ts +2 -1
- package/extensions/llm-wiki/lib/ingest-worker.ts +170 -29
- package/extensions/llm-wiki/lib/knowledge-document.ts +661 -0
- package/extensions/llm-wiki/lib/knowledge-links.ts +282 -0
- package/extensions/llm-wiki/lib/legacy-repair.ts +572 -0
- package/extensions/llm-wiki/lib/metadata.ts +531 -116
- package/extensions/llm-wiki/lib/observation.ts +37 -43
- package/extensions/llm-wiki/lib/recall.ts +61 -33
- package/extensions/llm-wiki/lib/retro.ts +65 -41
- package/extensions/llm-wiki/lib/source-extractors.ts +12 -17
- package/extensions/llm-wiki/lib/source-packet.ts +44 -31
- package/extensions/llm-wiki/lib/tools.ts +406 -348
- package/extensions/llm-wiki/lib/trajectory.ts +15 -1
- package/extensions/llm-wiki/lib/utils.ts +121 -130
- package/extensions/llm-wiki/lib/vault-format.ts +363 -0
- package/extensions/llm-wiki/lib/wiki-service.ts +183 -0
- package/mcp/exec.ts +122 -0
- package/mcp/index.ts +60 -250
- package/mcp/operations.ts +176 -0
- package/package.json +8 -2
- package/scripts/migrate-llm-wiki.js +801 -0
- package/skills/llm-wiki/SKILL.md +8 -6
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
5
|
### Fixed
|
|
6
|
+
- **Vault layout migration safety and packaging**: `scripts/migrate-llm-wiki.js` now runs on the minimum supported Node 18 runtime, accepts absolute or relative roots regardless of flag order, reserves the destination root atomically, uses no-clobber file moves, rejects destination collisions before moving data, and ships in the npm package. A durable journal records source hashes and completed moves so an interrupted migration resumes safely; file and directory durability boundaries are flushed before completion. Black-box tests cover paths with spaces, dry-run immutability, hash-preserving apply, idempotency, preflight/raced collisions, real subprocess `SIGKILL` recovery, doubled-layout recovery, packed-artifact contents, and packed execution on Node 18.
|
|
7
|
+
- **Malformed legacy pages blocked every metadata rebuild**: `wiki_lint auto_fix=true` now backs up recoverable malformed pages, repairs missing frontmatter or `type` fields, archives unparseable raw frontmatter, preserves bodies, and writes a manifest containing old/new SHA-256 hashes before rebuilding metadata. Audit-only lint remains read-only.
|
|
8
|
+
- **Generated source pages emitted unresolved first-party links**: source skeletons no longer create fake entity/concept links, and raw packet artifacts are rendered as extension-owned code paths rather than Markdown links inside the OKF bundle. Captured and ingested pages now rebuild without unexpected `link_unresolved` or `link_path_escape` diagnostics while retaining valid entity/concept backlinks.
|
|
9
|
+
- **Release-gate process tests were load-sensitive**: the real 16 MiB stdout/stderr UTF-8 boundary test keeps its exact byte assertions while allowing enough time under parallel coverage load. Descendant-process startup and `npm pack --dry-run` checks now use explicit deadlines sized for the real work rather than the global ten-second default.
|
|
6
10
|
- **`buildIngestedSourcePage` omits folder prefix on entity/concept wikilinks** (Issue #89): `buildIngestedSourcePage()` in `lib/ingest-worker.ts` generated entity and concept wikilinks in ingested source pages as `[[entity-name]]` instead of `[[entities/entity-name]]`. The bare target never matched the page ID (which carries the folder prefix, e.g. `entities/entity-name`), leaving every entity and concept with zero inbound links and producing 177 orphans out of 180 pages in real vaults. The concept/entity page templates already used the correct `[[sources/...]]` prefix — only the source page template was broken. Fixed by adding the `entities/` and `concepts/` prefix to the generated wikilinks.
|
|
7
11
|
|
|
8
12
|
- **`wiki_watch` referred to a fictional `schedule_prompt` tool** (Issue #81): `wiki_watch` emitted instructions to run `schedule_prompt action=add ...` — a tool that doesn't exist in pi-coding-agent or any pi extension — so `/wiki-run --schedule weekly` printed a command the user couldn't execute. The emitted payload also contained the typo `/wiki:run` (real slash-command is `/wiki-run`), and the tool description claimed it scheduled jobs when it only ever printed instructions. Now emits a real, copy-pasteable **POSIX 5-field crontab line** wrapped in `/bin/bash -lc` (so npm-global / bun / nvm PATH is imported under cron's minimal env), with defensive `mkdir -p` of the log dir and a `# llm-wiki-autoupdate` removal tag. The tool description, output text, `prompts/wiki-run.md`, `docs/api.md` and all 10 i18n READMEs now explicitly say "prints — does not install". `details` now carries `cronLine` and `installed: false`. New `test/wiki-watch.test.ts` (10 tests) locks down all three regressions plus the portability contract (login-shell wrapper, defensive `mkdir`, quoted `$HOME`).
|
package/README.de.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
[](https://github.com/zosmaai/pi-llm-wiki/actions/workflows/ci.yml)
|
|
8
8
|
[](https://www.npmjs.com/package/@zosmaai/pi-llm-wiki)
|
|
9
9
|
[](https://www.npmjs.com/package/@zosmaai/pi-llm-wiki)
|
|
10
|
-
[](https://codecov.io/gh/zosmaai/pi-llm-wiki)
|
|
11
11
|
[](LICENSE)
|
|
12
12
|
[](https://github.com/zosmaai/pi-llm-wiki/actions/workflows/codeql.yml)
|
|
13
13
|
[](https://github.com/zosmaai/pi-llm-wiki/stargazers)
|
|
@@ -35,6 +35,26 @@ Follows Andrej Karpathy's [LLM Wiki pattern](https://gist.github.com/karpathy/44
|
|
|
35
35
|
|
|
36
36
|
Verwandle Rohquellen (URLs, PDFs, Markdown, JSON, XML) in ein dauerhaftes, verknüpftes, LLM-gepflegtes Wiki, das mit der Zeit wächst.
|
|
37
37
|
|
|
38
|
+
### Native Open Knowledge Format (OKF) v0.2 Unterstützung
|
|
39
|
+
|
|
40
|
+
Baue eine Wissensdatenbank, die du mitnehmen kannst — kein weiterer geschlossener, app-spezifischer Export:
|
|
41
|
+
|
|
42
|
+
- **Erstelle portierbare OKF v0.2 Dokumente** mit kanonischem Frontmatter, standard Markdown-Links und stabilen Quellenzitaten.
|
|
43
|
+
- **Lese sowohl Legacy- als auch OKF-Seiten**, damit bestehende Vaults ohne automatische Migration weiterarbeiten.
|
|
44
|
+
- **Generiere deterministische Indizes und Logs** von autoritativen Seiten, um Navigation und Metadaten reproduzierbar zu halten.
|
|
45
|
+
- **Verwende dasselbe Wissensmodell von Pi oder MCP** mit Claude Code, Cursor, Windsurf und anderen MCP-Clients.
|
|
46
|
+
- **Bleibe Obsidian-kompatibel**, während dein Wissen bereit für Tools ist, die Open Knowledge Format unterstützen.
|
|
47
|
+
|
|
48
|
+
Starte mit einem neuen OKF-Vault oder verweise pi-llm-wiki auf einen bestehenden Vault und übernehme das Format in deinem Tempo. Siehe die [OKF Foundation Spezifikation](docs/superpowers/specs/2026-08-02-okf-foundation-design.md) für Implementierungsdetails.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Demo
|
|
53
|
+
|
|
54
|
+
<div align="center">
|
|
55
|
+
<img src="./assets/demo.gif" alt="pi-llm-wiki demo" width="1920" />
|
|
56
|
+
</div>
|
|
57
|
+
|
|
38
58
|
---
|
|
39
59
|
|
|
40
60
|
## Schnellstart
|
|
@@ -82,11 +102,13 @@ Das Ergebnis ist ein Wiki, das wächst, während du Quellen erfasst, Fragen stel
|
|
|
82
102
|
| 🧠 **Layered recall** | Searches both personal (`~/.llm-wiki/`) and project (`.llm-wiki/`) vaults — personal knowledge follows you everywhere |
|
|
83
103
|
| 📝 **Auto-bootstrap** | Extension suggests creating a wiki when none exists in the current directory |
|
|
84
104
|
| 💾 **Lightweight capture** | `wiki_retro` — save atomic insights as a single markdown file; full 4-layer pipeline also available via `wiki_capture_source` |
|
|
85
|
-
|
|
|
105
|
+
| 🧭 **Agent working-memory** _(opt-in)_ | `wiki_capture_trajectory` records *how* a task was solved (tool-call trajectory) → distill into reusable `skill`/`case` pages → `wiki_recall_skill` surfaces them next time. Off by default; enable with `/wiki-trajectories on` |
|
|
106
|
+
| 🌐 **OKF v0.2 nativ** | Portierbare Open Knowledge Format-Dokumente, Dual-Read-Kompatibilität mit Legacy-Vaults und deterministische Projektionen |
|
|
107
|
+
| 🌐 **MCP-Server** | Verwende dasselbe OKF-fähige Wiki mit Claude Code, Cursor und Windsurf über den stdio-MCP-Transport |
|
|
86
108
|
| 📝 **Obsidian-friendly** | Folder-qualified wikilinks, stable source-ID citations, compatible vault |
|
|
87
109
|
| 🛡️ **Guardrails** | Blocks direct edits to raw sources and generated metadata |
|
|
88
110
|
| 🔧 **Configurable PDF extraction** | MarkItDown timeout via `WIKI_MARKITDOWN_TIMEOUT_MS` env var |
|
|
89
|
-
| 🧪 **
|
|
111
|
+
| 🧪 **562 tests, 85.09% coverage, CI, CodeQL** | TypeScript, Vitest, Biome, Codecov |
|
|
90
112
|
|
|
91
113
|
---
|
|
92
114
|
|
|
@@ -106,6 +128,11 @@ Das Ergebnis ist ein Wiki, das wächst, während du Quellen erfasst, Fragen stel
|
|
|
106
128
|
| `wiki_rebuild_meta` | Force a full metadata rebuild (registry, backlinks, index, log) |
|
|
107
129
|
| `wiki_log_event` | Append a structured event to the wiki activity log |
|
|
108
130
|
| `wiki_watch` | Print a `crontab` line for automatic wiki updates (daily / weekly / hourly) — does not install it |
|
|
131
|
+
| `wiki_capture_trajectory` _(opt-in)_ | Capture the completed task's tool-call trajectory (agent working-memory) |
|
|
132
|
+
| `wiki_distill_skills` _(opt-in)_ | Batch undistilled trajectories for synthesis into reusable skill pages |
|
|
133
|
+
| `wiki_recall_skill` _(opt-in)_ | Recall distilled skills + similar past cases — "have I done this before?" |
|
|
134
|
+
|
|
135
|
+
> The three agent-trajectory tools are **off by default** (issue #80). Enable them with `/wiki-trajectories on` (sets `llm-wiki.trajectories`); when off they are not registered at all.
|
|
109
136
|
|
|
110
137
|
### Schrägstrich-Befehle
|
|
111
138
|
|
|
@@ -120,6 +147,10 @@ Das Ergebnis ist ein Wiki, das wächst, während du Quellen erfasst, Fragen stel
|
|
|
120
147
|
| `/wiki-status` | Show a concise operational summary |
|
|
121
148
|
| `/wiki-digest [--period daily\|weekly]` | Generate a digest of recent activity |
|
|
122
149
|
| `/wiki-retro` | Save atomic insights from completed tasks |
|
|
150
|
+
| `/wiki-req <concept>` | Decompose a concept into atomic, traceable requirement pages |
|
|
151
|
+
| `/wiki-trajectories <on\|off>` | Enable/disable agent working-memory (opt-in, off by default) |
|
|
152
|
+
| `/wiki-record <title>` | Capture the completed task's trajectory (requires trajectories enabled) |
|
|
153
|
+
| `/wiki-skills [query]` | Search distilled skills + past cases (requires trajectories enabled) |
|
|
123
154
|
|
|
124
155
|
---
|
|
125
156
|
|
|
@@ -357,7 +388,7 @@ The bundled `llm-wiki` skill teaches the model to:
|
|
|
357
388
|
|
|
358
389
|
### Vault-Ebenen
|
|
359
390
|
|
|
360
|
-
|
|
391
|
+
Siehe den obigen Abschnitt [Geschichtete Vault-Architektur](#geschichtete-vault-architektur) für die persönliche, projektbezogene und unternehmensweite Schichtung.
|
|
361
392
|
|
|
362
393
|
### Vier-Ebenen-Seitenmodell
|
|
363
394
|
|