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.
- package/README.md +56 -21
- 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
|
-
##
|
|
7
|
+
## Give Pi a memory. Give yourself a second lane.
|
|
8
8
|
|
|
9
|
-
**
|
|
9
|
+
**Remember decisions. Reuse preferences. Find the conversation that started it all.**
|
|
10
10
|
|
|
11
|
-
|
|
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
|
-
|
|
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
|
[](https://github.com/crustyhacker/pi-jarvis/actions/workflows/ci.yml)
|
|
16
20
|
[](https://www.npmjs.com/package/pi-jarvis)
|
|
@@ -18,7 +22,13 @@
|
|
|
18
22
|
[](https://github.com/crustyhacker/pi-jarvis)
|
|
19
23
|
[](./package.json)
|
|
20
24
|
|
|
21
|
-
<p><strong>Current version:</strong> 1.10.
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
97
|
+
```text
|
|
98
|
+
/jarvis-memory search --all deployment
|
|
99
|
+
```
|
|
62
100
|
|
|
63
|
-
-
|
|
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
|
-
|
|
103
|
+
### A second cockpit—not a second task queue for main Pi
|
|
71
104
|
|
|
72
|
-
|
|
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** |
|
|
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
|
-
**
|
|
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. **
|
|
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
|
-
|
|
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.
|
|
3
|
+
"version": "1.10.2",
|
|
4
4
|
"engines": {
|
|
5
5
|
"node": ">=22.19.0"
|
|
6
6
|
},
|
|
7
|
-
"description": "
|
|
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": [
|