@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/README.es.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)
|
|
@@ -16,24 +16,30 @@
|
|
|
16
16
|
|
|
17
17
|
<br/>
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
<img src="./assets/thank-you-for-the-star.png" alt="Thank you for starring pi-llm-wiki!" width="100%" />
|
|
22
|
-
</a>
|
|
23
|
-
<br/>
|
|
24
|
-
<sub>
|
|
25
|
-
If you find pi-llm-wiki useful,
|
|
26
|
-
<a href="https://github.com/zosmaai/pi-llm-wiki">⭐ star the repo</a> —
|
|
27
|
-
it lets us know we're building something that matters.
|
|
28
|
-
</sub>
|
|
29
|
-
</div>
|
|
19
|
+
**Base de conocimiento autogestionable, compatible con Obsidian, para [pi](https://pi.dev).**
|
|
20
|
+
Sigue el patrón LLM Wiki de Andrej Karpathy: [LLM Wiki pattern](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f).
|
|
30
21
|
|
|
31
|
-
|
|
22
|
+
Convierte fuentes sin procesar (URLs, PDFs, Markdown, JSON, XML) en un wiki duradero, interconectado y mantenido por LLM que se acumula con el tiempo.
|
|
23
|
+
|
|
24
|
+
### Soporte nativo para Open Knowledge Format (OKF) v0.2
|
|
32
25
|
|
|
33
|
-
|
|
34
|
-
Follows Andrej Karpathy's [LLM Wiki pattern](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f).
|
|
26
|
+
Construye una base de conocimiento que puedes llevar contigo — no otra exportación cerrada y específica de una aplicación:
|
|
35
27
|
|
|
36
|
-
|
|
28
|
+
- **Crea documentos portátiles OKF v0.2** con frontmatter canónico, enlaces Markdown estándar y citas de fuentes estables.
|
|
29
|
+
- **Lee tanto páginas legacy como OKF** para que los vaults existentes sigan funcionando sin migración automática ni reescritura.
|
|
30
|
+
- **Genera índices y registros deterministas** desde páginas autoritativas, manteniendo la navegación y los metadatos reproducibles.
|
|
31
|
+
- **Usa el mismo modelo de conocimiento desde Pi o MCP** con Claude Code, Cursor, Windsurf y otros clientes MCP.
|
|
32
|
+
- **Mantente compatible con Obsidian** mientras mantienes tu conocimiento listo para herramientas que soporten Open Knowledge Format.
|
|
33
|
+
|
|
34
|
+
Comienza con un nuevo vault OKF, o apunta pi-llm-wiki a un vault existente y adopta el formato a tu ritmo. Consulta la [especificación OKF Foundation](docs/superpowers/specs/2026-08-02-okf-foundation-design.md) para detalles de implementación.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Demo
|
|
39
|
+
|
|
40
|
+
<div align="center">
|
|
41
|
+
<img src="./assets/demo.gif" alt="pi-llm-wiki demo" width="1920" />
|
|
42
|
+
</div>
|
|
37
43
|
|
|
38
44
|
---
|
|
39
45
|
|
|
@@ -43,7 +49,7 @@ Convierte fuentes sin procesar (URLs, PDFs, markdown, JSON, XML) en un wiki dura
|
|
|
43
49
|
pi install npm:@zosmaai/pi-llm-wiki
|
|
44
50
|
```
|
|
45
51
|
|
|
46
|
-
|
|
52
|
+
La extensión sugerirá proactivamente crear un wiki en tu primera sesión. Alternativamente:
|
|
47
53
|
|
|
48
54
|
```
|
|
49
55
|
/wiki-init "AI Engineering"
|
|
@@ -55,93 +61,104 @@ The extension will proactively suggest creating a wiki on your first session. Al
|
|
|
55
61
|
|
|
56
62
|
## ¿Por qué este paquete?
|
|
57
63
|
|
|
58
|
-
La mayoría de los flujos de trabajo
|
|
64
|
+
La mayoría de los flujos de trabajo basados en archivos con LLM se comportan como RAG de un solo tiro: el modelo busca documentos sin procesar cada vez que haces una pregunta. La síntesis es efímera.
|
|
59
65
|
|
|
60
66
|
**pi-llm-wiki** crea una capa intermedia:
|
|
61
67
|
|
|
62
|
-
- **
|
|
63
|
-
- **
|
|
64
|
-
- **
|
|
65
|
-
- **
|
|
68
|
+
- **Paquetes de fuentes crudas** preservan las entradas de origen de verdad
|
|
69
|
+
- **Páginas de fuentes** resumen lo que cada fuente dice
|
|
70
|
+
- **Páginas canónicas del wiki** rastrean lo que el wiki actualmente cree
|
|
71
|
+
- **Metadatos generados** mantienen todo buscable y navegable
|
|
66
72
|
|
|
67
|
-
El resultado es un wiki que se acumula
|
|
73
|
+
El resultado es un wiki que **se acumula** mientras capturas fuentes, haces preguntas y archivas análisis duraderos.
|
|
68
74
|
|
|
69
75
|
---
|
|
70
76
|
|
|
71
77
|
## Características
|
|
72
78
|
|
|
73
|
-
|
|
|
74
|
-
|
|
75
|
-
| 🏠 **
|
|
76
|
-
| 🔗 **
|
|
77
|
-
| 🧠 **
|
|
78
|
-
| 🔍 **
|
|
79
|
-
| 🩺 **
|
|
80
|
-
| 📊 **
|
|
81
|
-
| 🤖 **
|
|
82
|
-
| 🧠 **
|
|
83
|
-
| 📝 **Auto-
|
|
84
|
-
| 💾 **
|
|
85
|
-
|
|
|
86
|
-
|
|
|
87
|
-
|
|
|
88
|
-
|
|
|
89
|
-
|
|
|
79
|
+
| Capacidad | Descripción |
|
|
80
|
+
|-----------|-------------|
|
|
81
|
+
| 🏠 **Fallback personal** | Vault siempre activo en `~/.llm-wiki/` — el conocimiento se acumula entre proyectos incluso cuando no existe un wiki del proyecto |
|
|
82
|
+
| 🔗 **Captura de fuentes inmutable** | URLs, archivos locales (PDF/md/txt/html/XML/JSON) o texto pegado → paquetes de fuentes estructurados |
|
|
83
|
+
| 🧠 **Ingesta automatizada** | `wiki_ingest` procesa por lotes fuentes en páginas de conceptos, entidades, síntesis y análisis |
|
|
84
|
+
| 🔍 **Búsqueda de texto completo** | Registro generado con búsqueda por palabras clave en todas las páginas y fuentes |
|
|
85
|
+
| 🩺 **Linting mecánico** | Huérfanos, enlaces rotos, alias duplicados, lagunas de cobertura, capturas obsoletas |
|
|
86
|
+
| 📊 **Panel de control** | `wiki_status` — conteos, estados de fuentes, actividad reciente |
|
|
87
|
+
| 🤖 **Vigilancia de auto-actualización** | `wiki_watch` — imprime una línea `crontab` que ejecuta el ciclo completo según un horario |
|
|
88
|
+
| 🧠 **Recuerdo en capas** | Busca tanto en vaults personales (`~/.llm-wiki/`) como del proyecto (`.llm-wiki/`) — el conocimiento personal te sigue a todas partes |
|
|
89
|
+
| 📝 **Auto-inicialización** | La extensión sugiere crear un wiki cuando no existe ninguno en el directorio actual |
|
|
90
|
+
| 💾 **Captura ligera** | `wiki_retro` — guarda ideas atómicas como un solo archivo Markdown; también disponible el pipeline completo de 4 capas vía `wiki_capture_source` |
|
|
91
|
+
| 🧭 **Memoria de trabajo del agente** _(opcional)_ | `wiki_capture_trajectory` registra *cómo* se resolvió una tarea (trayectoria de llamadas de herramientas) → destila en páginas reutilizables de `skill`/`case` → `wiki_recall_skill` las muestra la próxima vez. Desactivado por defecto; activa con `/wiki-trajectories on` |
|
|
92
|
+
| 🌐 **OKF v0.2 nativo** | Documentos portátiles Open Knowledge Format, compatibilidad dual de lectura legacy, proyecciones deterministas |
|
|
93
|
+
| 🌐 **Servidor MCP** | Usa el mismo wiki consciente de OKF desde Claude Code, Cursor, Windsurf vía transporte MCP por stdio |
|
|
94
|
+
| 📝 **Amigable con Obsidian** | Wikilinks calificados por carpeta, citas estables de ID de fuente, vault compatible |
|
|
95
|
+
| 🛡️ **Barreras de seguridad** | Bloquea ediciones directas a fuentes crudas y metadatos generados |
|
|
96
|
+
| 🔧 **Extracción de PDF configurable** | Timeout de MarkItDown vía variable de entorno `WIKI_MARKITDOWN_TIMEOUT_MS` |
|
|
97
|
+
| 🧪 **562 pruebas, 85.09% de cobertura** | TypeScript, Vitest, Biome, Codecov, CodeQL |
|
|
90
98
|
|
|
91
99
|
---
|
|
92
100
|
|
|
93
101
|
## Herramientas
|
|
94
102
|
|
|
95
|
-
|
|
|
96
|
-
|
|
97
|
-
| `wiki_bootstrap` |
|
|
98
|
-
| `wiki_capture_source` |
|
|
99
|
-
| `wiki_recall` |
|
|
100
|
-
| `wiki_retro` |
|
|
101
|
-
| `wiki_ingest` |
|
|
102
|
-
| `wiki_ensure_page` |
|
|
103
|
-
| `wiki_search` |
|
|
104
|
-
| `wiki_lint` |
|
|
105
|
-
| `wiki_status` |
|
|
106
|
-
| `wiki_rebuild_meta` |
|
|
107
|
-
| `wiki_log_event` |
|
|
108
|
-
| `wiki_watch` |
|
|
103
|
+
| Herramienta | Descripción |
|
|
104
|
+
|-------------|-------------|
|
|
105
|
+
| `wiki_bootstrap` | Inicializa un nuevo vault de wiki con configuración, plantillas, esquema y metadatos |
|
|
106
|
+
| `wiki_capture_source` | Captura una URL, archivo local o texto pegado en un paquete de fuente inmutable |
|
|
107
|
+
| `wiki_recall` | Busca en el wiki páginas relevantes para la tarea — busca en vaults personales y del proyecto, deduplicadas |
|
|
108
|
+
| `wiki_retro` | Guarda ideas atómicas de tareas completadas en el wiki |
|
|
109
|
+
| `wiki_ingest` | Procesa paquetes de fuentes no ingeridos en páginas del wiki (por lotes) |
|
|
110
|
+
| `wiki_ensure_page` | Resuelve o crea de forma segura páginas de entidad / concepto / síntesis / análisis |
|
|
111
|
+
| `wiki_search` | Busca en el registro generado del wiki |
|
|
112
|
+
| `wiki_lint` | Comprobaciones de salud deterministas (huérfanos, lagunas, contradicciones, auto-reparación) |
|
|
113
|
+
| `wiki_status` | Muestra conteos, estados de fuentes y actividad reciente |
|
|
114
|
+
| `wiki_rebuild_meta` | Fuerza una reconstrucción completa de metadatos (registro, backlinks, índice, registro) |
|
|
115
|
+
| `wiki_log_event` | Adjunta un evento estructurado al registro de actividad del wiki |
|
|
116
|
+
| `wiki_watch` | Imprime una línea `crontab` para actualizaciones automáticas del wiki (diaria / semanal / horaria) — no la instala |
|
|
117
|
+
| `wiki_capture_trajectory` _(opcional)_ | Captura la trayectoria de llamadas de herramientas de la tarea completada (memoria de trabajo del agente) |
|
|
118
|
+
| `wiki_distill_skills` _(opcional)_ | Procesa por lotes trayectorias no destiladas para síntesis en páginas de habilidades reutilizables |
|
|
119
|
+
| `wiki_recall_skill` _(opcional)_ | Recuerda habilidades destiladas + casos similares pasados — "¿he hecho esto antes?" |
|
|
120
|
+
|
|
121
|
+
> Las tres herramientas de trayectoria del agente están **desactivadas por defecto** (issue #80). Actívalas con `/wiki-trajectories on` (establece `llm-wiki.trajectories`); cuando están apagadas no se registran en absoluto.
|
|
109
122
|
|
|
110
123
|
### Comandos de Barra
|
|
111
124
|
|
|
112
|
-
|
|
|
125
|
+
| Comando | Descripción |
|
|
113
126
|
|---------|-------------|
|
|
114
|
-
| `/wiki-init <topic>` |
|
|
115
|
-
| `/wiki-ingest [path]` |
|
|
116
|
-
| `/wiki-query <question>` |
|
|
117
|
-
| `/wiki-discover [--topic <topic>]` |
|
|
118
|
-
| `/wiki-run [--schedule daily\|weekly]` |
|
|
119
|
-
| `/wiki-lint [--fix]` |
|
|
120
|
-
| `/wiki-status` |
|
|
121
|
-
| `/wiki-digest [--period daily\|weekly]` |
|
|
122
|
-
| `/wiki-retro` |
|
|
127
|
+
| `/wiki-init <topic>` | Inicializa un nuevo vault LLM Wiki |
|
|
128
|
+
| `/wiki-ingest [path]` | Procesa nuevos archivos de fuente y actualiza el wiki |
|
|
129
|
+
| `/wiki-query <question>` | Haz preguntas al wiki con citas |
|
|
130
|
+
| `/wiki-discover [--topic <topic>]` | Descubre automáticamente nuevas fuentes de la web |
|
|
131
|
+
| `/wiki-run [--schedule daily\|weekly]` | Ciclo completo: descubrir → ingerir → lint |
|
|
132
|
+
| `/wiki-lint [--fix]` | Comprobación de salud (huérfanos, contradicciones, lagunas) |
|
|
133
|
+
| `/wiki-status` | Muestra un resumen operativo conciso |
|
|
134
|
+
| `/wiki-digest [--period daily\|weekly]` | Genera un resumen de actividad reciente |
|
|
135
|
+
| `/wiki-retro` | Guarda ideas atómicas de tareas completadas |
|
|
136
|
+
| `/wiki-req <concept>` | Descompone un concepto en páginas de requisitos atómicas y rastreables |
|
|
137
|
+
| `/wiki-trajectories <on\|off>` | Activa/desactiva la memoria de trabajo del agente (opcional, desactivada por defecto) |
|
|
138
|
+
| `/wiki-record <title>` | Captura la trayectoria de la tarea completada (requiere trayectorias activadas) |
|
|
139
|
+
| `/wiki-skills [query]` | Busca habilidades destiladas + casos pasados (requiere trayectorias activadas) |
|
|
123
140
|
|
|
124
141
|
---
|
|
125
142
|
|
|
126
143
|
## Arquitectura de Vault en Capas
|
|
127
144
|
|
|
128
|
-
|
|
145
|
+
El conocimiento te sigue a todas partes. pi-llm-wiki usa un sistema de vault en capas:
|
|
129
146
|
|
|
130
|
-
|
|
|
131
|
-
|
|
132
|
-
| 🏠 **Personal** | `~/.llm-wiki/` |
|
|
133
|
-
| 📁 **
|
|
134
|
-
| 🏢 **
|
|
147
|
+
| Capa | Ubicación | Propósito |
|
|
148
|
+
|------|-----------|-----------|
|
|
149
|
+
| 🏠 **Personal** | `~/.llm-wiki/` | Siempre activo. Configuración cero. El conocimiento se acumula en todas tus sesiones — independientemente del proyecto en el que estés. |
|
|
150
|
+
| 📁 **Proyecto** | `{project}/.llm-wiki/` | Opt-in explícito. Wiki dedicado por proyecto, compartiendo conocimiento personal cuando es relevante. |
|
|
151
|
+
| 🏢 **Empresa** (futuro) | rastreado por git | Wiki compartido entre un equipo. `wiki_publish` promueve páginas personales/de proyecto al wiki de la empresa. |
|
|
135
152
|
|
|
136
153
|
**Cómo funciona:**
|
|
137
154
|
|
|
138
|
-
1. `resolveVaultRoot()`
|
|
139
|
-
2. `wiki_recall` (
|
|
140
|
-
3.
|
|
141
|
-
4. `wiki_retro`
|
|
142
|
-
5.
|
|
155
|
+
1. `resolveVaultRoot()` verifica: cwd → subir buscando `.llm-wiki/` → `~/.llm-wiki/`
|
|
156
|
+
2. `wiki_recall` (en capas) busca en **ambos** vaults personal y del proyecto, fusionando resultados con etiquetas de vault
|
|
157
|
+
3. Los resultados personales se muestran primero en la salida de recall, etiquetados como "📓 personal"
|
|
158
|
+
4. `wiki_retro` escribe en el vault que esté activo (el proyecto tiene prioridad)
|
|
159
|
+
5. Establece la variable de entorno `WIKI_HOME` para sobrescribir la ubicación del wiki personal
|
|
143
160
|
|
|
144
|
-
|
|
161
|
+
Esto significa: puedes tener un wiki del proyecto para documentación del equipo **y** un wiki personal para tus propias notas, y recall busca ambos simultáneamente.
|
|
145
162
|
|
|
146
163
|
---
|
|
147
164
|
|
|
@@ -155,13 +172,13 @@ cd my-wiki
|
|
|
155
172
|
pi
|
|
156
173
|
```
|
|
157
174
|
|
|
158
|
-
|
|
175
|
+
Pregunta a pi:
|
|
159
176
|
|
|
160
177
|
```
|
|
161
178
|
Initialize an llm wiki here for AI research.
|
|
162
179
|
```
|
|
163
180
|
|
|
164
|
-
|
|
181
|
+
Esto llama a `wiki_bootstrap` y crea:
|
|
165
182
|
|
|
166
183
|
```
|
|
167
184
|
.llm-wiki/
|
|
@@ -189,13 +206,13 @@ Capture these notes into the wiki: ...pasted text...
|
|
|
189
206
|
|
|
190
207
|
### 3) Integrar la fuente
|
|
191
208
|
|
|
192
|
-
1.
|
|
193
|
-
2.
|
|
194
|
-
3.
|
|
195
|
-
4.
|
|
196
|
-
5.
|
|
197
|
-
6.
|
|
198
|
-
7.
|
|
209
|
+
1. Captura la fuente
|
|
210
|
+
2. Lee `.llm-wiki/wiki/sources/SRC-*.md`
|
|
211
|
+
3. Actualiza esa página de fuente
|
|
212
|
+
4. Busca páginas canónicas afectadas con `wiki_search`
|
|
213
|
+
5. Crea páginas faltantes con `wiki_ensure_page`
|
|
214
|
+
6. Actualiza páginas de concepto / entidad / síntesis con citas
|
|
215
|
+
7. Marca la integración con `wiki_log_event kind=integrate`
|
|
199
216
|
|
|
200
217
|
### 4) Consultar el wiki
|
|
201
218
|
|
|
@@ -203,7 +220,7 @@ Capture these notes into the wiki: ...pasted text...
|
|
|
203
220
|
Based on the wiki, what are the main tradeoffs between long-context models and RAG?
|
|
204
221
|
```
|
|
205
222
|
|
|
206
|
-
|
|
223
|
+
Por defecto, el modo de consulta es **de solo lectura**. Para archivar una respuesta duradera:
|
|
207
224
|
|
|
208
225
|
```
|
|
209
226
|
Answer the question and file the result as an analysis page.
|
|
@@ -211,51 +228,49 @@ Answer the question and file the result as an analysis page.
|
|
|
211
228
|
|
|
212
229
|
---
|
|
213
230
|
|
|
214
|
-
##
|
|
231
|
+
## Estructura del Vault
|
|
215
232
|
|
|
216
233
|
```
|
|
217
234
|
my-wiki/
|
|
218
235
|
└─ .llm-wiki/
|
|
219
|
-
├─ config.json #
|
|
220
|
-
├─ templates/ #
|
|
236
|
+
├─ config.json # Configuración del vault
|
|
237
|
+
├─ templates/ # Plantillas de páginas
|
|
221
238
|
├─ raw/
|
|
222
239
|
│ └─ sources/
|
|
223
240
|
│ └─ SRC-2026-05-11-001/
|
|
224
241
|
│ ├─ manifest.json
|
|
225
|
-
│ ├─ original/ #
|
|
226
|
-
│ ├─ extracted.md #
|
|
242
|
+
│ ├─ original/ # Artefacto original
|
|
243
|
+
│ ├─ extracted.md # Texto normalizado
|
|
227
244
|
│ └─ attachments/
|
|
228
245
|
├─ wiki/
|
|
229
|
-
│ ├─ sources/ #
|
|
230
|
-
│ ├─ concepts/ #
|
|
231
|
-
│ ├─ entities/ #
|
|
232
|
-
│ ├─ syntheses/ #
|
|
233
|
-
│ └─ analyses/ #
|
|
246
|
+
│ ├─ sources/ # Páginas de fuentes (lo que dice cada fuente)
|
|
247
|
+
│ ├─ concepts/ # Conceptos e ideas recurrentes
|
|
248
|
+
│ ├─ entities/ # Personas, organizaciones, productos, papers, sistemas
|
|
249
|
+
│ ├─ syntheses/ # Teses y tensiones entre fuentes
|
|
250
|
+
│ └─ analyses/ # Respuestas archivadas duraderas de consultas
|
|
234
251
|
├─ meta/
|
|
235
|
-
│ ├─ registry.json #
|
|
252
|
+
│ ├─ registry.json # Índice de búsqueda auto-generado
|
|
236
253
|
│ ├─ backlinks.json
|
|
237
254
|
│ ├─ index.md
|
|
238
|
-
│ ├─ events.jsonl #
|
|
255
|
+
│ ├─ events.jsonl # Registro de eventos de solo adjunción
|
|
239
256
|
│ ├─ log.md
|
|
240
257
|
│ └─ lint-report.md
|
|
241
|
-
└─ WIKI_SCHEMA.md #
|
|
258
|
+
└─ WIKI_SCHEMA.md # Manual de operaciones
|
|
242
259
|
```
|
|
243
260
|
|
|
244
261
|
### Modelo de Propiedad
|
|
245
262
|
|
|
246
|
-
|
|
|
247
|
-
|
|
248
|
-
|
|
|
249
|
-
|
|
250
|
-
| `.llm-wiki/
|
|
251
|
-
| `.llm-wiki/
|
|
252
|
-
| `.llm-wiki/meta/
|
|
253
|
-
| `.llm-wiki/meta/
|
|
254
|
-
| `.llm-wiki/meta/
|
|
255
|
-
| `.llm-wiki/meta/
|
|
256
|
-
| `.llm-wiki/
|
|
257
|
-
| `.llm-wiki/meta/lint-report.md` | Extension | Generated |
|
|
258
|
-
| `.llm-wiki/WIKI_SCHEMA.md` | Human + explicit request | Operating manual |
|
|
263
|
+
| Ruta | Propietario | Regla |
|
|
264
|
+
|------|-------------|-------|
|
|
265
|
+
| `.llm-wiki/raw/**` | Herramientas de extensión | Inmutable tras la captura |
|
|
266
|
+
| `.llm-wiki/wiki/**` | Modelo + usuario | Páginas de conocimiento editables |
|
|
267
|
+
| `.llm-wiki/meta/registry.json` | Extensión | Generado |
|
|
268
|
+
| `.llm-wiki/meta/backlinks.json` | Extensión | Generado |
|
|
269
|
+
| `.llm-wiki/meta/index.md` | Extensión | Generado |
|
|
270
|
+
| `.llm-wiki/meta/events.jsonl` | Extensión / herramienta | Solo adjunción |
|
|
271
|
+
| `.llm-wiki/meta/log.md` | Extensión | Generado desde eventos |
|
|
272
|
+
| `.llm-wiki/meta/lint-report.md` | Extensión | Generado |
|
|
273
|
+
| `.llm-wiki/WIKI_SCHEMA.md` | Humano + solicitud explícita | Manual de operaciones |
|
|
259
274
|
|
|
260
275
|
---
|
|
261
276
|
|
|
@@ -269,21 +284,21 @@ my-wiki/
|
|
|
269
284
|
[[syntheses/long-context-vs-rag]]
|
|
270
285
|
```
|
|
271
286
|
|
|
272
|
-
### Citas
|
|
287
|
+
### Citas Factuales
|
|
273
288
|
|
|
274
289
|
```markdown
|
|
275
290
|
[[sources/SRC-2026-04-04-001|SRC-2026-04-04-001]]
|
|
276
291
|
```
|
|
277
292
|
|
|
278
|
-
|
|
293
|
+
Los IDs estables de páginas de fuente mantienen la procedencia estable incluso si los títulos cambian.
|
|
279
294
|
|
|
280
295
|
---
|
|
281
296
|
|
|
282
|
-
##
|
|
297
|
+
## Barreras de Seguridad
|
|
283
298
|
|
|
284
|
-
|
|
299
|
+
La extensión **bloquea** ediciones directas por llamada de herramienta a:
|
|
285
300
|
|
|
286
|
-
- `.llm-wiki/raw/**` —
|
|
301
|
+
- `.llm-wiki/raw/**` — artefactos de fuente inmutables
|
|
287
302
|
- `.llm-wiki/meta/registry.json`
|
|
288
303
|
- `.llm-wiki/meta/backlinks.json`
|
|
289
304
|
- `.llm-wiki/meta/events.jsonl`
|
|
@@ -291,116 +306,191 @@ The extension **blocks** direct tool-call edits to:
|
|
|
291
306
|
- `.llm-wiki/meta/log.md`
|
|
292
307
|
- `.llm-wiki/meta/lint-report.md`
|
|
293
308
|
|
|
294
|
-
|
|
309
|
+
Si el modelo edita directamente `.llm-wiki/wiki/**` usando las herramientas integradas `write` o `edit` de Pi, la extensión **reconstruye automáticamente** los metadatos generados al final del turno del agente.
|
|
295
310
|
|
|
296
311
|
---
|
|
297
312
|
|
|
298
313
|
## Formato de Paquete de Fuente
|
|
299
314
|
|
|
300
|
-
|
|
315
|
+
Cada fuente capturada se almacena como un paquete estructurado:
|
|
301
316
|
|
|
302
317
|
```
|
|
303
318
|
.llm-wiki/raw/sources/SRC-YYYY-MM-DD-NNN/
|
|
304
|
-
├─ manifest.json #
|
|
305
|
-
├─ original/ #
|
|
306
|
-
├─ extracted.md #
|
|
307
|
-
└─ attachments/ #
|
|
319
|
+
├─ manifest.json # Metadatos de captura (título, URL, formato, marca de tiempo)
|
|
320
|
+
├─ original/ # Artefacto original (preservado tal cual)
|
|
321
|
+
├─ extracted.md # Texto normalizado (PDF→md, XML→md, JSON→md, etc.)
|
|
322
|
+
└─ attachments/ # Descargas futuras de adjuntos
|
|
308
323
|
```
|
|
309
324
|
|
|
310
|
-
|
|
325
|
+
Esto preserva tanto el **artefacto original** como una **vista extraída normalizada** para lectura.
|
|
311
326
|
|
|
312
327
|
---
|
|
313
328
|
|
|
314
329
|
## Servidor MCP
|
|
315
330
|
|
|
316
|
-
|
|
331
|
+
Usa el wiki desde **cualquier herramienta compatible con MCP** — Claude Code, Cursor, Windsurf y otras.
|
|
317
332
|
|
|
318
|
-
|
|
333
|
+
El paquete incluye un servidor MCP independiente que expone 5 herramientas de wiki por stdio:
|
|
319
334
|
|
|
320
|
-
|
|
|
321
|
-
|
|
322
|
-
| `wiki_recall` |
|
|
323
|
-
| `wiki_search` |
|
|
324
|
-
| `wiki_status` |
|
|
325
|
-
| `wiki_retro` |
|
|
326
|
-
| `wiki_capture_source` |
|
|
335
|
+
| Herramienta | Descripción |
|
|
336
|
+
|-------------|-------------|
|
|
337
|
+
| `wiki_recall` | Busca en el wiki páginas relevantes para la tarea |
|
|
338
|
+
| `wiki_search` | Búsqueda completa del registro |
|
|
339
|
+
| `wiki_status` | Estadísticas del wiki (conteos de páginas, desglose por tipo) |
|
|
340
|
+
| `wiki_retro` | Guarda ideas atómicas |
|
|
341
|
+
| `wiki_capture_source` | Captura texto como paquete de fuente |
|
|
327
342
|
|
|
328
343
|
### Uso
|
|
329
344
|
|
|
330
345
|
```bash
|
|
331
|
-
# Auto-
|
|
346
|
+
# Auto-descubierto por pi:
|
|
332
347
|
pi install npm:@zosmaai/pi-llm-wiki
|
|
333
348
|
|
|
334
|
-
#
|
|
349
|
+
# Independiente con cualquier cliente MCP:
|
|
335
350
|
WIKI_ROOT=~/my-wiki node node_modules/@zosmaai/pi-llm-wiki/mcp/index.js
|
|
336
351
|
```
|
|
337
352
|
|
|
338
|
-
|
|
353
|
+
Establece `WIKI_ROOT` en el directorio de tu vault de wiki. Si no está establecido, el servidor lo detecta automáticamente desde el directorio de trabajo actual.
|
|
339
354
|
|
|
340
355
|
---
|
|
341
356
|
|
|
342
|
-
## Comportamiento de la
|
|
357
|
+
## Comportamiento de la Habilidad
|
|
343
358
|
|
|
344
|
-
|
|
359
|
+
La habilidad `llm-wiki` incluida enseña al modelo a:
|
|
345
360
|
|
|
346
|
-
- ❌
|
|
347
|
-
- ❌
|
|
348
|
-
- ✅
|
|
349
|
-
- ✅
|
|
350
|
-
- ✅
|
|
351
|
-
- ✅
|
|
352
|
-
- ✅
|
|
361
|
+
- ❌ Nunca editar fuentes crudas directamente
|
|
362
|
+
- ❌ Nunca editar archivos de metadatos generados
|
|
363
|
+
- ✅ Capturar primero, integrar después
|
|
364
|
+
- ✅ Buscar antes de crear nuevas páginas canónicas
|
|
365
|
+
- ✅ Citar hechos usando IDs de páginas de fuente
|
|
366
|
+
- ✅ Mantener el modo de consulta de solo lectura por defecto
|
|
367
|
+
- ✅ Usar "Tensiones / advertencias" y "Preguntas abiertas" cuando la evidencia es mixta
|
|
353
368
|
|
|
354
369
|
---
|
|
355
370
|
|
|
356
371
|
## Arquitectura
|
|
357
372
|
|
|
358
|
-
### Capas
|
|
373
|
+
### Capas del Vault
|
|
359
374
|
|
|
360
|
-
|
|
375
|
+
Consulta la sección [Arquitectura de Vault en Capas](#arquitectura-de-vault-en-capas) anterior para el apilamiento personal/proyecto/empresa.
|
|
361
376
|
|
|
362
|
-
### Modelo de
|
|
377
|
+
### Modelo de Páginas de Cuatro Capas
|
|
363
378
|
|
|
364
|
-
|
|
379
|
+
Cada vault de wiki tiene cuatro capas con propiedad clara:
|
|
365
380
|
|
|
366
381
|
```
|
|
367
|
-
.llm-wiki/raw/sources/SRC-*/ #
|
|
368
|
-
.llm-wiki/wiki/ #
|
|
369
|
-
.llm-wiki/meta/ #
|
|
370
|
-
.llm-wiki/ #
|
|
382
|
+
.llm-wiki/raw/sources/SRC-*/ # Paquetes de fuente inmutables (propiedad de la extensión)
|
|
383
|
+
.llm-wiki/wiki/ # Páginas de conocimiento editables (tú + LLM)
|
|
384
|
+
.llm-wiki/meta/ # Registro, backlinks, índice, registro auto-generados
|
|
385
|
+
.llm-wiki/ # Configuración y plantillas
|
|
371
386
|
```
|
|
372
387
|
|
|
373
|
-
|
|
388
|
+
Lee [docs/architecture.md](docs/architecture.md) para el documento de diseño completo.
|
|
374
389
|
|
|
375
390
|
---
|
|
376
391
|
|
|
377
392
|
## Documentación
|
|
378
393
|
|
|
379
|
-
|
|
|
380
|
-
|
|
381
|
-
| [
|
|
382
|
-
| [
|
|
383
|
-
| [Obsidian
|
|
384
|
-
| [
|
|
385
|
-
| [API](docs/api.md) |
|
|
394
|
+
| Documento | Qué cubre |
|
|
395
|
+
|-----------|-----------|
|
|
396
|
+
| [Arquitectura](docs/architecture.md) | Cómo funcionan las cuatro capas, modelo de propiedad |
|
|
397
|
+
| [Comandos](docs/commands.md) | Todos los comandos de barra y referencia de herramientas |
|
|
398
|
+
| [Integración con Obsidian](docs/obsidian.md) | Configuración del vault y plugins recomendados |
|
|
399
|
+
| [Configuración](docs/configuration.md) | Modos de wiki, temas, variables de entorno |
|
|
400
|
+
| [API](docs/api.md) | Referencia de parámetros de herramientas de extensión |
|
|
386
401
|
|
|
387
402
|
---
|
|
388
403
|
|
|
389
404
|
## Contribuir
|
|
390
405
|
|
|
391
|
-
|
|
406
|
+
Consulta [CONTRIBUTING.md](CONTRIBUTING.md) para la configuración de desarrollo, patrones de prueba y flujo de trabajo de PR.
|
|
392
407
|
|
|
393
408
|
---
|
|
394
409
|
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
410
|
+
<div align="center">
|
|
411
|
+
<a href="https://github.com/zosmaai/pi-llm-wiki/stargazers">
|
|
412
|
+
<img src="./assets/thank-you-for-the-star.png" alt="Thank you for starring pi-llm-wiki!" width="100%" />
|
|
413
|
+
</a>
|
|
414
|
+
<br/>
|
|
415
|
+
<sub>
|
|
416
|
+
If you find pi-llm-wiki useful,
|
|
417
|
+
<a href="https://github.com/zosmaai/pi-llm-wiki">⭐ star the repo</a> —
|
|
418
|
+
it lets us know we're building something that matters.
|
|
419
|
+
</sub>
|
|
420
|
+
</div>
|
|
398
421
|
|
|
399
|
-
|
|
422
|
+
<br/>
|
|
400
423
|
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
424
|
+
## Contribuyentes
|
|
425
|
+
|
|
426
|
+
¡Gracias a todos los que han contribuido! Esta lista se regenera automáticamente por [`.github/workflows/contributors.yml`](.github/workflows/contributors.yml) — consulta [#60](https://github.com/zosmaai/pi-llm-wiki/issues/60) para la justificación.
|
|
427
|
+
|
|
428
|
+
<!-- readme: contributors -start -->
|
|
429
|
+
<table>
|
|
430
|
+
<tbody>
|
|
431
|
+
<tr>
|
|
432
|
+
<td align="center">
|
|
433
|
+
<a href="https://github.com/arjun-zosma">
|
|
434
|
+
<img src="https://avatars.githubusercontent.com/u/25246034?v=4" width="64;" alt="arjun-zosma"/>
|
|
435
|
+
<br />
|
|
436
|
+
<sub><b>Arjun Nayak</b></sub>
|
|
437
|
+
</a>
|
|
438
|
+
</td>
|
|
439
|
+
<td align="center">
|
|
440
|
+
<a href="https://github.com/Shanvit7">
|
|
441
|
+
<img src="https://avatars.githubusercontent.com/u/64424817?v=4" width="64;" alt="Shanvit7"/>
|
|
442
|
+
<br />
|
|
443
|
+
<sub><b>Shanvit S Shetty</b></sub>
|
|
444
|
+
</a>
|
|
445
|
+
</td>
|
|
446
|
+
<td align="center">
|
|
447
|
+
<a href="https://github.com/jfraser">
|
|
448
|
+
<img src="https://avatars.githubusercontent.com/u/165964?v=4" width="64;" alt="jfraser"/>
|
|
449
|
+
<br />
|
|
450
|
+
<sub><b>James Fraser</b></sub>
|
|
451
|
+
</a>
|
|
452
|
+
</td>
|
|
453
|
+
<td align="center">
|
|
454
|
+
<a href="https://github.com/CelestialCreator">
|
|
455
|
+
<img src="https://avatars.githubusercontent.com/u/177931942?v=4" width="64;" alt="CelestialCreator"/>
|
|
456
|
+
<br />
|
|
457
|
+
<sub><b>Akshay</b></sub>
|
|
458
|
+
</a>
|
|
459
|
+
</td>
|
|
460
|
+
<td align="center">
|
|
461
|
+
<a href="https://github.com/xcsf">
|
|
462
|
+
<img src="https://avatars.githubusercontent.com/u/43439835?v=4" width="64;" alt="xcsf"/>
|
|
463
|
+
<br />
|
|
464
|
+
<sub><b>xcsf</b></sub>
|
|
465
|
+
</a>
|
|
466
|
+
</td>
|
|
467
|
+
<td align="center">
|
|
468
|
+
<a href="https://github.com/danielnaab">
|
|
469
|
+
<img src="https://avatars.githubusercontent.com/u/136512?v=4" width="64;" alt="danielnaab"/>
|
|
470
|
+
<br />
|
|
471
|
+
<sub><b>Daniel Naab</b></sub>
|
|
472
|
+
</a>
|
|
473
|
+
</td>
|
|
474
|
+
<td align="center">
|
|
475
|
+
<a href="https://github.com/deestax">
|
|
476
|
+
<img src="https://avatars.githubusercontent.com/u/152369481?v=4" width="64;" alt="deestax"/>
|
|
477
|
+
<br />
|
|
478
|
+
<sub><b>Superdao</b></sub>
|
|
479
|
+
</a>
|
|
480
|
+
</td>
|
|
481
|
+
<td align="center">
|
|
482
|
+
<a href="https://github.com/mystery4f">
|
|
483
|
+
<img src="https://avatars.githubusercontent.com/u/40482524?v=4" width="64;" alt="mystery4f"/>
|
|
484
|
+
<br />
|
|
485
|
+
<sub><b>标准萌新</b></sub>
|
|
486
|
+
</a>
|
|
487
|
+
</td>
|
|
488
|
+
</tr>
|
|
489
|
+
<tbody>
|
|
490
|
+
</table>
|
|
491
|
+
<!-- readme: contributors -end -->
|
|
492
|
+
|
|
493
|
+
<sub>Full history: [contributors graph](https://github.com/zosmaai/pi-llm-wiki/graphs/contributors).</sub>
|
|
404
494
|
|
|
405
495
|
---
|
|
406
496
|
|
|
@@ -409,6 +499,6 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup, test patterns, and
|
|
|
409
499
|
<a href="https://pi.dev">pi.dev</a> · <a href="https://github.com/zosmaai/pi-llm-wiki/issues">Issues</a>
|
|
410
500
|
</div>
|
|
411
501
|
|
|
412
|
-
##
|
|
502
|
+
## License
|
|
413
503
|
|
|
414
504
|
MIT
|