@morningljn/mnemo 0.1.2
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/LICENSE +21 -0
- package/README.md +156 -0
- package/README_zh.md +156 -0
- package/banner.png +0 -0
- package/dist/init.d.ts +10 -0
- package/dist/init.js +138 -0
- package/dist/init.js.map +1 -0
- package/dist/retriever.d.ts +70 -0
- package/dist/retriever.js +689 -0
- package/dist/retriever.js.map +1 -0
- package/dist/schema.d.ts +1 -0
- package/dist/schema.js +62 -0
- package/dist/schema.js.map +1 -0
- package/dist/security.d.ts +15 -0
- package/dist/security.js +116 -0
- package/dist/security.js.map +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.js +150 -0
- package/dist/server.js.map +1 -0
- package/dist/store.d.ts +122 -0
- package/dist/store.js +696 -0
- package/dist/store.js.map +1 -0
- package/dist/types.d.ts +72 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +46 -0
- package/src/init.ts +157 -0
- package/src/retriever.ts +806 -0
- package/src/schema.ts +61 -0
- package/src/security.ts +132 -0
- package/src/server.ts +172 -0
- package/src/store.ts +805 -0
- package/src/types.ts +81 -0
- package/tests/retriever.test.ts +55 -0
- package/tests/security.test.ts +30 -0
- package/tests/store.test.ts +104 -0
- package/tsconfig.json +16 -0
- package/vitest.config.ts +10 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/** 事实分类 */
|
|
2
|
+
export type FactCategory = 'identity' | 'coding_style' | 'tool_pref' | 'workflow' | 'general';
|
|
3
|
+
/** 存储的事实记录 */
|
|
4
|
+
export interface Fact {
|
|
5
|
+
factId: number;
|
|
6
|
+
content: string;
|
|
7
|
+
category: FactCategory;
|
|
8
|
+
tags: string;
|
|
9
|
+
keywords: string;
|
|
10
|
+
trustScore: number;
|
|
11
|
+
retrievalCount: number;
|
|
12
|
+
helpfulCount: number;
|
|
13
|
+
createdAt: string;
|
|
14
|
+
updatedAt: string;
|
|
15
|
+
}
|
|
16
|
+
/** 带评分的检索结果 */
|
|
17
|
+
export interface ScoredFact extends Fact {
|
|
18
|
+
score: number;
|
|
19
|
+
}
|
|
20
|
+
/** 矛盾检测结果 */
|
|
21
|
+
export interface Contradiction {
|
|
22
|
+
factA: Omit<Fact, never>;
|
|
23
|
+
factB: Omit<Fact, never>;
|
|
24
|
+
entityOverlap: number;
|
|
25
|
+
contentSimilarity: number;
|
|
26
|
+
contradictionScore: number;
|
|
27
|
+
sharedEntities: string[];
|
|
28
|
+
}
|
|
29
|
+
/** 检索选项 */
|
|
30
|
+
export interface SearchOptions {
|
|
31
|
+
category?: FactCategory;
|
|
32
|
+
minTrust?: number;
|
|
33
|
+
limit?: number;
|
|
34
|
+
}
|
|
35
|
+
/** 矛盾检测选项 */
|
|
36
|
+
export interface ContradictOptions {
|
|
37
|
+
category?: FactCategory;
|
|
38
|
+
threshold?: number;
|
|
39
|
+
limit?: number;
|
|
40
|
+
}
|
|
41
|
+
/** 检索器配置 */
|
|
42
|
+
export interface RetrieverOptions {
|
|
43
|
+
ftsWeight?: number;
|
|
44
|
+
jaccardWeight?: number;
|
|
45
|
+
temporalDecayHalfLife?: number;
|
|
46
|
+
}
|
|
47
|
+
/** fact_store 工具调用参数 */
|
|
48
|
+
export interface FactStoreArgs {
|
|
49
|
+
action: 'add' | 'search' | 'probe' | 'related' | 'reason' | 'contradict' | 'update' | 'remove' | 'list';
|
|
50
|
+
content?: string;
|
|
51
|
+
query?: string;
|
|
52
|
+
entity?: string;
|
|
53
|
+
entities?: string[];
|
|
54
|
+
fact_id?: number;
|
|
55
|
+
category?: string;
|
|
56
|
+
tags?: string;
|
|
57
|
+
trust_delta?: number;
|
|
58
|
+
min_trust?: number;
|
|
59
|
+
limit?: number;
|
|
60
|
+
}
|
|
61
|
+
/** fact_feedback 工具调用参数 */
|
|
62
|
+
export interface FactFeedbackArgs {
|
|
63
|
+
action: 'helpful' | 'unhelpful';
|
|
64
|
+
fact_id: number;
|
|
65
|
+
}
|
|
66
|
+
/** 安全扫描结果 */
|
|
67
|
+
export interface SecurityScanResult {
|
|
68
|
+
safe: boolean;
|
|
69
|
+
warnings: string[];
|
|
70
|
+
hasPii: boolean;
|
|
71
|
+
injectionAttempts: string[];
|
|
72
|
+
}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@morningljn/mnemo",
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"description": "Structured fact memory MCP server — SQLite + FTS5, trust scoring, entity graph, bilingual retrieval for Claude Code & Codex",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/server.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"mnemo": "dist/server.js",
|
|
9
|
+
"mnemo-init": "dist/init.js"
|
|
10
|
+
},
|
|
11
|
+
"publishConfig": {
|
|
12
|
+
"access": "public"
|
|
13
|
+
},
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "tsc",
|
|
16
|
+
"test": "vitest run",
|
|
17
|
+
"start": "node dist/server.js"
|
|
18
|
+
},
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@modelcontextprotocol/sdk": "^1.12.0",
|
|
21
|
+
"better-sqlite3": "^11.9.0"
|
|
22
|
+
},
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"@types/better-sqlite3": "^7.6.13",
|
|
25
|
+
"@types/node": "^22.0.0",
|
|
26
|
+
"typescript": "^5.8.0",
|
|
27
|
+
"vitest": "^3.0.0"
|
|
28
|
+
},
|
|
29
|
+
"keywords": [
|
|
30
|
+
"mcp",
|
|
31
|
+
"mcp-server",
|
|
32
|
+
"memory",
|
|
33
|
+
"fact-store",
|
|
34
|
+
"sqlite",
|
|
35
|
+
"fts5",
|
|
36
|
+
"ai",
|
|
37
|
+
"claude",
|
|
38
|
+
"claude-code",
|
|
39
|
+
"codex",
|
|
40
|
+
"trust-scoring",
|
|
41
|
+
"entity-graph",
|
|
42
|
+
"bilingual",
|
|
43
|
+
"persistent-memory",
|
|
44
|
+
"typescript"
|
|
45
|
+
]
|
|
46
|
+
}
|
package/src/init.ts
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* mnemo init — 一键配置 mnemo 记忆系统
|
|
5
|
+
*
|
|
6
|
+
* 执行:
|
|
7
|
+
* 1. claude mcp add mnemo — 注册 MCP 服务器
|
|
8
|
+
* 2. ~/.claude/CLAUDE.md — 写入记忆使用规则
|
|
9
|
+
* 3. ~/.claude/settings.json — 添加 MCP 工具权限
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import { execSync } from 'node:child_process'
|
|
13
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs'
|
|
14
|
+
import { join } from 'node:path'
|
|
15
|
+
import { homedir } from 'node:os'
|
|
16
|
+
|
|
17
|
+
const CLAUDE_DIR = join(homedir(), '.claude')
|
|
18
|
+
const CLAUDE_MD_PATH = join(CLAUDE_DIR, 'CLAUDE.md')
|
|
19
|
+
const SETTINGS_PATH = join(CLAUDE_DIR, 'settings.json')
|
|
20
|
+
|
|
21
|
+
const MEMORY_RULES = `
|
|
22
|
+
# 记忆系统使用规则
|
|
23
|
+
|
|
24
|
+
你有 mnemo 记忆工具(fact_store / fact_feedback),必须按以下规则使用:
|
|
25
|
+
|
|
26
|
+
## 规则 1:搜索记忆(每次回复前)
|
|
27
|
+
收到用户消息后,你必须先调用 \`fact_store(action="search", query="<用户消息的关键词>")\` 检索相关记忆。
|
|
28
|
+
query 必须从用户消息中提取关键词,不要用固定模板。例如:
|
|
29
|
+
- 用户说"我叫什么" → query="姓名 名字 叫什么"
|
|
30
|
+
- 用户说"我喜欢什么语言" → query="编程语言 偏好 喜欢"
|
|
31
|
+
搜索后根据结果自然回复,不要说"根据记忆"。
|
|
32
|
+
|
|
33
|
+
## 规则 2:写入记忆
|
|
34
|
+
用户说"记住"、"记下来"时,调用 \`fact_store(action="add", content="...", category="...")\`。
|
|
35
|
+
- 先 search 检查是否已有相似事实,有则 update
|
|
36
|
+
- category:identity / coding_style / tool_pref / workflow / general
|
|
37
|
+
|
|
38
|
+
## 规则 3:反馈强化
|
|
39
|
+
成功使用某条记忆时,调用 \`fact_feedback(action="helpful", fact_id=...)\`。
|
|
40
|
+
`
|
|
41
|
+
|
|
42
|
+
const MCP_TOOLS = [
|
|
43
|
+
'mcp__mnemo__fact_store',
|
|
44
|
+
'mcp__mnemo__fact_feedback',
|
|
45
|
+
]
|
|
46
|
+
|
|
47
|
+
function log(msg: string) {
|
|
48
|
+
console.log(`\x1b[36m[mnemo]\x1b[0m ${msg}`)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function ok(msg: string) {
|
|
52
|
+
console.log(`\x1b[32m✓\x1b[0m ${msg}`)
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function warn(msg: string) {
|
|
56
|
+
console.log(`\x1b[33m!\x1b[0m ${msg}`)
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function fail(msg: string) {
|
|
60
|
+
console.log(`\x1b[31m✗\x1b[0m ${msg}`)
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// -- Step 1: Register MCP server --
|
|
64
|
+
function registerMcp(scope: string = 'user') {
|
|
65
|
+
log('注册 MCP 服务器...')
|
|
66
|
+
try {
|
|
67
|
+
execSync(`claude mcp add --scope ${scope} mnemo -- mnemo`, {
|
|
68
|
+
stdio: 'pipe',
|
|
69
|
+
timeout: 15000,
|
|
70
|
+
})
|
|
71
|
+
ok('MCP 服务器已注册 (claude mcp list 查看)')
|
|
72
|
+
} catch (err: any) {
|
|
73
|
+
const stderr = err.stderr?.toString() || ''
|
|
74
|
+
if (stderr.includes('already exists') || stderr.includes('already registered')) {
|
|
75
|
+
warn('MCP 服务器已存在,跳过注册')
|
|
76
|
+
} else {
|
|
77
|
+
fail(`注册失败: ${stderr.slice(0, 200)}`)
|
|
78
|
+
fail('请手动运行: claude mcp add mnemo -- mnemo')
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// -- Step 2: Write CLAUDE.md --
|
|
84
|
+
function writeClaudeMd() {
|
|
85
|
+
log('配置记忆使用规则...')
|
|
86
|
+
mkdirSync(CLAUDE_DIR, { recursive: true })
|
|
87
|
+
|
|
88
|
+
let existing = ''
|
|
89
|
+
if (existsSync(CLAUDE_MD_PATH)) {
|
|
90
|
+
existing = readFileSync(CLAUDE_MD_PATH, 'utf-8')
|
|
91
|
+
if (existing.includes('mnemo 记忆工具')) {
|
|
92
|
+
warn('CLAUDE.md 已包含 mnemo 规则,跳过')
|
|
93
|
+
return
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
const merged = existing
|
|
98
|
+
? existing.trimEnd() + '\n' + MEMORY_RULES
|
|
99
|
+
: MEMORY_RULES.trimStart()
|
|
100
|
+
|
|
101
|
+
writeFileSync(CLAUDE_MD_PATH, merged)
|
|
102
|
+
ok(`记忆规则已写入 ${CLAUDE_MD_PATH}`)
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// -- Step 3: Update settings.json permissions --
|
|
106
|
+
function updatePermissions() {
|
|
107
|
+
log('配置工具权限...')
|
|
108
|
+
mkdirSync(CLAUDE_DIR, { recursive: true })
|
|
109
|
+
|
|
110
|
+
let settings: any = {}
|
|
111
|
+
if (existsSync(SETTINGS_PATH)) {
|
|
112
|
+
try {
|
|
113
|
+
settings = JSON.parse(readFileSync(SETTINGS_PATH, 'utf-8'))
|
|
114
|
+
} catch {
|
|
115
|
+
warn('settings.json 解析失败,将覆盖')
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
if (!settings.permissions) settings.permissions = {}
|
|
120
|
+
if (!settings.permissions.allow) settings.permissions.allow = []
|
|
121
|
+
|
|
122
|
+
let added = 0
|
|
123
|
+
for (const tool of MCP_TOOLS) {
|
|
124
|
+
if (!settings.permissions.allow.includes(tool)) {
|
|
125
|
+
settings.permissions.allow.push(tool)
|
|
126
|
+
added++
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
if (added === 0) {
|
|
131
|
+
warn('权限已配置,跳过')
|
|
132
|
+
return
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
writeFileSync(SETTINGS_PATH, JSON.stringify(settings, null, 2) + '\n')
|
|
136
|
+
ok(`已添加 ${added} 个工具权限到 ${SETTINGS_PATH}`)
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// -- Main --
|
|
140
|
+
function main() {
|
|
141
|
+
const args = process.argv.slice(2)
|
|
142
|
+
const scope = args.includes('--project') ? 'project' : 'user'
|
|
143
|
+
|
|
144
|
+
console.log('')
|
|
145
|
+
console.log('\x1b[1m mnemo init — 一键配置记忆系统\x1b[0m')
|
|
146
|
+
console.log('')
|
|
147
|
+
|
|
148
|
+
registerMcp(scope)
|
|
149
|
+
writeClaudeMd()
|
|
150
|
+
updatePermissions()
|
|
151
|
+
|
|
152
|
+
console.log('')
|
|
153
|
+
ok('配置完成!重启 Claude Code 即可使用记忆系统。')
|
|
154
|
+
console.log('')
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
main()
|