chaimi-keep-mcp 3.5.0-beta.2 → 3.5.0-beta.21
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 +22 -326
- package/SKILL.md +35 -7
- package/bin/restart-daemon.js +180 -0
- package/oauth.js +1 -562
- package/package.json +10 -6
- package/references/authentication.md +15 -11
- package/references/response-templates.md +14 -8
- package/references/troubleshooting.md +72 -3
- package/server.js +1 -2597
- package/.env.example +0 -24
- package/CHANGELOG.md +0 -95
- package/config.example.yaml +0 -15
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "chaimi-keep-mcp",
|
|
3
|
-
"version": "3.5.0-beta.
|
|
3
|
+
"version": "3.5.0-beta.21",
|
|
4
4
|
"description": "柴米AI记账 MCP Server - 支持 Claude、Cursor、OpenClaw、WorkBuddy 等 AI 工具直接记账",
|
|
5
5
|
"main": "server.js",
|
|
6
6
|
"bin": {
|
|
@@ -23,13 +23,18 @@
|
|
|
23
23
|
"scripts": {
|
|
24
24
|
"start": "node server.js",
|
|
25
25
|
"dev": "node server.js",
|
|
26
|
-
"postinstall": "node bin/sync-skill.js",
|
|
26
|
+
"postinstall": "node bin/sync-skill.js && node bin/restart-daemon.js",
|
|
27
27
|
"test": "jest",
|
|
28
|
-
"test:static": "
|
|
29
|
-
"
|
|
28
|
+
"test:static": "echo 'No tests'",
|
|
29
|
+
"obfuscate": "node scripts/obfuscate.js",
|
|
30
|
+
"build": "node scripts/build.js",
|
|
31
|
+
"build:dist": "node scripts/build.js",
|
|
32
|
+
"copy-files": "shx cp package.json dist/ && shx cp README.md dist/ && shx mkdir -p dist/bin && shx mkdir -p dist/references && shx mkdir -p dist/skills && shx cp -r bin/* dist/bin/ && shx cp -r references/* dist/references/ && shx cp -r skills/* dist/skills/"
|
|
30
33
|
},
|
|
31
34
|
"devDependencies": {
|
|
32
|
-
"
|
|
35
|
+
"javascript-obfuscator": "^5.4.2",
|
|
36
|
+
"jest": "^29.0.0",
|
|
37
|
+
"shx": "^0.4.0"
|
|
33
38
|
},
|
|
34
39
|
"keywords": [
|
|
35
40
|
"mcp",
|
|
@@ -45,7 +50,6 @@
|
|
|
45
50
|
"license": "MIT",
|
|
46
51
|
"dependencies": {
|
|
47
52
|
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
48
|
-
"chaimi-keep-mcp": "^3.3.2-beta.1",
|
|
49
53
|
"dotenv": "^17.3.1",
|
|
50
54
|
"node-fetch": "^2.7.0"
|
|
51
55
|
},
|
|
@@ -25,22 +25,26 @@ updated: "2026-04-30"
|
|
|
25
25
|
```
|
|
26
26
|
用户(小程序端) Agent(MCP端)
|
|
27
27
|
│ │
|
|
28
|
-
│ 1.
|
|
28
|
+
│ 1. 请求记账 │
|
|
29
29
|
│────────────────────────>│
|
|
30
30
|
│ │
|
|
31
|
-
│ 2.
|
|
31
|
+
│ 2. 检测未授权 │
|
|
32
|
+
│ │
|
|
33
|
+
│ 3. Agent 端(终端)生成验证码 │
|
|
32
34
|
│<────────────────────────│
|
|
33
35
|
│ │
|
|
34
|
-
│
|
|
36
|
+
│ 4. 用户在小程序输入验证码 │
|
|
35
37
|
│────────────────────────>│
|
|
36
38
|
│ │
|
|
37
|
-
│
|
|
39
|
+
│ 5. 小程序验证并发放Token │
|
|
38
40
|
│<────────────────────────│
|
|
39
41
|
│ │
|
|
40
|
-
│
|
|
42
|
+
│ 6. Token记账 │
|
|
41
43
|
│────────────────────────>│
|
|
42
44
|
```
|
|
43
45
|
|
|
46
|
+
> ⚠️ **重要提示:验证码只能在 Agent/MCP 端(终端)生成!小程序里无法生成验证码,只能输入验证码!**
|
|
47
|
+
|
|
44
48
|
### 1.2 Token有效期
|
|
45
49
|
|
|
46
50
|
| Token类型 | 有效期 | 说明 |
|
|
@@ -65,7 +69,7 @@ updated: "2026-04-30"
|
|
|
65
69
|
chaimi-keep-mcp
|
|
66
70
|
```
|
|
67
71
|
|
|
68
|
-
2.
|
|
72
|
+
2. **查看验证码(注意:验证码只在 Agent/终端 显示)**
|
|
69
73
|
终端会显示:
|
|
70
74
|
```
|
|
71
75
|
🔐 柴米AI记账授权
|
|
@@ -74,10 +78,10 @@ updated: "2026-04-30"
|
|
|
74
78
|
⏰ 有效期:5分钟
|
|
75
79
|
```
|
|
76
80
|
|
|
77
|
-
3.
|
|
81
|
+
3. **小程序确认(注意:小程序只负责输入验证码,不会生成验证码)**
|
|
78
82
|
- 打开"柴米AI记账"小程序
|
|
79
|
-
- 点击"我的" → "
|
|
80
|
-
-
|
|
83
|
+
- 点击"我的" → "Agent 授权"
|
|
84
|
+
- 输入刚才在 Agent/终端 看到的验证码
|
|
81
85
|
- 点击确认
|
|
82
86
|
|
|
83
87
|
4. **完成授权**
|
|
@@ -99,7 +103,7 @@ mcporter auth 柴米AI记账 --reset
|
|
|
99
103
|
**然后:**
|
|
100
104
|
1. 查看终端显示的验证码
|
|
101
105
|
2. 打开"柴米AI记账"小程序
|
|
102
|
-
3. 进入"我的" → "
|
|
106
|
+
3. 进入"我的" → "Agent 授权"
|
|
103
107
|
4. 输入验证码完成授权
|
|
104
108
|
|
|
105
109
|
### 2.3 原生 MCP 客户端授权失败(Claude/Cursor)
|
|
@@ -127,7 +131,7 @@ mcporter auth 柴米AI记账 --reset
|
|
|
127
131
|
mcporter auth 柴米AI记账
|
|
128
132
|
```
|
|
129
133
|
2. 查看终端显示的验证码
|
|
130
|
-
3. 在小程序"我的"→"
|
|
134
|
+
3. 在小程序"我的"→"Agent 授权"中输入验证码
|
|
131
135
|
4. 返回 Claude/Cursor 重新尝试记账
|
|
132
136
|
|
|
133
137
|
**解决方案(方式2 - 删除 Token 文件):**
|
|
@@ -123,15 +123,15 @@ updated: "2026-04-25"
|
|
|
123
123
|
```markdown
|
|
124
124
|
✅ 「{agentName}」已帮您记账成功
|
|
125
125
|
═══════════════
|
|
126
|
-
|
|
126
|
+
🔴 AI生成信息,请确认是否正确
|
|
127
127
|
|
|
128
128
|
💰 金额:¥{金额}
|
|
129
129
|
📊 类型:{类型}
|
|
130
|
+
🏷️ 分类:{分类}
|
|
130
131
|
🕐 时间:{日期时间}
|
|
131
132
|
═══════════════
|
|
132
133
|
|
|
133
134
|
📦 商品:{商品名}
|
|
134
|
-
🏷️ 分类:{分类}
|
|
135
135
|
🏪 商家:{商家}
|
|
136
136
|
💡 消费洞察:{洞察内容}
|
|
137
137
|
⏰ 时间说明:{timeNote}
|
|
@@ -148,15 +148,15 @@ updated: "2026-04-25"
|
|
|
148
148
|
```markdown
|
|
149
149
|
✅ 「你的小可爱」已帮您记账成功
|
|
150
150
|
═══════════════
|
|
151
|
-
|
|
151
|
+
🔴 AI生成信息,请确认是否正确
|
|
152
152
|
|
|
153
153
|
💰 金额:¥35.00
|
|
154
154
|
📊 类型:支出
|
|
155
|
+
🏷️ 分类:餐饮
|
|
155
156
|
🕐 时间:2026-04-24 12:30
|
|
156
157
|
═══════════════
|
|
157
158
|
|
|
158
159
|
📦 商品:午餐
|
|
159
|
-
🏷️ 分类:餐饮
|
|
160
160
|
🏪 商家:麦当劳
|
|
161
161
|
💡 消费洞察:本月餐饮支出占比30%,建议控制
|
|
162
162
|
|
|
@@ -236,12 +236,15 @@ updated: "2026-04-25"
|
|
|
236
236
|
```markdown
|
|
237
237
|
✅ 「{agentName}」已帮您记录收入
|
|
238
238
|
═══════════════
|
|
239
|
+
🔴 AI生成信息,请确认是否正确
|
|
240
|
+
|
|
239
241
|
💰 金额:¥{金额}
|
|
240
|
-
═══════════════
|
|
241
|
-
|
|
242
242
|
📊 类型:{类型}
|
|
243
243
|
🏷️ 分类:{分类}
|
|
244
244
|
🕐 时间:{日期时间}
|
|
245
|
+
═══════════════
|
|
246
|
+
|
|
247
|
+
🏪 付款方:{商家}
|
|
245
248
|
|
|
246
249
|
💡 消费洞察:{洞察内容}(可选)
|
|
247
250
|
|
|
@@ -257,12 +260,15 @@ updated: "2026-04-25"
|
|
|
257
260
|
```markdown
|
|
258
261
|
✅ 「你的小可爱」已帮您记录收入
|
|
259
262
|
═══════════════
|
|
260
|
-
|
|
261
|
-
═══════════════
|
|
263
|
+
🔴 AI生成信息,请确认是否正确
|
|
262
264
|
|
|
265
|
+
💰 金额:¥5000.00
|
|
263
266
|
📊 类型:收入
|
|
264
267
|
🏷️ 分类:工资
|
|
265
268
|
🕐 时间:2026-04-24 09:00
|
|
269
|
+
═══════════════
|
|
270
|
+
|
|
271
|
+
🏪 付款方:公司
|
|
266
272
|
|
|
267
273
|
💡 消费洞察:本月收入储蓄率50%,继续保持!
|
|
268
274
|
|
|
@@ -24,6 +24,17 @@ updated: "2026-04-25"
|
|
|
24
24
|
|
|
25
25
|
## 一、授权问题
|
|
26
26
|
|
|
27
|
+
### ⚠️ 授权流程关键说明(必读!)
|
|
28
|
+
|
|
29
|
+
**重要提示:验证码只能在 Agent/MCP 端(终端)生成!小程序里无法生成验证码,只能输入验证码!**
|
|
30
|
+
|
|
31
|
+
| 位置 | 作用 |
|
|
32
|
+
|:-----|:------|
|
|
33
|
+
| Agent/MCP 端(终端) | 生成验证码 |
|
|
34
|
+
| 小程序 | 只负责输入验证码 |
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
27
38
|
### 1.1 未找到有效授权
|
|
28
39
|
|
|
29
40
|
**现象:**
|
|
@@ -40,7 +51,7 @@ updated: "2026-04-25"
|
|
|
40
51
|
**解决方案:**
|
|
41
52
|
1. 执行 `mcporter auth 柴米AI记账`
|
|
42
53
|
2. 查看终端显示的验证码
|
|
43
|
-
3. 在小程序"我的"→"
|
|
54
|
+
3. 在小程序"我的"→"Agent 授权"中输入验证码
|
|
44
55
|
4. 重新尝试记账
|
|
45
56
|
|
|
46
57
|
### 1.2 授权过期
|
|
@@ -77,9 +88,36 @@ mcporter auth 柴米AI记账 --reset
|
|
|
77
88
|
|
|
78
89
|
**解决方案:**
|
|
79
90
|
1. 重新执行 `mcporter auth 柴米AI记账` 生成新验证码
|
|
80
|
-
2. 在5分钟内在小程序"我的"→"
|
|
91
|
+
2. 在5分钟内在小程序"我的"→"Agent 授权"中输入
|
|
81
92
|
3. 注意区分大小写
|
|
82
93
|
|
|
94
|
+
### 1.4 签名验证失败(版本升级问题)
|
|
95
|
+
|
|
96
|
+
**现象:**
|
|
97
|
+
```
|
|
98
|
+
错误:签名验证失败
|
|
99
|
+
或
|
|
100
|
+
Unsupported state or unable to authenticate data
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**原因:**
|
|
104
|
+
- 2026年5月1日安全加固升级,旧 Token 使用的密钥已变更
|
|
105
|
+
- MCP Server 版本从 ≤3.4.0 升级到 ≥3.5.0 时需要重新授权
|
|
106
|
+
|
|
107
|
+
**解决方案:**
|
|
108
|
+
1. **手动清理旧配置(推荐):**
|
|
109
|
+
```bash
|
|
110
|
+
# 清理旧的 token 配置
|
|
111
|
+
rm -rf ~/.chaimi-keep
|
|
112
|
+
# 重新运行 MCP Server
|
|
113
|
+
chaimi-keep-mcp
|
|
114
|
+
```
|
|
115
|
+
2. 查看终端显示的新验证码
|
|
116
|
+
3. 在小程序"我的"→"Agent 授权"中输入新验证码
|
|
117
|
+
4. 重新尝试记账
|
|
118
|
+
|
|
119
|
+
**重要提示:** 此问题仅在安全加固版本升级时出现一次,后续不会再遇到。
|
|
120
|
+
|
|
83
121
|
> **注意:** 使用 Claude/Cursor 等原生 MCP 客户端的用户,如遇授权问题,请参考 [authentication.md - 2.3 原生 MCP 客户端授权失败](authentication.md#23-原生-mcp-客户端授权失败claudecursor)
|
|
84
122
|
|
|
85
123
|
---
|
|
@@ -250,7 +288,38 @@ cat /mcp-server-local/references/response-templates.md
|
|
|
250
288
|
2. 描述问题现象和复现步骤
|
|
251
289
|
3. 提供错误码和时间
|
|
252
290
|
|
|
253
|
-
### 5.3
|
|
291
|
+
### 5.3 升级后 MCP Server 未生效
|
|
292
|
+
|
|
293
|
+
**现象:**
|
|
294
|
+
```
|
|
295
|
+
更新了柴米AI记账 MCP Server,但功能没有变化
|
|
296
|
+
或
|
|
297
|
+
提示版本已升级,但行为与旧版本一致
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
**原因:**
|
|
301
|
+
- mcporter daemon 缓存了旧版本
|
|
302
|
+
- 需要重启 daemon 才能加载新版本
|
|
303
|
+
|
|
304
|
+
**解决方案:**
|
|
305
|
+
```bash
|
|
306
|
+
# 方法1:重启 mcporter daemon
|
|
307
|
+
mcporter restart
|
|
308
|
+
|
|
309
|
+
# 如果 restart 无效,尝试先 stop 再 start
|
|
310
|
+
mcporter stop
|
|
311
|
+
mcporter start
|
|
312
|
+
|
|
313
|
+
# 方法2:强制杀掉所有 chaimi-keep 进程(适用于 mcporter 命令不可用的情况)
|
|
314
|
+
pkill -f chaimi-keep
|
|
315
|
+
|
|
316
|
+
# 然后重新启动
|
|
317
|
+
mcporter start
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
**重要提示:** 每次升级 MCP Server 后,请务必执行 `mcporter restart` 或 `pkill -f chaimi-keep` 后重启,否则 Agent 会继续使用旧版本。
|
|
321
|
+
|
|
322
|
+
### 5.4 紧急处理流程
|
|
254
323
|
|
|
255
324
|
**场景:** 记账数据异常,需要紧急处理
|
|
256
325
|
|