pi-jarvis 1.10.1 → 1.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +56 -21
  2. package/package.json +9 -3
package/README.md CHANGED
@@ -4,13 +4,17 @@
4
4
 
5
5
  <img src="https://raw.githubusercontent.com/crustyhacker/pi-jarvis/main/docs/assets/jarvis-logo.svg" alt="JARVIS — Pi / A second lane of thought. Cyan, violet, and pink ASCII chrome." width="720">
6
6
 
7
- ## A cinematic side-conversation overlay for Pi
7
+ ## Give Pi a memory. Give yourself a second lane.
8
8
 
9
- **A second lane of thought—with shared memory, searchable history, and optional archive encryption.**
9
+ **Remember decisions. Reuse preferences. Find the conversation that started it all.**
10
10
 
11
- `pi-jarvis` adds `/jarvis`: a polished overlay where you can ask for status, inspect the repo when you explicitly allow it, and send a quiet note or a confirmed redirect back to the main lane.
11
+ Main Pi and Jarvis share **persistent, searchable memory across sessions**—so useful preferences, corrections and project decisions can inform the next conversation. It works in main Pi **even if you never open `/jarvis`**, independently of Repo tools and bridge permissions.
12
12
 
13
- **Remember what matters. Find the original history when you need it.** Main Pi and Jarvis share [persistent memory](#shared-memory); the separate, opt-in [full-session archive](#full-session-archive) adds indexed history search across sessions and, when explicitly requested, projects. **New in 1.10.0: optional password encryption for the archive database and index.** Plaintext remains the default; bulk history import still requires a preview and explicit confirmation.
13
+ Want the original history, not just useful facts? The separate, opt-in **session archive** adds indexed search, session browsing and preview-confirmed import of existing Pi chats. Optional **password encryption** protects its active database, index and SQLite journals.
14
+
15
+ And `/jarvis` still gives you a polished side-conversation overlay: a second opinion, live main-session context, opt-in repo inspection, and quiet notes or confirmed redirects.
16
+
17
+ **Local storage. User-controlled access. No background model calls or embeddings.** Shared memory is **on in trusted projects** and stored in **plaintext**; recalled facts can be sent to your active model. The separate archive and its encryption are **off by default**. [Understand the controls and privacy boundary](#two-complementary-memory-features).
14
18
 
15
19
  [![CI](https://img.shields.io/github/actions/workflow/status/crustyhacker/pi-jarvis/ci.yml?branch=main&style=for-the-badge&label=CI)](https://github.com/crustyhacker/pi-jarvis/actions/workflows/ci.yml)
16
20
  [![npm version](https://img.shields.io/npm/v/pi-jarvis?style=for-the-badge&color=7c3aed)](https://www.npmjs.com/package/pi-jarvis)
@@ -18,7 +22,13 @@
18
22
  [![Pi extension](https://img.shields.io/badge/Pi-extension-06b6d4?style=for-the-badge)](https://github.com/crustyhacker/pi-jarvis)
19
23
  [![TypeScript](https://img.shields.io/badge/TypeScript-powered-2563eb?style=for-the-badge)](./package.json)
20
24
 
21
- <p><strong>Current version:</strong> 1.10.1</p>
25
+ <p><strong>Current version:</strong> 1.10.2</p>
26
+
27
+ ```bash
28
+ pi install npm:pi-jarvis
29
+ ```
30
+
31
+ [Memory in 60 seconds](#memory-in-60-seconds) · [Search your history](#full-session-archive) · [Import existing sessions](#import-all-existing-pi-sessions) · [Archive encryption](#optional-archive-encryption) · [Open the overlay](#quick-start)
22
32
 
23
33
  <p>
24
34
  <strong>Shared persistent memory</strong> ·
@@ -54,27 +64,50 @@
54
64
 
55
65
  ---
56
66
 
57
- ## The pitch
67
+ ## Stop re-explaining your project
68
+
69
+ A fresh session should not mean throwing away every useful decision. `pi-jarvis` gives main Pi and Jarvis a shared place to keep the facts you want to reuse—and an optional archive when you need the original evidence.
70
+
71
+ | Your workflow | What Jarvis adds |
72
+ |---|---|
73
+ | **"Remember how I like to work."** | Global preference notes, available to main Pi and Jarvis across projects |
74
+ | **"We already decided this."** | Project-scoped decisions and corrections that survive session changes |
75
+ | **"Jarvis found something useful."** | A saved fact can be recalled later in main Pi without enabling `Note main` or `Redirect` |
76
+ | **"What did we say about deployment?"** | Keyword search across saved notes and bounded conversation captures |
77
+ | **"Show me the original tool output."** | Separately enabled archive search, session provenance and paged raw entries |
78
+ | **"I have months of existing Pi chats."** | Explicit bulk-import preview, confirmation, duplicate skipping and per-file reports |
79
+
80
+ Memory is **context, not authority**: records can be stale, recall is bounded and relevance-based, and model curation depends on the model using its tools. Current instructions still win. Archive search covers recorded or explicitly imported history—not everything Pi has ever seen.
81
+
82
+ ### Memory in 60 seconds
83
+
84
+ After installing and reloading, check the first-use notice and effective settings. These are **literal commands**, not promises that a model will save or recall a fact:
85
+
86
+ ```text
87
+ /jarvis-memory
88
+ /jarvis-memory remember Build workflow | This project uses npm, not pnpm.
89
+ /jarvis-memory remember --global Answer style | Prefer concise answers with file paths.
90
+ /jarvis-memory search Build workflow
91
+ ```
92
+
93
+ The first note stays in this project; the second is a deliberate cross-project preference. Both lanes use the same store. Inside the overlay, `/memory search Build workflow` runs locally without a model call or waiting for queued side work.
58
94
 
59
- The main Pi session should stay on the critical path.
95
+ Now ask either lane: *"What build workflow did we save for this project? Search memory if needed."* Or ask: *"Find the earlier discussion about deployment and show the source before suggesting a change."* Automatic recall uses global/current-project records; broader search is explicit:
60
96
 
61
- `/jarvis` gives you a **second cockpit** for the work that should not interrupt that primary flow:
97
+ ```text
98
+ /jarvis-memory search --all deployment
99
+ ```
62
100
 
63
- - checking what the main agent is doing right now
64
- - seeing what changed since the last `/jarvis` turn
65
- - asking for triage, summaries, or a second opinion
66
- - inspecting the repo with local tools when you turn them on
67
- - sending a non-interrupting note back to the main session
68
- - redirecting the main session only after explicit confirmation
101
+ **Your controls, immediately available:** `/jarvis-memory off` is the global master-off; `/jarvis-memory --project off` pauses this project. `/jarvis-memory --project capture off` and `--project recall off` control saving and recall separately here. Full off retains data but blocks even record inspection; none of these switches erases original Pi transcripts or already-sent model context. [Inspect, edit and forget saved records](#inspect-edit-and-forget).
69
102
 
70
- > Think of it as a side conversation with real context, not a detached scratchpad.
103
+ ### A second cockpit—not a second task queue for main Pi
71
104
 
72
- ### Typical prompts
105
+ Use `/jarvis` for a second opinion, progress checks or repo inspection while the main lane stays on its plan. Repo tools, `Note main` and `Redirect` are separate opt-ins; redirects still require confirmation. Shared memory does **not** steer, interrupt or queue work into the other lane.
73
106
 
74
107
  - *"What is the main agent doing right now?"*
108
+ - *"Which project decisions did we save, and which might be stale?"*
75
109
  - *"Summarize the last validation failure and tell me what matters."*
76
110
  - *"Check this file while the main session keeps moving."*
77
- - *"Compare what changed since my last `/jarvis` turn."*
78
111
  - *"Redirect the main session, but make me confirm it first."*
79
112
 
80
113
  ---
@@ -100,7 +133,7 @@ Both work across main Pi and Jarvis, independently of **Repo tools** and whether
100
133
 
101
134
  | Capability | What you get |
102
135
  |---|---|
103
- | **Shared memory** | Main Pi and Jarvis remember useful discussions across sessions; enabled by default, with global/project controls and a master off switch |
136
+ | **Shared persistent memory** | One store for main Pi + Jarvis: reusable preferences, decisions and bounded finalized conversations; on in trusted projects, with global/project controls and a master off switch |
104
137
  | **Optional full-session archive** | Off by default; raw finalized entries, local indexed cross-session search, separate model permission, and preview-confirmed bulk history import |
105
138
  | **Optional archive encryption** | Off by default; password-protected database/index/journals, explicit migration and cleanup, and selectable unlock lifetimes |
106
139
  | **Persistent side lane** | `/jarvis` keeps its own isolated conversation state and restores prior side-session history |
@@ -180,9 +213,9 @@ Requires **Pi 1.0.0** and **Node.js 22.19.0 or newer**. Version **1.6.0** suppor
180
213
  ### 2) Restart or reload Pi
181
214
 
182
215
  `pi install` registers the package automatically. For local development, build and load `./dist/index.js` with `pi -e ./dist/index.js`.
183
- **New in 1.7.0: shared memory is enabled by default in trusted projects**, including main Pi even if you never open the overlay. A first-use notice explains capture and recall. Already using another memory extension? Run `/jarvis-memory off` before your first prompt; this disables both main and Jarvis memory without deleting anything.
216
+ **Shared memory is enabled by default in trusted projects**, including main Pi even if you never open the overlay. A first-use notice explains capture and recall; [try the one-minute memory workflow](#memory-in-60-seconds). Already using another memory extension? Run `/jarvis-memory off` before your first prompt; this disables both main and Jarvis memory without deleting anything.
184
217
 
185
- **The separate full-session archive is OFF by default.** Nothing is imported or recorded by that subsystem until you opt in. **Version 1.10.0 adds optional password encryption, also OFF by default**; installation does not encrypt an existing archive or change your recording/model/memory settings. If you want to avoid new plaintext archive captures during setup, pause effective **capture before enabling or migrating**. See [Full-session archive](#full-session-archive) and [safe encryption setup](#safe-initial-setup).
218
+ **The separate full-session archive is OFF by default.** Nothing is imported or recorded by that subsystem until you opt in. **Optional password encryption is also OFF by default**; installation does not encrypt an existing archive or change your recording/model/memory settings. If you want to avoid new plaintext archive captures during setup, pause effective **capture before enabling or migrating**. See [Full-session archive](#full-session-archive) and [safe encryption setup](#safe-initial-setup).
186
219
 
187
220
  ### 3) Open Jarvis
188
221
 
@@ -445,7 +478,9 @@ See [Archive encryption design and operating contract](docs/archive-encryption-d
445
478
 
446
479
  ## Shared memory
447
480
 
448
- Main Pi and Jarvis use **one local memory service**, independent of the overlay lifecycle. Useful Jarvis discussions can inform a later main session and vice versa—even when `Note main` is off. Memory does not steer or queue messages into the other session; it supplies historical context when recalled. Close/reopen, `/new`, and project changes do not erase it.
481
+ **The feature you can use even without the overlay:** main Pi and Jarvis use **one local memory service**, independent of the overlay lifecycle. Useful Jarvis discussions can inform a later main session and vice versa—even when `Note main` is off. Memory does not steer or queue messages into the other session; it supplies historical context when recalled. Close/reopen, `/new`, and project changes do not erase it.
482
+
483
+ Use project notes for architecture choices, build conventions, corrections and useful references. Use global notes only for preferences you deliberately want across projects. Prefer concise, specific facts with stable titles; search and inspect their dates/provenance before relying on them. **Do not use memory as a password or token store.** See [Memory in 60 seconds](#memory-in-60-seconds) for commands you can run without involving a model.
449
484
 
450
485
  ### What is remembered
451
486
 
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "pi-jarvis",
3
- "version": "1.10.1",
3
+ "version": "1.10.2",
4
4
  "engines": {
5
5
  "node": ">=22.19.0"
6
6
  },
7
- "description": "A Pi side-conversation overlay with shared memory, an optional searchable session archive, password encryption, and confirmed history import.",
7
+ "description": "Persistent shared memory for main Pi and Jarvis: reuse preferences and project decisions, search conversations, and opt into a session archive with bulk import and password encryption.",
8
8
  "type": "module",
9
9
  "main": "./dist/index.js",
10
10
  "types": "./dist/index.d.ts",
@@ -40,8 +40,14 @@
40
40
  "overlay",
41
41
  "assistant",
42
42
  "memory",
43
+ "persistent-memory",
44
+ "shared-memory",
45
+ "coding-agent",
46
+ "conversation-history",
43
47
  "session-history",
44
- "archive"
48
+ "archive",
49
+ "sqlite",
50
+ "encryption"
45
51
  ],
46
52
  "pi": {
47
53
  "extensions": [