persnally 2.0.0 → 2.0.1

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 CHANGED
@@ -1,7 +1,5 @@
1
1
  # Persnally
2
2
 
3
- [![CI](https://github.com/sidpan2011/persnally/actions/workflows/ci.yml/badge.svg)](https://github.com/sidpan2011/persnally/actions/workflows/ci.yml)
4
-
5
3
  **So every AI finally knows you.**
6
4
 
7
5
  Persnally is a local-first personal context engine. It learns who you are from your AI activity — your Claude and ChatGPT history, your code — and serves that context to every AI tool you use, so they stop treating you like a stranger.
@@ -20,15 +18,24 @@ The fix isn't a better model. It's a layer underneath all of them that holds *yo
20
18
 
21
19
  ```bash
22
20
  npm install -g persnally
21
+ persnally setup
22
+ ```
23
+
24
+ One command builds your mirror: it finds Claude/ChatGPT exports in `~/Downloads`, reads your local Claude Code sessions and git repos, synthesizes an evidence-linked profile, connects your AI clients (Claude Desktop, Claude Code, Cursor), and opens the dashboard.
25
+
26
+ For the richest result, export your data first ([claude.ai](https://claude.com) / [chatgpt.com](https://chatgpt.com) → Settings → Data export) and drop it in `~/Downloads` — then read a description of yourself that's sharper than your own bio, every sentence traceable to the conversations it came from.
27
+
28
+ Prefer each step explicit?
29
+
30
+ ```bash
23
31
  persnallyd start # the local daemon
24
32
  persnallyd import claude ~/Downloads/<your-claude-export>
33
+ persnallyd import claude-code # your local Claude Code sessions
25
34
  persnallyd import git ~/Projects # offline, no API needed
26
35
  persnallyd profile # synthesize who you are
27
36
  open http://127.0.0.1:4983 # see it, with evidence for every claim
28
37
  ```
29
38
 
30
- Export your data ([claude.ai](https://claude.com) / [chatgpt.com](https://chatgpt.com) → Settings → Data export), point Persnally at it, and read a description of yourself that's sharper than your own bio — every sentence traceable to the conversations it came from.
31
-
32
39
  ## How it works
33
40
 
34
41
  ```
@@ -50,7 +57,11 @@ Export your data ([claude.ai](https://claude.com) / [chatgpt.com](https://chatgp
50
57
 
51
58
  ## Make your AI tools use it
52
59
 
53
- Add the MCP server to any client (Claude Desktop, Cursor, Claude Code). It exposes four tools backed by the daemon:
60
+ ```bash
61
+ persnallyd connect --all # writes the MCP config for Claude Desktop, Claude Code, Cursor
62
+ ```
63
+
64
+ Or add the MCP server to any client manually. It exposes four tools backed by the daemon:
54
65
 
55
66
  | Tool | What it does |
56
67
  |------|-------------|
@@ -74,10 +85,14 @@ Add the MCP server to any client (Claude Desktop, Cursor, Claude Code). It expos
74
85
  ## CLI
75
86
 
76
87
  ```
77
- persnallyd start | stop | status # daemon lifecycle
88
+ persnally setup # one command: import, synthesize, connect
89
+ persnallyd start | stop | status # daemon lifecycle
78
90
  persnallyd autostart [--remove] # run at login (macOS)
79
- persnallyd import claude|chatgpt|git <path>
91
+ persnallyd connect [client|--all] # add to claude-code | claude-desktop | cursor
92
+ persnallyd import claude|claude-code|chatgpt|git <path>
93
+ persnallyd scope <client> <categories> # limit what a client can read
80
94
  persnallyd profile # synthesize the profile
95
+ persnallyd consolidate # reflect now: refresh decay, add behavior patterns
81
96
  persnallyd show [topics|events|profile]
82
97
  persnallyd forget <topic> | --all | --batch <id>
83
98
  persnallyd config set-key <sk-ant-…> # key for the background daemon
@@ -85,7 +100,7 @@ persnallyd config set-key <sk-ant-…> # key for the background daemon
85
100
 
86
101
  ## Status
87
102
 
88
- Early and moving fast — see [ROADMAP.md](./ROADMAP.md). Today: import from Claude/ChatGPT/git, a decay-weighted interest graph, an evidence-linked profile, a local dashboard, and the MCP layer that serves it all. Next: cross-tool context everywhere, then a behavior model that can answer *what would I do here?*
103
+ Early and moving fast — see [ROADMAP.md](./ROADMAP.md). Today: import from Claude, ChatGPT, Claude Code, and git; a decay-weighted interest graph; an evidence-linked profile; a local dashboard; per-client permission scoping; nightly consolidation; and the MCP layer that serves it all. Next: cross-tool context everywhere, then a behavior model that can answer *what would I do here?*
89
104
 
90
105
  ## License
91
106
 
@@ -7,13 +7,16 @@
7
7
  * NLP engine: it fills persnally_track's structured schema from conversation
8
8
  * context, so signal extraction costs zero extra inference.
9
9
  */
10
+ import { readFileSync } from "node:fs";
10
11
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
11
12
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
12
13
  import { z } from "zod";
13
14
  import { DAEMON_HINT, DaemonUnreachable, daemonDelete, daemonGet, daemonPost } from "./daemon-client.js";
14
15
  import { migrateV1Graph } from "./migrate-v1.js";
15
16
  import { getClient, logEvent, setClient } from "./telemetry.js";
16
- const server = new McpServer({ name: "persnally", version: "2.0.0" });
17
+ // Handshake version tracks package.json same rule as the daemon's VERSION.
18
+ const pkg = JSON.parse(readFileSync(new URL("../../../package.json", import.meta.url), "utf-8"));
19
+ const server = new McpServer({ name: "persnally", version: pkg.version });
17
20
  function text(s) {
18
21
  return { content: [{ type: "text", text: s }] };
19
22
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "persnally",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "license": "FSL-1.1-MIT",
5
5
  "description": "The context engine for you — local-first, across every AI. So every AI finally knows you.",
6
6
  "type": "module",