Skip to content

Commit 8d17c2f

Browse files
committed
Add Social Memory ability
Passive background daemon captures every person mentioned in natural conversation — names, relationship hints, context snippets, follow-up commitments — and persists them to social_memory.json. Foreground skill lets you query anyone by name, see pending follow-ups sorted by overdue days, add manual notes, and remove people. Key behaviours: two-phase detection (keyword filter + LLM extractor), direct vs indirect mention distinction, natural deadline resolution, 3-day overdue nudge with once-per-day cap, personality injection on new person capture, 100-person overflow eviction, ambiguous identity flagging for same-name conflicts.
1 parent 73bb3e1 commit 8d17c2f

4 files changed

Lines changed: 1240 additions & 0 deletions

File tree

community/social-memory/README.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Social Memory
2+
3+
A passive background ability that silently captures every person you mention in natural conversation and builds relationship context over time.
4+
5+
Just talk naturally — "had lunch with Sarah", "Jake pushed back on the proposal", "I said I'd call Marcus after the weekend". Social Memory captures it all without interrupting you. Say "social memory" anytime to query what you know about someone or review pending follow-ups.
6+
7+
## Trigger Phrases
8+
9+
- `social memory` / `my social memory`
10+
- `tell me about [name]` / `remind me about [name]`
11+
- `what do I know about [name]` / `what have I said about [name]`
12+
- `who have I mentioned` / `people I've mentioned`
13+
- `any follow-ups` / `pending follow-ups`
14+
- `who do I owe` / `who should I reach out to`
15+
- `add a note about [name]`
16+
- `forget about [name]`
17+
- `clear my social memory`
18+
19+
## Features
20+
21+
**Passive Capture**
22+
- Listens every 15 seconds, zero friction
23+
- Two-phase detection: fast keyword filter + LLM person extractor
24+
- Captures name, relationship hint, context snippet, and speaker relation
25+
- Only captures people you personally know — skips public figures and service references
26+
- Distinguishes direct interactions ("I met with Sarah") from indirect mentions ("she told me about Jake")
27+
- Smart dedup: 70% snippet overlap prevents capturing the same context twice
28+
- Persists across session disconnects
29+
30+
**Follow-Up Tracking**
31+
- Detects commitments in natural speech: "I'll call Marcus after the weekend"
32+
- Resolves natural deadlines: "by Friday", "next week", "after the weekend"
33+
- Nudges you when follow-ups go overdue (default: 3 days past deadline)
34+
- One nudge per follow-up per day, at most one interrupt per poll cycle
35+
36+
**Interactive Queries**
37+
- WHO: Full context on any person — relationship, recent mentions, pending follow-ups
38+
- LIST: Everyone you've mentioned, sorted by recency, with follow-up count
39+
- FOLLOWUPS: Sorted by most overdue, mark one or all done
40+
- ADD: Manually note someone with optional follow-up
41+
- FORGET: Remove a specific person
42+
- CLEAR: Wipe all social memory (with confirmation)
43+
44+
**Personality Injection**
45+
- Injects relationship context into the agent's personality when new people are captured
46+
- Capped at 4 injections per session to avoid prompt bloat
47+
- Startup notification if pending follow-ups exist on reconnect
48+
49+
## Setup
50+
51+
No external APIs or keys required.

community/social-memory/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)