loreconvo 0.3.0__tar.gz
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.
- loreconvo-0.3.0/LICENSE +93 -0
- loreconvo-0.3.0/PKG-INFO +365 -0
- loreconvo-0.3.0/README.md +244 -0
- loreconvo-0.3.0/hooks/scripts/auto_load.py +307 -0
- loreconvo-0.3.0/hooks/scripts/auto_save.py +301 -0
- loreconvo-0.3.0/loreconvo.egg-info/PKG-INFO +365 -0
- loreconvo-0.3.0/loreconvo.egg-info/SOURCES.txt +36 -0
- loreconvo-0.3.0/loreconvo.egg-info/dependency_links.txt +1 -0
- loreconvo-0.3.0/loreconvo.egg-info/entry_points.txt +3 -0
- loreconvo-0.3.0/loreconvo.egg-info/requires.txt +7 -0
- loreconvo-0.3.0/loreconvo.egg-info/top_level.txt +8 -0
- loreconvo-0.3.0/pyproject.toml +54 -0
- loreconvo-0.3.0/scripts/onboard_verify.py +420 -0
- loreconvo-0.3.0/scripts/save_to_loreconvo.py +274 -0
- loreconvo-0.3.0/setup.cfg +4 -0
- loreconvo-0.3.0/src/__init__.py +0 -0
- loreconvo-0.3.0/src/cli.py +212 -0
- loreconvo-0.3.0/src/core/__init__.py +8 -0
- loreconvo-0.3.0/src/core/config.py +38 -0
- loreconvo-0.3.0/src/core/database.py +594 -0
- loreconvo-0.3.0/src/core/license.py +214 -0
- loreconvo-0.3.0/src/core/models.py +61 -0
- loreconvo-0.3.0/src/server.py +362 -0
- loreconvo-0.3.0/tests/__init__.py +0 -0
- loreconvo-0.3.0/tests/test_auto_load.py +232 -0
- loreconvo-0.3.0/tests/test_auto_save.py +254 -0
- loreconvo-0.3.0/tests/test_cli.py +267 -0
- loreconvo-0.3.0/tests/test_database_new.py +204 -0
- loreconvo-0.3.0/tests/test_gitignore_safety.py +69 -0
- loreconvo-0.3.0/tests/test_license.py +296 -0
- loreconvo-0.3.0/tests/test_mcp_json_pro_defaults.py +76 -0
- loreconvo-0.3.0/tests/test_null_id_migration.py +305 -0
- loreconvo-0.3.0/tests/test_onboard.py +333 -0
- loreconvo-0.3.0/tests/test_plugin_json_structure.py +82 -0
- loreconvo-0.3.0/tests/test_plugin_skills_sync.py +135 -0
- loreconvo-0.3.0/tests/test_save_script.py +226 -0
- loreconvo-0.3.0/tests/test_session_limit.py +181 -0
- loreconvo-0.3.0/tests/test_vault_suggest.py +362 -0
loreconvo-0.3.0/LICENSE
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
Business Source License 1.1
|
|
2
|
+
|
|
3
|
+
Parameters
|
|
4
|
+
|
|
5
|
+
Licensor: Labyrinth Analytics Consulting
|
|
6
|
+
Licensed Work: LoreConvo v0.3.0
|
|
7
|
+
The Licensed Work is (c) 2026 Labyrinth Analytics Consulting
|
|
8
|
+
Additional Use Grant: You may make personal, non-commercial use of the Licensed Work,
|
|
9
|
+
subject to the following limitation: you may store no more than
|
|
10
|
+
50 sessions in total across all databases on your machine. Any
|
|
11
|
+
use that exceeds this limit, or any commercial use, requires a
|
|
12
|
+
paid license from the Licensor.
|
|
13
|
+
Change Date: 2030-03-31
|
|
14
|
+
Change License: Apache License, Version 2.0
|
|
15
|
+
|
|
16
|
+
For information about alternative licensing arrangements for the Licensed Work,
|
|
17
|
+
please contact: info@labyrinthanalyticsconsulting.com
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
Business Source License 1.1
|
|
22
|
+
|
|
23
|
+
License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
|
|
24
|
+
"Business Source License" is a trademark of MariaDB Corporation Ab.
|
|
25
|
+
|
|
26
|
+
Terms
|
|
27
|
+
|
|
28
|
+
The Licensor hereby grants you the right to copy, modify, create derivative
|
|
29
|
+
works, redistribute, and make non-production use of the Licensed Work. The
|
|
30
|
+
Licensor may make an Additional Use Grant, above, permitting limited production
|
|
31
|
+
use.
|
|
32
|
+
|
|
33
|
+
Effective on the Change Date, or the fourth anniversary of the first publicly
|
|
34
|
+
available distribution of a specific version of the Licensed Work under this
|
|
35
|
+
License, whichever comes first, the Licensor hereby grants you rights under
|
|
36
|
+
the terms of the Change License, and the rights granted in the paragraph
|
|
37
|
+
above terminate.
|
|
38
|
+
|
|
39
|
+
If your use of the Licensed Work does not comply with the requirements
|
|
40
|
+
currently in effect as described in this License, you must purchase a
|
|
41
|
+
commercial license from the Licensor, its affiliated entities, or authorized
|
|
42
|
+
resellers, or you must refrain from using the Licensed Work.
|
|
43
|
+
|
|
44
|
+
All copies of the original and modified Licensed Work, and derivative works
|
|
45
|
+
of the Licensed Work, are subject to this License. This License applies
|
|
46
|
+
separately for each version of the Licensed Work and the Change Date may vary
|
|
47
|
+
for each version of the Licensed Work released by Licensor.
|
|
48
|
+
|
|
49
|
+
You must conspicuously display this License on each original or modified copy
|
|
50
|
+
of the Licensed Work. If you receive a copy of the Licensed Work in
|
|
51
|
+
combination with other programs, as part of a larger work, or packaged by a
|
|
52
|
+
third party, and you receive the Licensed Work under a different license from
|
|
53
|
+
the one described in this License, you are required to comply with the license
|
|
54
|
+
applicable to you.
|
|
55
|
+
|
|
56
|
+
Any use of the Licensed Work in violation of this License will automatically
|
|
57
|
+
terminate your rights under this License for the current and all other
|
|
58
|
+
versions of the Licensed Work.
|
|
59
|
+
|
|
60
|
+
This License does not grant you any right in any trademark or logo of
|
|
61
|
+
Licensor or its affiliates (provided that you may use a trademark or logo of
|
|
62
|
+
Licensor as expressly required by this License).
|
|
63
|
+
|
|
64
|
+
TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
|
|
65
|
+
AN "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
|
|
66
|
+
EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
|
|
67
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND
|
|
68
|
+
TITLE.
|
|
69
|
+
|
|
70
|
+
MariaDB hereby grants you permission to use this License's text to license
|
|
71
|
+
your works, and to refer to it using the trademark "Business Source License",
|
|
72
|
+
as long as you comply with the Covenants of Licensor below.
|
|
73
|
+
|
|
74
|
+
Covenants of Licensor
|
|
75
|
+
|
|
76
|
+
In consideration of the right to use this License's text and the "Business
|
|
77
|
+
Source License" name and trademark, Licensor covenants to MariaDB, and to all
|
|
78
|
+
other recipients of the licensed work to be provided under this License:
|
|
79
|
+
|
|
80
|
+
1. To specify as the Change License the GPL Version 2.0 or any later version,
|
|
81
|
+
or a license that is compatible with GPL Version 2.0 or a later version,
|
|
82
|
+
where "compatible" means that software provided under the Change License can
|
|
83
|
+
be included in a program with software provided under GPL Version 2.0 or a
|
|
84
|
+
later version. Licensor may specify additional Change Licenses without
|
|
85
|
+
limitation.
|
|
86
|
+
|
|
87
|
+
2. To either: (a) specify an additional grant of rights to use that does not
|
|
88
|
+
impose any additional restriction on the right granted in this License, as
|
|
89
|
+
the Additional Use Grant; or (b) insert the text "None".
|
|
90
|
+
|
|
91
|
+
3. To specify a Change Date.
|
|
92
|
+
|
|
93
|
+
4. Not to modify this License in any other way.
|
loreconvo-0.3.0/PKG-INFO
ADDED
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: loreconvo
|
|
3
|
+
Version: 0.3.0
|
|
4
|
+
Summary: Cross-surface persistent memory for Claude sessions. Vault conversations from Code, Cowork, and Chat -- recall decisions, artifacts, and context in any future session.
|
|
5
|
+
Author: Labyrinth Analytics Consulting
|
|
6
|
+
License: Business Source License 1.1
|
|
7
|
+
|
|
8
|
+
Parameters
|
|
9
|
+
|
|
10
|
+
Licensor: Labyrinth Analytics Consulting
|
|
11
|
+
Licensed Work: LoreConvo v0.3.0
|
|
12
|
+
The Licensed Work is (c) 2026 Labyrinth Analytics Consulting
|
|
13
|
+
Additional Use Grant: You may make personal, non-commercial use of the Licensed Work,
|
|
14
|
+
subject to the following limitation: you may store no more than
|
|
15
|
+
50 sessions in total across all databases on your machine. Any
|
|
16
|
+
use that exceeds this limit, or any commercial use, requires a
|
|
17
|
+
paid license from the Licensor.
|
|
18
|
+
Change Date: 2030-03-31
|
|
19
|
+
Change License: Apache License, Version 2.0
|
|
20
|
+
|
|
21
|
+
For information about alternative licensing arrangements for the Licensed Work,
|
|
22
|
+
please contact: info@labyrinthanalyticsconsulting.com
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
Business Source License 1.1
|
|
27
|
+
|
|
28
|
+
License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
|
|
29
|
+
"Business Source License" is a trademark of MariaDB Corporation Ab.
|
|
30
|
+
|
|
31
|
+
Terms
|
|
32
|
+
|
|
33
|
+
The Licensor hereby grants you the right to copy, modify, create derivative
|
|
34
|
+
works, redistribute, and make non-production use of the Licensed Work. The
|
|
35
|
+
Licensor may make an Additional Use Grant, above, permitting limited production
|
|
36
|
+
use.
|
|
37
|
+
|
|
38
|
+
Effective on the Change Date, or the fourth anniversary of the first publicly
|
|
39
|
+
available distribution of a specific version of the Licensed Work under this
|
|
40
|
+
License, whichever comes first, the Licensor hereby grants you rights under
|
|
41
|
+
the terms of the Change License, and the rights granted in the paragraph
|
|
42
|
+
above terminate.
|
|
43
|
+
|
|
44
|
+
If your use of the Licensed Work does not comply with the requirements
|
|
45
|
+
currently in effect as described in this License, you must purchase a
|
|
46
|
+
commercial license from the Licensor, its affiliated entities, or authorized
|
|
47
|
+
resellers, or you must refrain from using the Licensed Work.
|
|
48
|
+
|
|
49
|
+
All copies of the original and modified Licensed Work, and derivative works
|
|
50
|
+
of the Licensed Work, are subject to this License. This License applies
|
|
51
|
+
separately for each version of the Licensed Work and the Change Date may vary
|
|
52
|
+
for each version of the Licensed Work released by Licensor.
|
|
53
|
+
|
|
54
|
+
You must conspicuously display this License on each original or modified copy
|
|
55
|
+
of the Licensed Work. If you receive a copy of the Licensed Work in
|
|
56
|
+
combination with other programs, as part of a larger work, or packaged by a
|
|
57
|
+
third party, and you receive the Licensed Work under a different license from
|
|
58
|
+
the one described in this License, you are required to comply with the license
|
|
59
|
+
applicable to you.
|
|
60
|
+
|
|
61
|
+
Any use of the Licensed Work in violation of this License will automatically
|
|
62
|
+
terminate your rights under this License for the current and all other
|
|
63
|
+
versions of the Licensed Work.
|
|
64
|
+
|
|
65
|
+
This License does not grant you any right in any trademark or logo of
|
|
66
|
+
Licensor or its affiliates (provided that you may use a trademark or logo of
|
|
67
|
+
Licensor as expressly required by this License).
|
|
68
|
+
|
|
69
|
+
TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
|
|
70
|
+
AN "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
|
|
71
|
+
EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
|
|
72
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND
|
|
73
|
+
TITLE.
|
|
74
|
+
|
|
75
|
+
MariaDB hereby grants you permission to use this License's text to license
|
|
76
|
+
your works, and to refer to it using the trademark "Business Source License",
|
|
77
|
+
as long as you comply with the Covenants of Licensor below.
|
|
78
|
+
|
|
79
|
+
Covenants of Licensor
|
|
80
|
+
|
|
81
|
+
In consideration of the right to use this License's text and the "Business
|
|
82
|
+
Source License" name and trademark, Licensor covenants to MariaDB, and to all
|
|
83
|
+
other recipients of the licensed work to be provided under this License:
|
|
84
|
+
|
|
85
|
+
1. To specify as the Change License the GPL Version 2.0 or any later version,
|
|
86
|
+
or a license that is compatible with GPL Version 2.0 or a later version,
|
|
87
|
+
where "compatible" means that software provided under the Change License can
|
|
88
|
+
be included in a program with software provided under GPL Version 2.0 or a
|
|
89
|
+
later version. Licensor may specify additional Change Licenses without
|
|
90
|
+
limitation.
|
|
91
|
+
|
|
92
|
+
2. To either: (a) specify an additional grant of rights to use that does not
|
|
93
|
+
impose any additional restriction on the right granted in this License, as
|
|
94
|
+
the Additional Use Grant; or (b) insert the text "None".
|
|
95
|
+
|
|
96
|
+
3. To specify a Change Date.
|
|
97
|
+
|
|
98
|
+
4. Not to modify this License in any other way.
|
|
99
|
+
|
|
100
|
+
Project-URL: Homepage, https://github.com/labyrinth-analytics/loreconvo
|
|
101
|
+
Project-URL: Repository, https://github.com/labyrinth-analytics/loreconvo
|
|
102
|
+
Project-URL: Bug Tracker, https://github.com/labyrinth-analytics/loreconvo/issues
|
|
103
|
+
Keywords: mcp,claude,memory,sessions,cross-surface,ai-tools,claude-plugin
|
|
104
|
+
Classifier: Development Status :: 4 - Beta
|
|
105
|
+
Classifier: Intended Audience :: End Users/Desktop
|
|
106
|
+
Classifier: License :: Other/Proprietary License
|
|
107
|
+
Classifier: Programming Language :: Python :: 3
|
|
108
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
109
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
110
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
111
|
+
Classifier: Topic :: Communications
|
|
112
|
+
Requires-Python: >=3.10
|
|
113
|
+
Description-Content-Type: text/markdown
|
|
114
|
+
License-File: LICENSE
|
|
115
|
+
Requires-Dist: mcp[cli]>=1.0.0
|
|
116
|
+
Requires-Dist: click>=8.0.0
|
|
117
|
+
Requires-Dist: cryptography>=41.0.0
|
|
118
|
+
Provides-Extra: dev
|
|
119
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
120
|
+
Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
|
|
121
|
+
|
|
122
|
+
# LoreConvo
|
|
123
|
+
|
|
124
|
+
Vault your Claude conversations. Never re-explain yourself again.
|
|
125
|
+
|
|
126
|
+
Persistent cross-surface memory for Claude. Capture session context across Code, Cowork, and Chat. Organize by project, skill, and persona.
|
|
127
|
+
|
|
128
|
+
## Quick Start
|
|
129
|
+
|
|
130
|
+
One command to install:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
bash install.sh
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
This creates a virtual environment, installs dependencies, and verifies everything works. No system Python changes, no manual pip commands.
|
|
137
|
+
|
|
138
|
+
## Using LoreConvo
|
|
139
|
+
|
|
140
|
+
### Claude Code (Terminal)
|
|
141
|
+
|
|
142
|
+
**Start a session with the plugin loaded:**
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
claude --plugin-dir /path/to/loreconvo
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**Or load it inside an existing session:**
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
/plugin add /path/to/loreconvo
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Replace `/path/to/loreconvo` with wherever you saved the source folder.
|
|
155
|
+
|
|
156
|
+
After making code changes, use `/reload-plugins` to refresh without restarting.
|
|
157
|
+
|
|
158
|
+
Once loaded, Claude has access to all 13 LoreConvo MCP tools automatically. Ask Claude to "save this session" or "recall what we discussed about X" and it will use the tools on its own.
|
|
159
|
+
|
|
160
|
+
### Cowork (Desktop App)
|
|
161
|
+
|
|
162
|
+
1. Click the **+** button next to the prompt box
|
|
163
|
+
2. Select **Plugins**
|
|
164
|
+
3. Select **Add plugin**
|
|
165
|
+
4. Browse to the `loreconvo` source folder
|
|
166
|
+
|
|
167
|
+
**Important: Shared Database Access**
|
|
168
|
+
|
|
169
|
+
Cowork runs in a sandboxed VM and can't see your Mac's filesystem by default. To read sessions saved by Claude Code, ask Claude in Cowork:
|
|
170
|
+
|
|
171
|
+
> "Mount my ~/.loreconvo folder"
|
|
172
|
+
|
|
173
|
+
Once mounted, Cowork reads and writes to the same database as Claude Code. Sessions saved in Code appear instantly in Cowork.
|
|
174
|
+
|
|
175
|
+
### Claude Chat (Web)
|
|
176
|
+
|
|
177
|
+
Chat doesn't support plugins, so LoreConvo provides a one-command bridge. Run this in your terminal:
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
bash export-to-chat.sh
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
This exports your last session and copies it to your clipboard (macOS). Switch to Chat and paste (Cmd+V). Chat instantly has the context from your Code or Cowork session.
|
|
184
|
+
|
|
185
|
+
To search for a specific session:
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
bash export-to-chat.sh "tax prep"
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## How It Works Across Surfaces
|
|
192
|
+
|
|
193
|
+
The core value of LoreConvo is that context persists across Claude surfaces automatically. Here is the full chain:
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
Claude Code (terminal)
|
|
197
|
+
|-- SessionEnd hook --> auto_save.py --> ~/.loreconvo/sessions.db
|
|
198
|
+
|-- SessionStart hook <-- auto_load.py <-- ~/.loreconvo/sessions.db
|
|
199
|
+
^
|
|
200
|
+
Cowork (desktop app) <--MCP tools-------------|
|
|
201
|
+
save_session / get_recent_sessions / search_sessions
|
|
202
|
+
|
|
203
|
+
Claude Chat (web)
|
|
204
|
+
|-- export-to-chat.sh --> clipboard --> paste into Chat
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
**Claude Code** is the primary surface. The hooks run automatically:
|
|
208
|
+
|
|
209
|
+
- When a session ends, `auto_save.py` captures the conversation and saves a structured summary (decisions, artifacts, open questions, tags) to the local SQLite database.
|
|
210
|
+
- When a new session starts, `auto_load.py` queries the database, scores recent sessions by signal quality, and injects the most relevant context into the session as system context. Sessions with open questions and decisions score highest; low-signal sessions are filtered out.
|
|
211
|
+
|
|
212
|
+
**Cowork** (this desktop app) does not run hooks, but has full access to the same database via the 13 MCP tools. You can call `get_recent_sessions`, `search_sessions`, or `get_context_for` directly from a Cowork conversation to pull in context from any prior Code session.
|
|
213
|
+
|
|
214
|
+
**Claude Chat** (web) does not support plugins. The `export-to-chat.sh` script bridges the gap: it exports your most recent session to your clipboard so you can paste it directly into Chat. This gives Chat the same context that Code would have loaded automatically.
|
|
215
|
+
|
|
216
|
+
The result: when you switch surfaces mid-project, you never have to re-explain what you were doing.
|
|
217
|
+
|
|
218
|
+
## Verify Installation
|
|
219
|
+
|
|
220
|
+
After installing, verify LoreConvo is working by asking Claude:
|
|
221
|
+
|
|
222
|
+
> "Run `get_recent_sessions` and show me the results."
|
|
223
|
+
|
|
224
|
+
If you see a list of sessions (or an empty list if this is your first time), LoreConvo is connected. If you get an error about missing tools, re-run `bash install.sh` and reload the plugin.
|
|
225
|
+
|
|
226
|
+
For hooks verification (Claude Code only):
|
|
227
|
+
|
|
228
|
+
> "Check if LoreConvo auto-loaded any context at the start of this session."
|
|
229
|
+
|
|
230
|
+
If the SessionStart hook is working, Claude will have received context from your recent sessions automatically.
|
|
231
|
+
|
|
232
|
+
## Recommended CLAUDE.md Setup
|
|
233
|
+
|
|
234
|
+
For the best experience, add the following snippet to your `~/.claude/CLAUDE.md` (global) or your project's `CLAUDE.md`. This tells Claude how to use LoreConvo consistently across sessions.
|
|
235
|
+
|
|
236
|
+
```markdown
|
|
237
|
+
## LoreConvo (persistent session memory)
|
|
238
|
+
|
|
239
|
+
At session start:
|
|
240
|
+
1. Call `get_recent_sessions` to check for recent context relevant to the current work.
|
|
241
|
+
2. Use this context to avoid re-explaining things already discussed in prior sessions.
|
|
242
|
+
|
|
243
|
+
During the session:
|
|
244
|
+
- If important decisions are made or domain knowledge is shared, note it for the session summary.
|
|
245
|
+
|
|
246
|
+
At session end:
|
|
247
|
+
- Call `save_session` with a summary of what was accomplished, key decisions, open questions,
|
|
248
|
+
and any artifacts created. Use appropriate tags (e.g., project name, surface).
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
**For Cowork users:** Cowork does not run hooks automatically. Add instructions to call `get_recent_sessions` at session start and `save_session` at session end in your project CLAUDE.md. See [COWORK_RESTORE.md](COWORK_RESTORE.md) for details.
|
|
252
|
+
|
|
253
|
+
## Features
|
|
254
|
+
|
|
255
|
+
- **Cross-surface memory**: Bridge context between Claude Code, Cowork, and Chat
|
|
256
|
+
- **Structured sessions**: Captures decisions, artifacts, open questions -- not just raw text
|
|
257
|
+
- **Project organization**: Group sessions by project with expected skill sets
|
|
258
|
+
- **Skill tracking**: Record which skills were used for smart filtering
|
|
259
|
+
- **Persona tagging**: Hierarchical personas for agent-specific memory (e.g., `ron-bot:sql`)
|
|
260
|
+
- **Full-text search**: SQLite FTS5 for fast keyword search across all sessions
|
|
261
|
+
- **Dual interface**: MCP tools (for LLM use) + CLI (for human use)
|
|
262
|
+
- **Local-first**: SQLite database, no cloud dependency, zero API costs
|
|
263
|
+
|
|
264
|
+
## CLI Reference
|
|
265
|
+
|
|
266
|
+
```bash
|
|
267
|
+
# Vault a session
|
|
268
|
+
.venv/bin/python3 src/cli.py save -t "Tax pipeline debugging" -s code -m "Fixed the K-1 parser..."
|
|
269
|
+
|
|
270
|
+
# List recent sessions
|
|
271
|
+
.venv/bin/python3 src/cli.py list --days 7
|
|
272
|
+
|
|
273
|
+
# Search the vault
|
|
274
|
+
.venv/bin/python3 src/cli.py search "rental insurance split"
|
|
275
|
+
|
|
276
|
+
# Export for Chat paste (most recent session, markdown format)
|
|
277
|
+
.venv/bin/python3 src/cli.py export --last --format markdown
|
|
278
|
+
|
|
279
|
+
# Export a specific session by ID
|
|
280
|
+
.venv/bin/python3 src/cli.py export <session-id>
|
|
281
|
+
|
|
282
|
+
# Export as JSON
|
|
283
|
+
.venv/bin/python3 src/cli.py export --last --format json
|
|
284
|
+
|
|
285
|
+
# Skill history
|
|
286
|
+
.venv/bin/python3 src/cli.py skill-history rental-property-accounting
|
|
287
|
+
|
|
288
|
+
# List all skills by usage count
|
|
289
|
+
.venv/bin/python3 src/cli.py skills list
|
|
290
|
+
|
|
291
|
+
# Stats
|
|
292
|
+
.venv/bin/python3 src/cli.py stats
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
## MCP Tools
|
|
296
|
+
|
|
297
|
+
LoreConvo provides 13 MCP tools that Claude calls automatically during sessions:
|
|
298
|
+
|
|
299
|
+
| Tool | What it does |
|
|
300
|
+
|------|-------------|
|
|
301
|
+
| `save_session` | Save a session summary with decisions, artifacts, and tags |
|
|
302
|
+
| `get_recent_sessions` | List recent sessions, optionally filtered by surface |
|
|
303
|
+
| `get_session` | Retrieve a specific session by ID |
|
|
304
|
+
| `search_sessions` | Full-text search across all saved sessions |
|
|
305
|
+
| `get_context_for` | Pull relevant context for a topic (best for "recall" use) |
|
|
306
|
+
| `tag_session` | Add a persona tag to a session |
|
|
307
|
+
| `link_sessions` | Connect related sessions with a relationship type |
|
|
308
|
+
| `create_project` | Create a named project with expected skills |
|
|
309
|
+
| `get_project` | Get project details and associated sessions |
|
|
310
|
+
| `list_projects` | List all projects |
|
|
311
|
+
| `get_skill_history` | See which sessions used a specific skill |
|
|
312
|
+
| `vault_suggest` | Proactive suggestions for relevant context to load |
|
|
313
|
+
| `get_tier` | Check current tier and license key status |
|
|
314
|
+
|
|
315
|
+
## Requirements
|
|
316
|
+
|
|
317
|
+
- Python 3.10+
|
|
318
|
+
- macOS or Linux
|
|
319
|
+
- `mcp` and `click` (auto-installed by `install.sh`)
|
|
320
|
+
|
|
321
|
+
## Data Storage
|
|
322
|
+
|
|
323
|
+
Sessions are stored locally in SQLite at `~/.loreconvo/sessions.db`. Override with the `LORECONVO_DB` environment variable.
|
|
324
|
+
|
|
325
|
+
## Troubleshooting
|
|
326
|
+
|
|
327
|
+
**MCP tools not showing up in Claude Code?**
|
|
328
|
+
Make sure you ran `bash install.sh` first. The `.venv` must exist with dependencies installed.
|
|
329
|
+
|
|
330
|
+
**"No module named 'mcp'" error?**
|
|
331
|
+
The `.mcp.json` points to `.venv/bin/python3` inside the plugin folder. If you moved the folder, re-run `bash install.sh`.
|
|
332
|
+
|
|
333
|
+
**Cowork can't see sessions saved in Code?**
|
|
334
|
+
Ask Claude to "mount my ~/.loreconvo folder" so Cowork can access the shared database.
|
|
335
|
+
|
|
336
|
+
## Fallback Script (Direct DB Access)
|
|
337
|
+
|
|
338
|
+
If the MCP server is unreachable (e.g., in scheduled tasks or automation scripts), `scripts/save_to_loreconvo.py` provides the same core operations directly against the SQLite database.
|
|
339
|
+
|
|
340
|
+
```bash
|
|
341
|
+
# Save a session
|
|
342
|
+
python scripts/save_to_loreconvo.py \
|
|
343
|
+
--title "Daily QA run" \
|
|
344
|
+
--surface "qa" \
|
|
345
|
+
--summary "Ran full test suite. All passing." \
|
|
346
|
+
--tags '["qa", "automated"]'
|
|
347
|
+
|
|
348
|
+
# Read recent sessions
|
|
349
|
+
python scripts/save_to_loreconvo.py --read --limit 5
|
|
350
|
+
|
|
351
|
+
# Filter by surface
|
|
352
|
+
python scripts/save_to_loreconvo.py --read --surface code --limit 3
|
|
353
|
+
|
|
354
|
+
# Search sessions
|
|
355
|
+
python scripts/save_to_loreconvo.py --search "tax pipeline"
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
The script auto-discovers the database at `~/.loreconvo/sessions.db` (or pass `--db-path` explicitly). It generates proper UUIDs and writes the same schema as the MCP `save_session` tool.
|
|
359
|
+
|
|
360
|
+
## License
|
|
361
|
+
|
|
362
|
+
Business Source License 1.1 (BSL 1.1) - Labyrinth Analytics Consulting
|
|
363
|
+
|
|
364
|
+
Free for personal/non-commercial use (up to 50 sessions). Commercial use requires
|
|
365
|
+
a paid license. Converts to Apache 2.0 on 2030-03-31. See [LICENSE](LICENSE) for details.
|