claude-cortex 1.6.0 → 1.7.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 +10 -1
- package/dist/embeddings/generator.d.ts.map +1 -1
- package/dist/embeddings/generator.js +9 -4
- package/dist/embeddings/generator.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/setup/claude-md.d.ts +6 -0
- package/dist/setup/claude-md.d.ts.map +1 -0
- package/dist/setup/claude-md.js +44 -0
- package/dist/setup/claude-md.js.map +1 -0
- package/dist/tools/recall.d.ts +2 -2
- package/dist/tools/remember.d.ts +2 -2
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -92,7 +92,15 @@ Add to `~/.claude/settings.json` for automatic memory extraction before compacti
|
|
|
92
92
|
|
|
93
93
|
This ensures important context is auto-saved before any compaction event.
|
|
94
94
|
|
|
95
|
-
###
|
|
95
|
+
### 4. Enable Proactive Memory (Recommended)
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
npx claude-cortex setup
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
This adds instructions to `~/.claude/CLAUDE.md` so Claude proactively uses memory tools in all projects. Safe to run multiple times (idempotent).
|
|
102
|
+
|
|
103
|
+
### 5. Use It
|
|
96
104
|
|
|
97
105
|
The memory system integrates seamlessly with Claude Code. Here are the key tools:
|
|
98
106
|
|
|
@@ -282,6 +290,7 @@ The dashboard provides a 3D brain visualization of your memories with real-time
|
|
|
282
290
|
### Auto-Start on Login (Recommended)
|
|
283
291
|
|
|
284
292
|
```bash
|
|
293
|
+
npx claude-cortex setup # Configure Claude for proactive memory use
|
|
285
294
|
npx claude-cortex service install # Enable auto-start
|
|
286
295
|
npx claude-cortex service uninstall # Remove auto-start
|
|
287
296
|
npx claude-cortex service status # Check status
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/embeddings/generator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/embeddings/generator.ts"],"names":[],"mappings":"AAoCA;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAgB3E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAmBzE;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAElD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { pipeline, env } from '@
|
|
2
|
-
// Configure for
|
|
1
|
+
import { pipeline, env } from '@huggingface/transformers';
|
|
2
|
+
// Configure for operation
|
|
3
3
|
env.allowRemoteModels = true;
|
|
4
4
|
env.allowLocalModels = true;
|
|
5
5
|
let embeddingPipeline = null;
|
|
@@ -8,6 +8,8 @@ let loadPromise = null;
|
|
|
8
8
|
/**
|
|
9
9
|
* Lazy-load the embedding model
|
|
10
10
|
* Model: all-MiniLM-L6-v2 (22MB, 384 dimensions)
|
|
11
|
+
* Uses @huggingface/transformers (successor to @xenova/transformers)
|
|
12
|
+
* with better ARM64 Linux support
|
|
11
13
|
*/
|
|
12
14
|
async function getEmbeddingPipeline() {
|
|
13
15
|
if (embeddingPipeline)
|
|
@@ -16,7 +18,6 @@ async function getEmbeddingPipeline() {
|
|
|
16
18
|
return loadPromise;
|
|
17
19
|
}
|
|
18
20
|
isLoading = true;
|
|
19
|
-
// Cast the pipeline to our typed interface
|
|
20
21
|
loadPromise = pipeline('feature-extraction', 'Xenova/all-MiniLM-L6-v2');
|
|
21
22
|
try {
|
|
22
23
|
embeddingPipeline = await loadPromise;
|
|
@@ -40,7 +41,11 @@ export async function generateEmbedding(text) {
|
|
|
40
41
|
pooling: 'mean',
|
|
41
42
|
normalize: true,
|
|
42
43
|
});
|
|
43
|
-
|
|
44
|
+
// Handle both Tensor objects (new @huggingface/transformers) and plain objects
|
|
45
|
+
const data = typeof output.tolist === 'function'
|
|
46
|
+
? new Float32Array(output.tolist().flat(Infinity))
|
|
47
|
+
: new Float32Array(output.data);
|
|
48
|
+
return data;
|
|
44
49
|
}
|
|
45
50
|
/**
|
|
46
51
|
* Calculate cosine similarity between two embeddings
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/embeddings/generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/embeddings/generator.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* npx claude-cortex --mode both # Start both servers
|
|
13
13
|
* npx claude-cortex --dashboard # Start API + Dashboard (admin panel)
|
|
14
14
|
* npx claude-cortex --db /path/to.db # Custom database path
|
|
15
|
+
* npx claude-cortex setup # Configure Claude for proactive memory use
|
|
15
16
|
* npx claude-cortex service install # Auto-start dashboard on login
|
|
16
17
|
* npx claude-cortex service uninstall # Remove auto-start
|
|
17
18
|
* npx claude-cortex service status # Check service status
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;GAiBG"}
|
package/dist/index.js
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* npx claude-cortex --mode both # Start both servers
|
|
13
13
|
* npx claude-cortex --dashboard # Start API + Dashboard (admin panel)
|
|
14
14
|
* npx claude-cortex --db /path/to.db # Custom database path
|
|
15
|
+
* npx claude-cortex setup # Configure Claude for proactive memory use
|
|
15
16
|
* npx claude-cortex service install # Auto-start dashboard on login
|
|
16
17
|
* npx claude-cortex service uninstall # Remove auto-start
|
|
17
18
|
* npx claude-cortex service status # Check service status
|
|
@@ -23,6 +24,7 @@ import path from 'path';
|
|
|
23
24
|
import { createServer } from './server.js';
|
|
24
25
|
import { startVisualizationServer } from './api/visualization-server.js';
|
|
25
26
|
import { handleServiceCommand } from './service/install.js';
|
|
27
|
+
import { setupClaudeMd } from './setup/claude-md.js';
|
|
26
28
|
// Get the directory of this file for relative paths
|
|
27
29
|
const __filename = fileURLToPath(import.meta.url);
|
|
28
30
|
const __dirname = path.dirname(__filename);
|
|
@@ -120,6 +122,11 @@ function startDashboard() {
|
|
|
120
122
|
* Main entry point
|
|
121
123
|
*/
|
|
122
124
|
async function main() {
|
|
125
|
+
// Handle "setup" subcommand
|
|
126
|
+
if (process.argv[2] === 'setup') {
|
|
127
|
+
await setupClaudeMd();
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
123
130
|
// Handle "service" subcommand before normal mode parsing
|
|
124
131
|
if (process.argv[2] === 'service') {
|
|
125
132
|
await handleServiceCommand(process.argv[3] || '');
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-md.d.ts","sourceRoot":"","sources":["../../src/setup/claude-md.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAyBnD"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Injects proactive memory instructions into ~/.claude/CLAUDE.md
|
|
3
|
+
* Idempotent — skips if instructions already present.
|
|
4
|
+
*/
|
|
5
|
+
import fs from 'fs';
|
|
6
|
+
import path from 'path';
|
|
7
|
+
import os from 'os';
|
|
8
|
+
const MARKER = '# Claude Cortex — Memory System';
|
|
9
|
+
const INSTRUCTIONS = `
|
|
10
|
+
${MARKER}
|
|
11
|
+
|
|
12
|
+
You have access to a persistent memory system via MCP tools (\`remember\`, \`recall\`, \`get_context\`, \`forget\`).
|
|
13
|
+
|
|
14
|
+
**MUST use \`remember\` immediately when any of these occur:**
|
|
15
|
+
- A decision is made (architecture, library choice, approach)
|
|
16
|
+
- A bug is fixed (capture root cause + solution)
|
|
17
|
+
- Something new is learned about the codebase
|
|
18
|
+
- User states a preference
|
|
19
|
+
- A significant feature is completed
|
|
20
|
+
|
|
21
|
+
Do not wait until the end of the session. Call \`remember\` right after the event happens.
|
|
22
|
+
`;
|
|
23
|
+
export async function setupClaudeMd() {
|
|
24
|
+
const claudeDir = path.join(os.homedir(), '.claude');
|
|
25
|
+
const claudeMdPath = path.join(claudeDir, 'CLAUDE.md');
|
|
26
|
+
// Ensure ~/.claude/ exists
|
|
27
|
+
fs.mkdirSync(claudeDir, { recursive: true });
|
|
28
|
+
// Read existing content
|
|
29
|
+
let existing = '';
|
|
30
|
+
if (fs.existsSync(claudeMdPath)) {
|
|
31
|
+
existing = fs.readFileSync(claudeMdPath, 'utf-8');
|
|
32
|
+
}
|
|
33
|
+
// Check if already configured
|
|
34
|
+
if (existing.includes(MARKER)) {
|
|
35
|
+
console.log('✓ Claude Cortex instructions already present in ~/.claude/CLAUDE.md');
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
// Append instructions
|
|
39
|
+
const newContent = existing.trimEnd() + '\n' + INSTRUCTIONS;
|
|
40
|
+
fs.writeFileSync(claudeMdPath, newContent, 'utf-8');
|
|
41
|
+
console.log('✓ Added Claude Cortex memory instructions to ~/.claude/CLAUDE.md');
|
|
42
|
+
console.log(' Claude will now proactively use memory tools in all projects.');
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=claude-md.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-md.js","sourceRoot":"","sources":["../../src/setup/claude-md.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,MAAM,GAAG,iCAAiC,CAAC;AAEjD,MAAM,YAAY,GAAG;EACnB,MAAM;;;;;;;;;;;;CAYP,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAEvD,2BAA2B;IAC3B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7C,wBAAwB;IACxB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,8BAA8B;IAC9B,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;QACnF,OAAO;IACT,CAAC;IAED,sBAAsB;IACtB,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,YAAY,CAAC;IAC5D,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAEpD,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;AACjF,CAAC"}
|
package/dist/tools/recall.d.ts
CHANGED
|
@@ -21,16 +21,16 @@ export declare const recallSchema: z.ZodObject<{
|
|
|
21
21
|
includeGlobal: boolean;
|
|
22
22
|
mode: "search" | "important" | "recent";
|
|
23
23
|
project?: string | undefined;
|
|
24
|
-
type?: "short_term" | "long_term" | "episodic" | undefined;
|
|
25
24
|
category?: "architecture" | "pattern" | "preference" | "error" | "context" | "learning" | "todo" | "note" | "relationship" | "custom" | undefined;
|
|
26
25
|
tags?: string[] | undefined;
|
|
26
|
+
type?: "short_term" | "long_term" | "episodic" | undefined;
|
|
27
27
|
query?: string | undefined;
|
|
28
28
|
}, {
|
|
29
29
|
project?: string | undefined;
|
|
30
|
-
type?: "short_term" | "long_term" | "episodic" | undefined;
|
|
31
30
|
category?: "architecture" | "pattern" | "preference" | "error" | "context" | "learning" | "todo" | "note" | "relationship" | "custom" | undefined;
|
|
32
31
|
limit?: number | undefined;
|
|
33
32
|
tags?: string[] | undefined;
|
|
33
|
+
type?: "short_term" | "long_term" | "episodic" | undefined;
|
|
34
34
|
query?: string | undefined;
|
|
35
35
|
includeDecayed?: boolean | undefined;
|
|
36
36
|
includeGlobal?: boolean | undefined;
|
package/dist/tools/remember.d.ts
CHANGED
|
@@ -21,9 +21,9 @@ export declare const rememberSchema: z.ZodObject<{
|
|
|
21
21
|
scope?: "project" | "global" | undefined;
|
|
22
22
|
transferable?: boolean | undefined;
|
|
23
23
|
project?: string | undefined;
|
|
24
|
-
type?: "short_term" | "long_term" | "episodic" | undefined;
|
|
25
24
|
category?: "architecture" | "pattern" | "preference" | "error" | "context" | "learning" | "todo" | "note" | "relationship" | "custom" | undefined;
|
|
26
25
|
tags?: string[] | undefined;
|
|
26
|
+
type?: "short_term" | "long_term" | "episodic" | undefined;
|
|
27
27
|
importance?: "critical" | "low" | "normal" | "high" | undefined;
|
|
28
28
|
}, {
|
|
29
29
|
content: string;
|
|
@@ -31,9 +31,9 @@ export declare const rememberSchema: z.ZodObject<{
|
|
|
31
31
|
scope?: "project" | "global" | undefined;
|
|
32
32
|
transferable?: boolean | undefined;
|
|
33
33
|
project?: string | undefined;
|
|
34
|
-
type?: "short_term" | "long_term" | "episodic" | undefined;
|
|
35
34
|
category?: "architecture" | "pattern" | "preference" | "error" | "context" | "learning" | "todo" | "note" | "relationship" | "custom" | undefined;
|
|
36
35
|
tags?: string[] | undefined;
|
|
36
|
+
type?: "short_term" | "long_term" | "episodic" | undefined;
|
|
37
37
|
importance?: "critical" | "low" | "normal" | "high" | undefined;
|
|
38
38
|
}>;
|
|
39
39
|
export type RememberInput = z.infer<typeof rememberSchema>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-cortex",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "Brain-like memory system for Claude Code - solves context compaction and memory persistence",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
"node": ">=18.0.0"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
+
"@huggingface/transformers": "^3.7.2",
|
|
43
44
|
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
44
|
-
"@xenova/transformers": "^2.17.2",
|
|
45
45
|
"better-sqlite3": "^11.0.0",
|
|
46
46
|
"cors": "^2.8.5",
|
|
47
47
|
"express": "^4.21.0",
|