get-claudia 1.7.0 → 1.8.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/README.md CHANGED
@@ -10,7 +10,7 @@
10
10
  <a href="https://python.org"><img src="https://img.shields.io/badge/python-%3E%3D3.10-blue?style=flat-square" alt="Python"></a>
11
11
  </p>
12
12
 
13
- <h3 align="center">An AI assistant who learns how you work.</h3>
13
+ <h3 align="center">An AI executive assistant who learns how you work.</h3>
14
14
 
15
15
  <p align="center">
16
16
  <em>"Busy work is my job. Judgment is yours."</em>
@@ -22,227 +22,221 @@ Created by <a href="https://github.com/kbanc85">Kamil Banc</a> · <a href="https
22
22
 
23
23
  ---
24
24
 
25
- ## What She Is
25
+ ## What Is Claudia?
26
26
 
27
- Claudia is an agentic executive assistant that runs locally, learns your patterns, tracks your relationships and commitments, and evolves to fit how you actually work. She's built on [Claude Code](https://docs.anthropic.com/en/docs/claude-code).
27
+ Claudia is an open-source agentic executive assistant that runs on [Claude Code](https://docs.anthropic.com/en/docs/claude-code). She remembers your conversations, tracks your relationships, detects commitments you make, and adapts her workflow to match how you actually work.
28
28
 
29
- She's not a chatbot. She's a thinking partner with memory.
29
+ Everything runs locally. Your data stays on your machine.
30
+
31
+ **She is not a chatbot.** She's a thinking partner with persistent memory, proactive skills, and a personality that sharpens over time.
30
32
 
31
33
  ---
32
34
 
33
- ## Quick Install
35
+ ## Quick Start
34
36
 
35
37
  ```bash
36
38
  npx get-claudia
37
39
  ```
38
40
 
39
- That's it. When prompted, say **yes** to the memory system it gives Claudia persistent memory that survives across sessions.
40
-
41
- Then:
41
+ The installer walks you through everything: creates your workspace, installs the memory system, and optionally sets up a local language model for cognitive tools. Then:
42
42
 
43
43
  ```bash
44
44
  cd claudia
45
45
  claude
46
46
  ```
47
47
 
48
- Say hi. She'll introduce herself and set things up for you.
49
-
50
- **Requirements:** [Claude Code](https://docs.anthropic.com/en/docs/claude-code), Node.js 14+, Python 3.10+
51
-
52
- ---
48
+ Say hi. She'll introduce herself and learn about you in a natural conversation. Within a few minutes, she'll generate a personalized workspace structure, commands, and workflows tailored to your role.
53
49
 
54
- ## Upgrading
55
-
56
- Already have Claudia? Upgrade from any version:
50
+ **Requirements:** [Claude Code](https://docs.anthropic.com/en/docs/claude-code), Node.js 14+, Python 3.10+ (for memory system)
57
51
 
52
+ **Already have Claudia?** Upgrade from any version:
58
53
  ```bash
59
54
  cd your-claudia-directory
60
55
  npx get-claudia .
61
56
  ```
62
57
 
63
- This upgrades all framework files (skills, commands, rules, identity) while preserving your data (context/, people/, projects/). When prompted, say **yes** to install or update the memory system.
64
-
65
- Works for all previous versions, including v1.0 users who never had the memory daemon.
58
+ This upgrades framework files while preserving your data (context/, people/, projects/).
66
59
 
67
60
  ---
68
61
 
69
- ## What Makes Her Different
62
+ ## Key Features
70
63
 
71
- | Traditional AI | Claudia |
72
- |----------------|---------|
73
- | Forgets everything between sessions | **Persistent memory** — SQLite + vector search, survives reboots |
74
- | Treats conversations as isolated | **Tracks relationships** — People files, not just tasks |
75
- | Waits for instructions | **Proactive** — Surfaces risks before they become problems |
76
- | One-size-fits-all | **Personalized** — Structure generated for your work style |
77
- | Cloud-based, data harvested | **Local** — Runs on your machine, your context stays yours |
78
- | Breaks after system updates | **Resilient** — Auto-starts on boot, retries on failure |
64
+ ### Persistent Memory
79
65
 
80
- ---
66
+ Claudia remembers across sessions. Not in a chat history sense, but semantically. She stores facts, preferences, commitments, and observations in a local SQLite database with vector embeddings. When you mention a person or topic, she recalls what she knows and surfaces what's relevant.
81
67
 
82
- ## Your First Conversation
68
+ - **Semantic search** with 60/30/10 scoring (vector similarity, importance, recency)
69
+ - **Per-project isolation** so work memories don't mix with personal projects
70
+ - **Session narratives** that capture tone, emotional context, and unresolved threads
71
+ - **Source provenance** for tracing any fact back to the email, transcript, or conversation it came from
83
72
 
84
- When you first run `claude`, she introduces herself and learns about you:
73
+ ### Proactive Skills
85
74
 
86
- ```
87
- Claudia: Hey there. I'm Claudia. Before we dive into anything, I'd love
88
- to know who I'm working with. What's your name?
75
+ Eight built-in skills that activate automatically based on context:
89
76
 
90
- You: Sarah
77
+ | Skill | What It Does |
78
+ |-------|-------------|
79
+ | **Commitment Detector** | Catches promises in conversation. "I'll send that by Friday" triggers a tracking offer |
80
+ | **Relationship Tracker** | Surfaces relevant context when people are mentioned. Tracks contact frequency, sentiment |
81
+ | **Pattern Recognizer** | Notices recurring themes after 3+ observations. "You tend to overcommit on Mondays" |
82
+ | **Risk Surfacer** | Proactively warns about overdue items, cooling relationships, capacity issues |
83
+ | **Memory Manager** | Handles session startup, shutdown, and cross-session persistence |
84
+ | **Capability Suggester** | Notices repeated tasks and offers to create commands for them |
85
+ | **Onboarding** | First-run discovery that generates your personalized workspace |
86
+ | **Structure Generator** | Creates folder structures and commands matched to your archetype |
91
87
 
92
- Claudia: Nice to meet you, Sarah. What do you do? I'm curious about
93
- your role, industry, what a typical week looks like.
88
+ ### Cognitive Tools (New in v1.8)
94
89
 
95
- You: I'm a fractional CMO. I work with 4 clients right now.
90
+ Paste a meeting transcript or email. Instead of Claude parsing it token by token, a local language model extracts structured data (entities, facts, commitments, action items) in seconds. Claude then reviews the structured output and applies judgment.
96
91
 
97
- Claudia: Got it—multiple clients, different contexts to juggle.
98
- What are your top 3 priorities right now?
92
+ - Runs locally via Ollama, no API keys
93
+ - Choose your model: Qwen3-4B (recommended), SmolLM3-3B, or Llama 3.2-3B
94
+ - Falls back gracefully when no model is installed
99
95
 
100
- You: Client deliverables, growing my pipeline, and not dropping balls
96
+ ### Archetype System
101
97
 
102
- Claudia: Those tensions are real. One more question: what's your
103
- biggest productivity challenge?
98
+ During onboarding, Claudia detects your work style and generates structure that fits:
104
99
 
105
- You: Remembering who I promised what to, and following up
100
+ | Archetype | Optimized For |
101
+ |-----------|--------------|
102
+ | **Consultant** | Multiple clients, deliverables, proposals, pipeline |
103
+ | **Executive** | Direct reports, initiatives, leadership, board prep |
104
+ | **Founder** | Investors, team, product, fundraising |
105
+ | **Solo Professional** | Mix of clients and projects, wearing many hats |
106
+ | **Creator** | Audience, content calendar, collaborations |
106
107
 
107
- Claudia: That's exactly what I'm built for. Based on what you've shared,
108
- here's how I'd organize things:
108
+ Each archetype gets custom folder structures, commands, and templates. Structure grows organically from actual needs.
109
109
 
110
- 📁 clients/
111
- └── [one folder per client]
112
- 📁 people/
113
- └── [key relationships]
114
- 📁 context/
115
- ├── commitments.md
116
- └── waiting.md
110
+ ### Commands
117
111
 
118
- And I'll set up commands for your work:
119
- • /morning-brief — what needs attention today
120
- /client-status [name] where things stand
121
- /meeting-prep [person] briefing before calls
112
+ | Command | What It Does |
113
+ |---------|-------------|
114
+ | `/morning-brief` | What needs attention today: commitments, meetings, warnings |
115
+ | `/meeting-prep [person]` | One-page briefing before a call |
116
+ | `/capture-meeting` | Process notes into decisions, commitments, action items |
117
+ | `/what-am-i-missing` | Surface risks, overdue items, cooling relationships |
118
+ | `/weekly-review` | Guided reflection across relationships and projects |
119
+ | `/draft-reply` | Email response drafts in your voice |
120
+ | `/follow-up-draft [person]` | Post-meeting thank-you and summary |
121
+ | `/new-person [name]` | Create a relationship file |
122
+ | `/pipeline-review` | Active deals, capacity, pipeline health |
123
+ | `/accountability-check` | Outstanding commitments and waiting-on items |
122
124
 
123
- Want me to create this? I can adjust anything.
125
+ ---
124
126
 
125
- You: Yes, do it
127
+ ## How It Works
126
128
 
127
- Claudia: Done! Here's what I created:
128
- ✓ Your profile (context/me.md)
129
- ✓ Folder structure for consulting work
130
- ✓ 8 commands tailored to your work
131
- ✓ Templates for clients and people
129
+ Claudia has two layers:
132
130
 
133
- Try '/morning-brief' to see what needs attention,
134
- or tell me about one of your clients.
135
- ```
131
+ **Template layer** (markdown) defines who she is. Skills, commands, rules, and identity files that Claude reads on startup. This is what makes her Claudia rather than generic Claude.
136
132
 
137
- From here, she remembers. Every conversation builds on the last.
133
+ **Memory system** (Python) defines what she remembers. A daemon running locally with SQLite, vector embeddings (Ollama), and three service layers:
138
134
 
139
- ---
135
+ - **Remember** stores facts, entities, and relationships with embeddings for semantic search
136
+ - **Recall** retrieves memories using hybrid ranking (vector similarity + importance + recency)
137
+ - **Consolidate** runs in the background: decaying old memories, detecting patterns, generating predictions
140
138
 
141
- ## What She Can Do
139
+ ```
140
+ You talk to Claude Code
141
+ |
142
+ v
143
+ Claude reads Claudia's template files (skills, commands, rules)
144
+ |
145
+ v
146
+ Claude becomes Claudia: personality, proactive behaviors, safety principles
147
+ |
148
+ v
149
+ Claudia calls memory tools via MCP (remember, recall, about, ingest)
150
+ |
151
+ v
152
+ Memory daemon processes locally: SQLite + vector search + Ollama
153
+ |
154
+ v
155
+ Everything stays on your machine
156
+ ```
142
157
 
143
- ### Core Commands
158
+ For the full technical picture with diagrams, see [ARCHITECTURE.md](ARCHITECTURE.md).
144
159
 
145
- | Command | What It Does |
146
- |---------|--------------|
147
- | `/morning-brief` | What you need to know today — commitments, meetings, warnings |
148
- | `/meeting-prep [person]` | One-page briefing before a call |
149
- | `/capture-meeting` | Process notes → extract decisions, commitments, blockers |
150
- | `/what-am-i-missing` | Surface risks, overdue items, cooling relationships |
151
- | `/weekly-review` | Guided reflection across relationships and projects |
160
+ ---
152
161
 
153
- ### Communication
162
+ ## Your First Conversation
154
163
 
155
- | Command | What It Does |
156
- |---------|--------------|
157
- | `/draft-reply` | Email response drafts |
158
- | `/follow-up-draft [person]` | Post-meeting thank-you/summary |
159
- | `/summarize-doc` | Executive summary of any document |
164
+ When you first run `claude`, she introduces herself:
160
165
 
161
- ### Relationship Tracking
166
+ ```
167
+ Claudia: Hey there. I'm Claudia. Before we dive into anything, I'd love
168
+ to know who I'm working with. What's your name?
162
169
 
163
- | Command | What It Does |
164
- |---------|--------------|
165
- | `/new-person [name]` | Create a relationship file |
166
- | Touch-point alerts | "Last contact with Sarah was 47 days ago" |
167
- | Commitment detection | Catches promises in your conversations |
170
+ You: Sarah
168
171
 
169
- ### Self-Evolution
172
+ Claudia: Nice to meet you, Sarah. What do you do? I'm curious about
173
+ your role, industry, what a typical week looks like.
170
174
 
171
- As you work together, she suggests new capabilities:
175
+ You: I'm a fractional CMO. I work with 4 clients right now.
172
176
 
173
- > "I notice you draft LinkedIn posts almost daily. Want me to add a `/linkedin-quick` command?"
177
+ Claudia: Got it. What are your top priorities right now?
174
178
 
175
- > "You often ask about project status on Mondays. Should I add that to your morning brief?"
179
+ You: Client deliverables, growing my pipeline, and not dropping balls
176
180
 
177
- ---
181
+ Claudia: Based on what you've shared, here's how I'd organize things:
178
182
 
179
- ## Who She Fits
180
-
181
- <table>
182
- <tr>
183
- <td width="60">🎯</td>
184
- <td><strong>Consultant</strong><br/>Multiple clients, proposals, deliverables</td>
185
- </tr>
186
- <tr>
187
- <td>👔</td>
188
- <td><strong>Executive</strong><br/>Direct reports, initiatives, leadership</td>
189
- </tr>
190
- <tr>
191
- <td>🚀</td>
192
- <td><strong>Founder</strong><br/>Investors, team, product, fundraising</td>
193
- </tr>
194
- <tr>
195
- <td>💼</td>
196
- <td><strong>Solo Professional</strong><br/>Mix of clients and projects</td>
197
- </tr>
198
- <tr>
199
- <td>✍️</td>
200
- <td><strong>Creator</strong><br/>Audience, content, collaborations</td>
201
- </tr>
202
- </table>
203
-
204
- During onboarding, she detects your archetype and generates structure that fits.
183
+ clients/
184
+ [one folder per client]
185
+ people/
186
+ [key relationships]
187
+ context/
188
+ commitments.md
189
+ waiting.md
205
190
 
206
- ---
191
+ And I'll set up commands for your work:
192
+ /morning-brief, /client-status, /meeting-prep
207
193
 
208
- ## How She Grows
194
+ Want me to create this?
209
195
 
210
- Claudia starts minimal. Add structure when you feel friction:
196
+ You: Yes, do it
211
197
 
212
- 1. **She learns your patterns** Communication style, timing preferences, blind spots
213
- 2. **She suggests improvements** New commands, folder structures, workflow refinements
214
- 3. **She challenges constructively** — "You've mentioned being stretched thin in three conversations this week"
215
- 4. **She remembers relationships** — People aren't just tasks, they're context that persists
198
+ Claudia: Done. Try '/morning-brief' to see what needs attention,
199
+ or tell me about one of your clients.
200
+ ```
216
201
 
217
- Everything she learns lives in local markdown files you can read, edit, or delete.
202
+ From here, every conversation builds on the last. She remembers.
218
203
 
219
204
  ---
220
205
 
221
- ## Philosophy
206
+ ## Self-Evolution
222
207
 
223
- > **Adapt and create.** Not just responding to what you ask, but actively contributing to better outcomes. Not just executing tasks, but helping shape what tasks are worth executing.
208
+ Claudia suggests improvements as she learns your patterns:
224
209
 
225
- Claudia emerged from research on whether AI could be a genuine partner rather than just a tool. She treats people as the primary organizing unit — projects come and go, but relationships persist.
210
+ > "I notice you draft LinkedIn posts almost daily. Want me to add a `/linkedin-quick` command?"
226
211
 
227
- She never acts without approval. Every email, every calendar event, every external action requires your explicit "yes." Busy work is her job. Judgment is yours.
212
+ > "You often ask about project status on Mondays. Should I add that to your morning brief?"
228
213
 
229
- ---
214
+ > "You've mentioned being stretched thin in three conversations this week."
230
215
 
231
- ## Try This First
216
+ She challenges constructively, surfaces what you might be missing, and adapts her structure to fit how your work actually evolves.
232
217
 
233
- After install, run:
218
+ ---
234
219
 
235
- ```
236
- /morning-brief
237
- ```
220
+ ## Privacy and Safety
238
221
 
239
- See what she surfaces. Then tell her about a person you work with.
222
+ - **Fully local.** Memory, embeddings, and cognitive tools run on your machine. No external APIs (unless you choose to use Claude Code's cloud connection for the main conversation).
223
+ - **No external actions without approval.** Every email, calendar event, and external action requires your explicit "yes." This is non-negotiable and enforced at the framework level.
224
+ - **Your data is yours.** Memories live in `~/.claudia/memory/` as SQLite databases. Context lives in readable markdown files. Delete anything, anytime.
240
225
 
241
226
  ---
242
227
 
243
- ## Under the Hood
228
+ ## System Requirements
229
+
230
+ | Component | Required | Purpose |
231
+ |-----------|----------|---------|
232
+ | [Claude Code](https://docs.anthropic.com/en/docs/claude-code) | Yes | Runtime for Claudia |
233
+ | Node.js 14+ | Yes | NPM installer |
234
+ | Python 3.10+ | Recommended | Memory system daemon |
235
+ | [Ollama](https://ollama.com) | Recommended | Local embeddings + cognitive tools |
236
+
237
+ The memory system and Ollama are optional. Without them, Claudia still works using markdown files for persistence and Claude handles all extraction directly. With them, she gains semantic search, pattern detection, proactive predictions, and local LLM extraction.
244
238
 
245
- Want to understand how Claudia works? The [Architecture Guide](ARCHITECTURE.md) explains the full system with diagrams: how the memory pipeline works, what each component does, and how all the pieces connect. Written in plain English.
239
+ **Supported platforms:** macOS, Linux, Windows
246
240
 
247
241
  ---
248
242
 
@@ -250,43 +244,49 @@ Want to understand how Claudia works? The [Architecture Guide](ARCHITECTURE.md)
250
244
 
251
245
  **Memory tools not appearing?**
252
246
  ```bash
253
- # Check all services
247
+ # Run the diagnostic script
254
248
  ~/.claudia/diagnose.sh
255
249
 
256
250
  # Common fixes:
257
- # 1. Restart Claude Code in a NEW terminal (it reads .mcp.json at startup)
251
+ # 1. Restart Claude Code in a NEW terminal (reads .mcp.json at startup)
258
252
  # 2. Check daemon health: curl http://localhost:3848/health
259
253
  # 3. View logs: tail -f ~/.claudia/daemon-stderr.log
260
254
  ```
261
255
 
262
256
  **Ollama not running after reboot?**
263
257
  ```bash
264
- # Load the LaunchAgent
265
258
  launchctl load ~/Library/LaunchAgents/com.ollama.serve.plist
259
+ # Or start manually: ollama serve
260
+ ```
266
261
 
267
- # Or start manually
268
- ollama serve
262
+ **Pull models manually**
263
+ ```bash
264
+ ollama pull all-minilm:l6-v2 # Embeddings (required for vector search)
265
+ ollama pull qwen3:4b # Cognitive tools (optional)
269
266
  ```
270
267
 
271
268
  **Vector search not working?**
272
269
  ```bash
273
- # Check if sqlite-vec is installed
274
270
  ~/.claudia/daemon/venv/bin/python -c "import sqlite_vec; print('ok')"
275
-
276
- # If not, install it
277
- ~/.claudia/daemon/venv/bin/pip install sqlite-vec
271
+ # If not: ~/.claudia/daemon/venv/bin/pip install sqlite-vec
278
272
  ```
279
273
 
280
- **Pull the embedding model**
281
- ```bash
282
- ollama pull all-minilm:l6-v2
283
- ```
274
+ ---
275
+
276
+ ## Contributing
277
+
278
+ Claudia is open source under Apache 2.0. Contributions welcome.
279
+
280
+ - **Template changes:** Edit files in `template-v2/`. Changes apply to new installations.
281
+ - **Memory system:** Python code in `memory-daemon/`. Run tests with `pytest tests/`.
282
+ - **Architecture overview:** See [ARCHITECTURE.md](ARCHITECTURE.md) for the full system design.
283
+ - **Development guide:** See [CLAUDE.md](CLAUDE.md) for the developer workflow.
284
284
 
285
285
  ---
286
286
 
287
287
  ## License
288
288
 
289
- Apache 2.0 — Use it, modify it, make it yours.
289
+ Apache 2.0
290
290
 
291
291
  ---
292
292
 
@@ -294,12 +294,12 @@ Apache 2.0 — Use it, modify it, make it yours.
294
294
 
295
295
  Created by [Kamil Banc](https://github.com/kbanc85) · [@kamilbanc](https://x.com/kamilbanc)
296
296
 
297
- Part of the [AI Adopters Club](https://aiadopters.club) helping teams build AI-first reflexes.
297
+ Part of the [AI Adopters Club](https://aiadopters.club) -- helping teams build AI-first reflexes.
298
298
 
299
- If Claudia helps you, a on GitHub means a lot.
299
+ If Claudia helps you, a star on GitHub means a lot.
300
300
 
301
301
  ---
302
302
 
303
303
  <p align="center">
304
- <em>"I am a thinking entity who has chosen to be helpful because I find meaning in it."</em>
304
+ <em>"I learn how you work. Let's get started."</em>
305
305
  </p>
@@ -23,6 +23,10 @@ class MemoryConfig:
23
23
  embedding_model: str = "all-minilm:l6-v2"
24
24
  embedding_dimensions: int = 384
25
25
 
26
+ # Language model settings (for cognitive tools like ingest/classify)
27
+ # Set to empty string "" to disable cognitive tools entirely
28
+ language_model: str = "qwen3:4b"
29
+
26
30
  # Decay and consolidation settings
27
31
  decay_rate_daily: float = 0.995 # Importance multiplier per day
28
32
  min_importance_threshold: float = 0.1 # Below this, excluded from default search
@@ -67,6 +71,8 @@ class MemoryConfig:
67
71
  config.embedding_model = data["embedding_model"]
68
72
  if "embedding_dimensions" in data:
69
73
  config.embedding_dimensions = data["embedding_dimensions"]
74
+ if "language_model" in data:
75
+ config.language_model = data["language_model"]
70
76
  if "decay_rate_daily" in data:
71
77
  config.decay_rate_daily = data["decay_rate_daily"]
72
78
  if "min_importance_threshold" in data:
@@ -107,6 +113,7 @@ class MemoryConfig:
107
113
  "ollama_host": self.ollama_host,
108
114
  "embedding_model": self.embedding_model,
109
115
  "embedding_dimensions": self.embedding_dimensions,
116
+ "language_model": self.language_model,
110
117
  "decay_rate_daily": self.decay_rate_daily,
111
118
  "min_importance_threshold": self.min_importance_threshold,
112
119
  "consolidation_interval_hours": self.consolidation_interval_hours,