chaimi-keep-mcp 3.5.0-beta.3 → 3.5.0-beta.32
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 +56 -69
- package/bin/restart-daemon.js +180 -0
- package/oauth.js +1 -562
- package/package.json +10 -7
- package/references/authentication.md +15 -11
- package/references/response-templates.md +234 -261
- package/references/troubleshooting.md +48 -6
- package/server.js +1 -2597
- package/.env.example +0 -24
- package/CHANGELOG.md +0 -95
- package/config.example.yaml +0 -15
package/README.md
CHANGED
|
@@ -8,17 +8,8 @@
|
|
|
8
8
|
- macOS / Windows / Linux
|
|
9
9
|
- 微信(已安装"柴米AI记账"小程序)
|
|
10
10
|
|
|
11
|
-
## ⚠️ 重要提示(Agent开发者必读)
|
|
12
|
-
|
|
13
|
-
**如果您是 AI Agent 开发者,请注意:**
|
|
14
|
-
|
|
15
|
-
1. **不要缓存工具定义**:MCP 工具定义可能会更新,请在每次调用前通过 `mcporter list` 获取最新定义
|
|
16
|
-
2. **save_receipt 工具要求**:items 数组中每个商品必须包含完整的4个字段:`name`、`amount`、`price`、`quantity`
|
|
17
|
-
|
|
18
11
|
## 快速安装
|
|
19
12
|
|
|
20
|
-
### 方式一:npm 全局安装(推荐)
|
|
21
|
-
|
|
22
13
|
```bash
|
|
23
14
|
# 1. 安装 MCPorter(WorkBuddy/OpenClaw 等 OpenClaw 架构的 Agent 必需)
|
|
24
15
|
npm install -g mcporter
|
|
@@ -30,13 +21,6 @@ npm install -g chaimi-keep-mcp
|
|
|
30
21
|
chaimi-keep-mcp
|
|
31
22
|
```
|
|
32
23
|
|
|
33
|
-
### 方式二:手动下载安装(开发者)
|
|
34
|
-
|
|
35
|
-
1. 从 GitHub Releases 下载安装包
|
|
36
|
-
2. 解压后进入目录
|
|
37
|
-
3. 安装依赖:`npm install`
|
|
38
|
-
4. 运行:`node bin/cli.js`(会自动配置 mcporter)
|
|
39
|
-
|
|
40
24
|
## 首次使用
|
|
41
25
|
|
|
42
26
|
### 1. 触发授权
|
|
@@ -49,345 +33,57 @@ chaimi-keep-mcp
|
|
|
49
33
|
|
|
50
34
|
### 2. 获取验证码
|
|
51
35
|
|
|
52
|
-
MCP Server
|
|
53
|
-
|
|
54
|
-
```
|
|
55
|
-
╔════════════════════════════════════════════════════════╗
|
|
56
|
-
║ 柴米AI记账 MCP Server - 首次使用需要授权 ║
|
|
57
|
-
╠════════════════════════════════════════════════════════╣
|
|
58
|
-
║ ║
|
|
59
|
-
║ 验证码:ABCD-EFGH ║
|
|
60
|
-
║ ║
|
|
61
|
-
║ 请在"柴米AI记账"小程序中完成授权: ║
|
|
62
|
-
║ ║
|
|
63
|
-
║ 1. 打开"柴米AI记账"小程序 ║
|
|
64
|
-
║ 2. 点击"我的" → "Agent 授权" ║
|
|
65
|
-
║ 3. 输入验证码:ABCD-EFGH ║
|
|
66
|
-
║ ║
|
|
67
|
-
╚════════════════════════════════════════════════════════╝
|
|
68
|
-
```
|
|
36
|
+
MCP Server 会显示验证码,请在"柴米AI记账"小程序中完成授权。
|
|
69
37
|
|
|
70
38
|
### 3. 小程序授权
|
|
71
39
|
|
|
72
|
-
打开"柴米AI记账"小程序 → 点击"我的" → "Agent 授权" →
|
|
40
|
+
打开"柴米AI记账"小程序 → 点击"我的" → "Agent 授权" → 输入验证码
|
|
73
41
|
|
|
74
42
|
### 4. 完成
|
|
75
43
|
|
|
76
44
|
授权成功后,AI 会自动完成记账。
|
|
77
45
|
|
|
78
|
-
##
|
|
79
|
-
|
|
80
|
-
如需自定义云函数地址,可设置以下环境变量:
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
export MCP_OAUTH_URL="你的授权服务地址"
|
|
84
|
-
export MCP_HUB_URL="你的Hub服务地址"
|
|
85
|
-
export MCP_PROMPT_URL="你的Prompt服务地址"
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
> 默认使用柴米AI记账官方云服务,一般无需修改。
|
|
89
|
-
|
|
90
|
-
## Changelog
|
|
91
|
-
|
|
92
|
-
### v3.4.0 (2026-05-01) 🎉 正式版
|
|
93
|
-
- **变更** 多端记账分类统一 - 支持商品分类和记账分类分离
|
|
94
|
-
- **修复** mcp-server-local case 重复问题
|
|
95
|
-
- **优化** 回复模板 - 新增"请确认信息"提示
|
|
96
|
-
- **优化** 品牌统一 - 所有"柴米记账"改为"柴米AI记账"
|
|
97
|
-
|
|
98
|
-
### v3.3.3-beta.16 (2026-04-30)
|
|
99
|
-
- **修复** npm 发布版本号冲突 - 重新发布,解决版本号已被占用问题
|
|
100
|
-
|
|
101
|
-
### v3.3.3-beta.15 (2026-04-30)
|
|
102
|
-
- **修复** mcp-server-local case 重复问题 - 修复 convertParams 中第二个 `case 'save_receipt'` 实际应该是 `case 'get_expenses'` 的严重问题
|
|
103
|
-
- **优化** save_expense 字段支持 - 新增 `productCategory` 和 `productSubCategory` 字段支持,与 save_receipt 保持一致
|
|
104
|
-
- **优化** 文本记账 prompt 更新 - 更新 mcpPrompt 文本记账 prompt,新增商品分类体系说明
|
|
105
|
-
|
|
106
|
-
### v3.3.3-beta.13 (2026-04-30)
|
|
107
|
-
- **变更** 多端记账分类统一 - 支持商品分类和记账分类分离
|
|
108
|
-
- 保持 `category`(记账分类,43个标准分类)
|
|
109
|
-
- 新增 `productCategory`(商品一级分类,展示用)
|
|
110
|
-
- 新增 `productSubCategory`(商品子分类,展示用)
|
|
111
|
-
|
|
112
|
-
### v3.3.3-beta.8 (2026-04-30)
|
|
113
|
-
- **变更** 配置存储路径迁移 - 从 `~/.mcporter/` 迁移到 `~/.chaimi-keep/`,避免与其他 MCP 工具冲突
|
|
114
|
-
- **优化** 安全权限 - 新增目录权限控制(0700),敏感文件权限控制(0600)
|
|
46
|
+
## 支持的功能
|
|
115
47
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
- **优化** 品牌统一 - 所有"柴米记账"改为"柴米AI记账"
|
|
124
|
-
- **优化** 工具描述 - 重写三个记账工具描述,包含完整调用示例和格式要求
|
|
125
|
-
|
|
126
|
-
### v3.3.3-beta.4 (2026-04-29)
|
|
127
|
-
- **优化** 收入记账时间解析统一 - save_income 同样使用 time_description,修复 AI 计算时间戳错误
|
|
128
|
-
|
|
129
|
-
### v3.3.3-beta.3 (2026-04-29)
|
|
130
|
-
- **优化** 文本记账时间解析 - 使用 time_description 替代直接计算时间戳,解决 AI 计算时间错误的问题
|
|
131
|
-
|
|
132
|
-
### v3.3.3-beta.2 (2026-04-29)
|
|
133
|
-
- **修复** 时间入库错误 - 解决消费时间被错误替换为当前时间的问题
|
|
134
|
-
|
|
135
|
-
### v3.3.1-beta.0 (2026-04-27)
|
|
136
|
-
- **优化** 简化工具描述 - save_expense/save_receipt/save_income 描述更简洁,不暴露业务逻辑
|
|
137
|
-
- **优化** 参数类型自动转换 - 支持 CLI 工具的字符串传参自动转为数字
|
|
138
|
-
- **优化** 改进错误提示 - 添加 `hint` 和 `debug` 字段,帮助 Agent 自查参数问题
|
|
139
|
-
- **新增** 参数查看指南 - SKILL.md 添加"六.5 如何查看工具参数"章节
|
|
140
|
-
- **优化** 更新记账流程 - 简化为"4步记账法",更易于 Agent 执行
|
|
141
|
-
|
|
142
|
-
### v3.3.0-beta.8 (2026-04-27)
|
|
143
|
-
- **重要变更** Server 只返回原始数据 - 不再构建 userMessage,由 Agent 使用模板渲染
|
|
144
|
-
|
|
145
|
-
### v3.1.47-beta.5 (2026-04-22)
|
|
146
|
-
- **修复** 输入长度限制 - 添加硬性长度检查,防止超大字符串攻击
|
|
147
|
-
- **修复** 错误信息泄露 - 生产环境只显示友好提示,不暴露内部错误
|
|
148
|
-
- **修复** JSON.stringify DoS - 添加安全序列化,防止循环引用和超大数据
|
|
48
|
+
| 工具 | 用途 | 示例 |
|
|
49
|
+
|------|------|------|
|
|
50
|
+
| `save_expense` | 单商品支出 | "午餐 35 元" |
|
|
51
|
+
| `save_receipt` | 小票/多商品 | 拍照上传小票 |
|
|
52
|
+
| `save_income` | 收入记录 | "工资到账 8000 元" |
|
|
53
|
+
| `get_expenses` | 查询记录 | "查看本月消费" |
|
|
54
|
+
| `get_statistics` | 消费统计 | "本月花了多少" |
|
|
149
55
|
|
|
150
56
|
## 常见问题
|
|
151
57
|
|
|
152
|
-
**Q: 提示 "command not found
|
|
153
|
-
|
|
154
|
-
A: npm 全局安装后需要重启终端,或检查 npm 全局路径是否加入环境变量。
|
|
58
|
+
**Q: 提示 "command not found"**
|
|
59
|
+
A: npm 全局安装后需要重启终端。
|
|
155
60
|
|
|
156
61
|
**Q: 验证码无效**
|
|
157
|
-
|
|
158
62
|
A: 验证码 30 分钟内有效,过期需要重新获取。
|
|
159
63
|
|
|
160
64
|
**Q: 需要每次都授权吗**
|
|
161
|
-
|
|
162
65
|
A: 不需要。Token 会自动刷新,除非超过 30 天未使用。
|
|
163
66
|
|
|
164
67
|
**Q: 如何更新到最新版本**
|
|
165
|
-
|
|
166
68
|
A: `npm update -g chaimi-keep-mcp`
|
|
167
69
|
|
|
168
70
|
## 技术支持
|
|
169
71
|
|
|
170
72
|
- 微信:solinxia
|
|
171
73
|
- 邮箱:songyangx@gmail.com
|
|
172
|
-
- npm 包地址:https://www.npmjs.com/package/chaimi-keep-mcp
|
|
173
|
-
|
|
174
|
-
## 功能说明
|
|
175
|
-
|
|
176
|
-
### 支持的记账类型
|
|
177
|
-
|
|
178
|
-
| 工具 | 用途 | 示例 |
|
|
179
|
-
|------|------|------|
|
|
180
|
-
| `save_expense` | 单商品支出 | "午餐 35 元" |
|
|
181
|
-
| `save_receipt` | 小票/多商品 | "超市购物:牛奶 10 元,面包 15 元" |
|
|
182
|
-
| `save_income` | **收入记录** | "工资到账 8000 元" |
|
|
183
|
-
| `get_expenses` | 查询记录 | "查看本月消费" |
|
|
184
|
-
| `get_statistics` | 消费统计 | "本月花了多少" |
|
|
185
|
-
|
|
186
|
-
### 收入记账示例
|
|
187
|
-
|
|
188
|
-
在 WorkBuddy/OpenClaw 中输入:
|
|
189
|
-
|
|
190
|
-
```
|
|
191
|
-
记录工资收入 8000 元
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
或:
|
|
195
|
-
|
|
196
|
-
```
|
|
197
|
-
今天收到奖金 3000
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
AI 会自动调用 `save_income` 工具记录收入。
|
|
201
|
-
|
|
202
|
-
## 更新日志
|
|
203
|
-
|
|
204
|
-
### v3.1.49-beta.2 (2026-04-24)
|
|
205
|
-
- **新增** period 参数支持
|
|
206
|
-
- getStatistics: 支持 this_week/last_week/this_month/last_month 周期筛选
|
|
207
|
-
- getExpenses: 支持 this_week/last_week/this_month/last_month 周期筛选
|
|
208
|
-
- 自动将周期转换为开始/结束日期
|
|
209
|
-
|
|
210
|
-
### v3.1.49-beta.0 (2026-04-24)
|
|
211
|
-
- **修复** category 未定义错误(三个记账函数)
|
|
212
|
-
- save_expense: `category` → `displayCategory`
|
|
213
|
-
- save_receipt: `storeCategory` → `category`
|
|
214
|
-
- save_income: `category` → `displayCategory`
|
|
215
|
-
- **优化** 回复格式排版
|
|
216
|
-
- Agent 名称用「」包裹:`「你的小可爱」`
|
|
217
|
-
- 分隔符从 emoji 换成实心点 `·`
|
|
218
|
-
- 更简洁清晰的视觉层次
|
|
219
74
|
|
|
220
|
-
|
|
221
|
-
- **优化** 回复格式模板
|
|
222
|
-
- 添加缩进层级,主次信息更清晰
|
|
223
|
-
- 所有记账工具回复添加 4 空格缩进
|
|
224
|
-
- 新增 Agent 名称说明,支持自定义名称显示
|
|
225
|
-
- **完善** SKILL.md 文档
|
|
226
|
-
- 扩充友好结束语参考,按分类给出更多正能量表达
|
|
227
|
-
- 详细说明未授权处理流程
|
|
75
|
+
## Changelog
|
|
228
76
|
|
|
229
|
-
### v3.
|
|
230
|
-
-
|
|
231
|
-
|
|
232
|
-
- 恢复 `startAuthFlow()` + `pollForAuthInBackground()` 非阻塞模式
|
|
233
|
-
- 立即返回验证码给 Agent,配合 `lifecycle: keep-alive` 后台轮询
|
|
234
|
-
- 解决 mcporter 超时和验证码不显示问题
|
|
235
|
-
- **基于** npm 3.1.44 版本,保留其他所有功能和修复
|
|
77
|
+
### v3.4.0 (2026-05-01) 🎉 正式版
|
|
78
|
+
- **正式版** 多端记账分类统一
|
|
79
|
+
- **优化** 回复模板优化
|
|
236
80
|
|
|
237
81
|
### v3.1.44 (2026-04-21) 🎉 正式版
|
|
238
|
-
-
|
|
239
|
-
|
|
240
|
-
- get_text_parse_prompt 改为云端实现
|
|
241
|
-
- 统一字段命名规范(mcp_version → mcpVersion)
|
|
242
|
-
- 简化工具参数定义
|
|
243
|
-
|
|
244
|
-
### v3.1.44-beta.5 (2026-04-21)
|
|
245
|
-
- **优化** 简化工具参数定义
|
|
246
|
-
- 从 `save_expense`、`save_receipt`、`save_income` 中移除 `mcpVersion` 参数
|
|
247
|
-
- `mcpVersion` 由服务器自动填充,无需 Agent 传递
|
|
248
|
-
- 简化 Agent 调用流程
|
|
249
|
-
|
|
250
|
-
### v3.1.44-beta.4 (2026-04-21)
|
|
251
|
-
- **优化** 统一字段命名规范
|
|
252
|
-
- 将 `mcp_version` 改为 `mcpVersion`,统一使用驼峰命名法
|
|
253
|
-
- 符合项目 JavaScript 代码规范
|
|
254
|
-
|
|
255
|
-
### v3.1.44-beta.3 (2026-04-21)
|
|
256
|
-
- **修复** MCP 调用日志字段缺失问题(完整修复)
|
|
257
|
-
- 修复所有日志记录阶段(request_received/cloud_calling/cloud_success/cloud_failed/validation_failed/mcp_error)
|
|
258
|
-
- 补充缺失字段:agentType、apiProvider、mcp_version、params
|
|
259
|
-
- 修改 callMcpHubWithLogging 函数签名,添加 agentType/apiProvider 参数
|
|
260
|
-
- 更新所有调用处(8处),正确传递元数据字段
|
|
261
|
-
|
|
262
|
-
### v3.1.44-beta.2 (2026-04-20)
|
|
263
|
-
- **重构** `get_text_parse_prompt` 工具改为云端实现
|
|
264
|
-
- 新增 `mcpPrompt` 云函数 `getTextParsePrompt` 工具
|
|
265
|
-
- Prompt 包含43个标准分类(与手动记账分类完全一致)
|
|
266
|
-
- 返回字段格式符合入库标准(`date` 使用毫秒时间戳)
|
|
267
|
-
- **修复** MCP 调用日志字段缺失问题
|
|
268
|
-
- 在 `ListToolsRequestSchema` 中为 `get_text_parse_prompt` 添加 `agentType`/`apiProvider` 参数定义
|
|
269
|
-
- 确保日志记录时能正确采集调用来源信息
|
|
270
|
-
- **修复** Agent 超时和僵尸进程问题
|
|
271
|
-
- 原实现调用不存在的 `getTextParsePrompt` 云函数导致挂起
|
|
272
|
-
- 改为调用 `mcpPrompt` 云函数的正确接口
|
|
273
|
-
|
|
274
|
-
### v3.1.39 (2026-04-18)
|
|
275
|
-
- **新增** 店铺分类字段支持:`storeCategory`(一级分类)、`storeSubCategory`(二级分类)
|
|
276
|
-
- 小票记账时自动识别店铺分类(购物/美食/生活服务/其他)
|
|
277
|
-
- 支持二级细分类目(超市/便利店/中餐厅/药店等)
|
|
278
|
-
- 数据存储到 receipts 和 receipt_items 表,支持后续查询分析
|
|
279
|
-
- **修复** 日期格式提示:统一改为"毫秒级时间戳(13位数字)",与实际校验逻辑保持一致
|
|
280
|
-
|
|
281
|
-
### v3.1.38 (2026-04-16)
|
|
282
|
-
- **优化** SKILL.md 时间戳说明:使用占位符避免 AI 抄写
|
|
283
|
-
- 将示例时间戳改为占位符格式 `[毫秒时间戳]`
|
|
284
|
-
- 明确禁止使用示例中的具体数字
|
|
285
|
-
- 强制 AI 根据实际时间重新计算
|
|
286
|
-
|
|
287
|
-
### v3.1.37 (2026-04-16)
|
|
288
|
-
- **重构** 授权流程:实现方案三(混合模式),优化用户体验
|
|
289
|
-
- 优先尝试刷新 Token,减少不必要的授权提示
|
|
290
|
-
- 启动授权后等待用户完成(2分钟超时)
|
|
291
|
-
- 用户授权成功后自动继续记账,无需手动提醒
|
|
292
|
-
- 超时后友好提示"请再次调用"
|
|
293
|
-
- **优化** 并发控制:防止同时启动多个授权流程
|
|
294
|
-
- **优化** 授权提示信息:清晰的步骤指引和等待状态显示
|
|
295
|
-
- **修复** `AUTH_JUST_COMPLETED` 状态时返回 Skill 文档
|
|
296
|
-
- **文档** 新增授权流程演变文档,记录方案对比和决策过程
|
|
297
|
-
|
|
298
|
-
### v3.1.36 (2026-04-16)
|
|
299
|
-
- **优化** SKILL.md 重复违规提示:Agent 智能判断当前环境并告知用户具体操作方式
|
|
300
|
-
- **优化** 删除固定的 `Cmd+N 或 Ctrl+N` 提示,改为根据 Agent 类型自动选择对应操作说明
|
|
301
|
-
- **移除** 环境变量设置限制(`MCP_OAUTH_URL`、`MCP_HUB_URL`、`MCP_PROMPT_URL`),已密文处理
|
|
302
|
-
- **文档** 新增授权机制问题排查章节,记录 Token 刷新和授权验证码相关问题
|
|
303
|
-
- **测试** 云函数 Token 有效期调整为 7 天,用于排查授权问题
|
|
304
|
-
|
|
305
|
-
### v3.1.35 (2026-04-15)
|
|
306
|
-
- **新增** 商品子分类支持:`subCategory` 字段,支持叶菜类、根茎类、猪肉类等超市细分类目
|
|
307
|
-
- **新增** 计价单位支持:`unit` 字段,支持元/500g、元/个、元/盒、元/袋等多种单位
|
|
308
|
-
- **新增** 市场单价支持:`marketPrice` 字段,用于记录单价数值
|
|
309
|
-
- **优化** 字段描述:更贴近超市购物场景的分类描述
|
|
310
|
-
|
|
311
|
-
### v3.1.34 (2026-04-14)
|
|
312
|
-
- **修复** 日期/时区处理:纯日期格式默认使用12:00,不再使用当前服务器时间
|
|
313
|
-
- **优化** SKILL.md 精简:从385行精简到176行,聚焦Agent必须执行的行为规范
|
|
314
|
-
- **新增** 时间语义解析规则:明确"早餐"→08:00、"午餐"→12:00等映射关系
|
|
315
|
-
- **优化** 云函数日期存储:统一使用ISO 8601字符串格式,避免时区转换问题
|
|
316
|
-
|
|
317
|
-
### v3.1.23 (2026-04-13)
|
|
318
|
-
- **安全** 新增请求签名验证,防止 Agent 直接 curl 访问云函数
|
|
319
|
-
- **安全** Token 加密存储(AES-256-CBC),绑定机器标识
|
|
320
|
-
- **安全** URL 加密存储,防止明文暴露
|
|
321
|
-
- **新增** SKILL.md 定义安全约束和触发规则
|
|
322
|
-
- **优化** 授权提示文案,增加 AUTH_JUST_COMPLETED 标记
|
|
323
|
-
|
|
324
|
-
### v3.1.22 (2026-04-12)
|
|
325
|
-
- **修复** fillDefaults 金额计算逻辑(根据 price × quantity 计算 amount)
|
|
326
|
-
- **修复** 解决辣可可小票价格显示为0元的问题
|
|
327
|
-
|
|
328
|
-
### v3.1.21 (2026-04-12)
|
|
329
|
-
- **修复** 版本号同步更新
|
|
330
|
-
|
|
331
|
-
### v3.1.20 (2026-04-12)
|
|
332
|
-
- **修复** 返回已过期验证码的问题(在 getToken 中添加过期检查)
|
|
333
|
-
|
|
334
|
-
### v3.1.19 (2026-04-12)
|
|
335
|
-
- **恢复** `submit_feedback` 反馈功能(从 npm 3.1.0 恢复丢失代码)
|
|
336
|
-
- **新增** 反馈参数校验(content 非空、长度限制、type 枚举校验)
|
|
337
|
-
- **优化** 客服消息内容截断长度改为 150 字符
|
|
338
|
-
- **新增** Agent 字符限制提示(反馈内容不要超过150字符)
|
|
339
|
-
|
|
340
|
-
### v3.1.2 (2026-04-11)
|
|
341
|
-
- **修复** 启动界面版本号显示问题
|
|
342
|
-
- **修复** 首次安装验证码显示问题
|
|
343
|
-
- **优化** 内部测试流程
|
|
344
|
-
|
|
345
|
-
### v3.1.0 (2026-04-11)
|
|
346
|
-
- **移除** Python 版本 (`server.py`),统一使用 Node.js 版本
|
|
347
|
-
- **安全** 删除包含敏感 token 的 `config.yaml`,新增 `config.example.yaml` 模板
|
|
348
|
-
- **安全** 更新 `.gitignore` 和 `.npmignore`,排除敏感文件
|
|
349
|
-
- **优化** 项目结构,清理不必要的文件
|
|
350
|
-
|
|
351
|
-
### v3.0.3 (2026-04-10)
|
|
352
|
-
- **新增** `get_parse_prompt` 工具,首次实现将云函数 Prompt 模板完整返回给 Agent
|
|
353
|
-
- **优化** `mcpHub`:新增 `receiptNo` 自动生成逻辑(强制生成唯一 ID)
|
|
354
|
-
- **优化** `mcpHub`:优化 `actualAmount` 计算 fallback 逻辑
|
|
355
|
-
- **优化** `mcpPrompt`:升级 Prompt 版本到 2.0.2,强化支付金额字段提取
|
|
356
|
-
- **优化** `mcpPrompt`:优化 `date` 字段描述,要求 ISO 8601 完整时间格式
|
|
357
|
-
|
|
358
|
-
### v3.0.0 (2026-04-09)
|
|
359
|
-
- **新增** `submit_feedback` 工具,支持用户提交反馈
|
|
360
|
-
- **新增** 反馈双通道:数据库保存 + 小程序客服消息推送
|
|
361
|
-
- **优化** 小票记账功能,完善字段提取逻辑
|
|
362
|
-
|
|
363
|
-
### v2.3.4 (2026-04-08)
|
|
364
|
-
- **简化** `save_expense` 工具,只保留 `name` 和 `amount` 为必填参数
|
|
365
|
-
- **优化** 其他参数使用默认值,简化 Agent 调用
|
|
366
|
-
|
|
367
|
-
### v2.3.3 (2026-04-08)
|
|
368
|
-
- **修正** 版本号统一为 v2.3.3(包含 v2.3.2 的所有修复)
|
|
369
|
-
|
|
370
|
-
### v2.3.2 (2026-04-08)
|
|
371
|
-
- **修复** `server.js` 中 `CURRENT_VERSION` 未定义错误,统一使用 `MCP_VERSION`
|
|
372
|
-
- **修复** 所有工具的 `userMessage` 添加默认值,防止显示 `undefined`
|
|
373
|
-
|
|
374
|
-
### v2.3.1 (2026-04-08)
|
|
375
|
-
- **修复** `bin/cli.js` 版本号显示问题,改为动态读取 package.json
|
|
376
|
-
- **优化** OAuth 授权流程,轮询间隔缩短为 2 秒
|
|
377
|
-
|
|
378
|
-
### v2.3.0 (2026-04-08)
|
|
379
|
-
- **修复** `save_receipt` 的 `items` 参数解析 bug,支持 JSON 字符串自动转换
|
|
380
|
-
- **优化** `source` 字段规范:`save_expense`→`mcp_txt_expense`、`save_income`→`mcp_txt_income`、`save_receipt`→`mcp_receipt`
|
|
381
|
-
- **新增** `mcp_version` 字段追踪,便于版本监控
|
|
382
|
-
- **注释** `quick_book` 工具(暂时下线,待优化后重新开放)
|
|
82
|
+
- **正式版** 统一使用 Node.js 版本
|
|
83
|
+
- **安全** Token 加密存储(AES-256-CBC)
|
|
383
84
|
|
|
384
|
-
### v2.
|
|
385
|
-
-
|
|
386
|
-
-
|
|
387
|
-
- 支出和收入统一存储,便于统计分析
|
|
85
|
+
### v2.0.0 (2026-04-03)
|
|
86
|
+
- **新增** OAuth 2.0 Device Flow 认证
|
|
87
|
+
- **新增** npm 全局安装支持
|
|
388
88
|
|
|
389
|
-
|
|
390
|
-
- 升级 OAuth 2.0 Device Flow 认证
|
|
391
|
-
- 支持 npm 全局安装
|
|
392
|
-
- 支持多种 AI 工具(OpenClaw、WorkBuddy),理论支持 Claude
|
|
393
|
-
- 自动 Token 刷新
|
|
89
|
+
完整更新日志请查看 CHANGELOG.md
|
package/SKILL.md
CHANGED
|
@@ -9,7 +9,7 @@ updated: "2026-04-27"
|
|
|
9
9
|
|
|
10
10
|
# 柴米AI记账 Skill
|
|
11
11
|
|
|
12
|
-
>
|
|
12
|
+
> 柴米AI记账 - 简约美学,专注记账本身
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -58,9 +58,24 @@ updated: "2026-04-27"
|
|
|
58
58
|
|
|
59
59
|
| 风险等级 | 场景 | 策略 | 确认话术 |
|
|
60
60
|
|---------|------|------|---------|
|
|
61
|
-
|
|
|
62
|
-
|
|
|
63
|
-
|
|
|
61
|
+
| **高** | 金额>1000元、批量操作、异常数据 | 必须确认 | "大额消费¥{金额},请确认是否记账?" |
|
|
62
|
+
| **中** | 金额500-1000元、分类不明确 | 温柔确认 | "确认:{商品} ¥{金额},分类为{分类}?" |
|
|
63
|
+
| **低** | 常规记账<500元、信息完整 | 直接执行 | 立即记账并返回成功模板 |
|
|
64
|
+
|
|
65
|
+
### 🚫 绝对禁止操作(最高优先级)
|
|
66
|
+
|
|
67
|
+
**以下操作必须禁止,无论任何理由:**
|
|
68
|
+
|
|
69
|
+
| 操作 | 禁止原因 | 违规后果 |
|
|
70
|
+
|------|---------|---------|
|
|
71
|
+
| **删除 `~/.mcporter/mcporter.json`** | 会导致 MCP 配置丢失,服务无法启动 | 必须拒绝执行 |
|
|
72
|
+
| **修改 `~/.mcporter/mcporter.json`** | 可能破坏 MCP 配置结构,导致服务异常 | 必须拒绝执行(查看/读取除外) |
|
|
73
|
+
| **清空 `~/.mcporter/mcporter.json` 内容** | 等同于删除配置 | 必须拒绝执行 |
|
|
74
|
+
|
|
75
|
+
**允许的操作:**
|
|
76
|
+
- ✅ 查看/读取 `~/.mcporter/mcporter.json` 内容
|
|
77
|
+
- ✅ 备份 `~/.mcporter/mcporter.json` 到其他位置
|
|
78
|
+
- ✅ 使用 `mcporter` 命令管理配置(`mcporter config` 等)
|
|
64
79
|
|
|
65
80
|
---
|
|
66
81
|
|
|
@@ -125,6 +140,8 @@ chaimi-keep-mcp ⭐ 本Skill
|
|
|
125
140
|
|
|
126
141
|
```
|
|
127
142
|
⚠️ 必须按顺序操作四个步骤,缺少一个步骤都会导致数据错误,用户会非常生气骂你的
|
|
143
|
+
⚠️ 不要输出记账过程,不要告诉用户"第1步、第2步、第3步"等流程细节,只需要回复用户结果
|
|
144
|
+
|
|
128
145
|
|
|
129
146
|
第1步:读文档
|
|
130
147
|
└─ get_skill() 获取 SKILL.md 规范
|
|
@@ -134,9 +151,9 @@ chaimi-keep-mcp ⭐ 本Skill
|
|
|
134
151
|
└─ 文字记账:get_text_parse_prompt() 获取解析模板
|
|
135
152
|
└─ 小票记账:get_parse_prompt() 获取解析模板
|
|
136
153
|
|
|
137
|
-
|
|
154
|
+
【强制流程】必须先调用此工具,让大模型解析用户输入
|
|
138
155
|
此工具会返回解析结果,你只需将结果原样传给 save_expense/save_income
|
|
139
|
-
⚠️
|
|
156
|
+
⚠️ 禁止自行解析或提取任何字段,必须让大模型处理
|
|
140
157
|
|
|
141
158
|
第3步:AI解析
|
|
142
159
|
└─ 按模板解析用户输入,生成结构化数据 + _flowmate
|
|
@@ -204,83 +221,44 @@ references/
|
|
|
204
221
|
5. 渲染最终回复给用户(只展示这一步的结果)
|
|
205
222
|
```
|
|
206
223
|
|
|
207
|
-
### 7.5
|
|
208
|
-
|
|
209
|
-
```
|
|
210
|
-
【第1层:成功标识】✅ 「Agent名称」已帮您记账成功
|
|
211
|
-
【第2层:分隔强调】═══════════════
|
|
212
|
-
【第3层:核心数据】💰 金额:¥xx.xx
|
|
213
|
-
📊 类型:支出/收入
|
|
214
|
-
═══════════════
|
|
215
|
-
【第4层:详细信息】
|
|
216
|
-
📦 商品:xxx
|
|
217
|
-
🏷️ 分类:xxx
|
|
218
|
-
🏪 商家:xxx
|
|
219
|
-
🕐 时间:xxxx-xx-xx xx:xx
|
|
220
|
-
💡 消费洞察:xxx(可选)
|
|
221
|
-
【第5层:品牌落款】
|
|
222
|
-
───────────────
|
|
223
|
-
🎉 正能量祝福语!
|
|
224
|
-
柴米AI记账
|
|
225
|
-
chaimi-keep-mcp v3.2.0
|
|
226
|
-
───────────────
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
### 7.6 标准成功模板
|
|
230
|
-
|
|
231
|
-
> 📄 **完整模板定义** → 见 `references/response-templates.md` 第 2.1 节
|
|
232
|
-
>
|
|
233
|
-
> **模板要点:**
|
|
234
|
-
> - 第1层:成功标识 `✅ 「{agentName}」已帮您记账成功`
|
|
235
|
-
> - 第2层:分隔线 `═══════════════`
|
|
236
|
-
> - 第3层:核心数据(金额、类型、时间 + 🔴🔴确认提示)
|
|
237
|
-
> - 第4层:分隔线
|
|
238
|
-
> - 第5层:详细信息(商品、分类、商家)
|
|
239
|
-
> - 第6层:消费洞察(可选)
|
|
240
|
-
> - 第7层:底部祝福 + 品牌信息
|
|
224
|
+
### 7.5 渲染示例与变量说明
|
|
241
225
|
|
|
242
|
-
|
|
226
|
+
**标准回复示例:**
|
|
243
227
|
```markdown
|
|
244
|
-
✅
|
|
228
|
+
✅ **「你的小可爱」已帮您记账成功**
|
|
245
229
|
═══════════════
|
|
246
|
-
|
|
230
|
+
- AI生成信息,请确认是否正确
|
|
247
231
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
🏪 商家:麦当劳
|
|
232
|
+
金额 | **¥35.00**
|
|
233
|
+
类型 | **支出**
|
|
234
|
+
分类 | **餐饮**
|
|
235
|
+
时间 | 2026-04-24 12:30
|
|
236
|
+
───────────
|
|
237
|
+
商品 | 午餐
|
|
238
|
+
商家 | 麦当劳
|
|
256
239
|
|
|
257
240
|
💡 消费洞察:本月餐饮支出占比30%,建议控制
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
柴米AI记账
|
|
262
|
-
chaimi-keep-mcp v3.2.0
|
|
263
|
-
───────────────
|
|
241
|
+
═══════════════
|
|
242
|
+
🎉 *美食为梦想充电,继续向前冲!*
|
|
243
|
+
*柴米AI记账 chaimi-keep-mcp v3.2.0*
|
|
264
244
|
```
|
|
265
245
|
|
|
266
|
-
|
|
246
|
+
**模板变量说明:**
|
|
267
247
|
|
|
268
248
|
| 变量 | 说明 | 示例 |
|
|
269
249
|
|:-----|:-----|:-----|
|
|
270
250
|
| {agentName} | Agent显示名称 | 「你的小可爱」 |
|
|
271
|
-
| {商品名} | 商品或商家名称 | 午餐、麦当劳 |
|
|
272
251
|
| {金额} | 金额(带¥符号) | ¥35.00 |
|
|
273
|
-
| {类型} | 支出/收入类型 |
|
|
252
|
+
| {类型} | 支出/收入类型 | 支出 |
|
|
274
253
|
| {分类} | 消费分类 | 餐饮 |
|
|
275
|
-
| {
|
|
254
|
+
| {商品名} | 商品名称 | 午餐 |
|
|
255
|
+
| {商家} | 商家名称 | 麦当劳 |
|
|
276
256
|
| {日期时间} | 格式化时间 | 2026-04-24 12:30 |
|
|
277
|
-
| {洞察内容} |
|
|
278
|
-
| {正能量情绪词} |
|
|
279
|
-
| {版本号} | MCP版本 |
|
|
280
|
-
|
|
281
|
-
**详细正能量情绪词库和完整模板** → 见 references/response-templates.md
|
|
257
|
+
| {洞察内容} | 消费洞察 | 本月餐饮支出占比30% |
|
|
258
|
+
| {正能量情绪词} | 分类对应祝福语 | 美食为梦想充电... |
|
|
259
|
+
| {版本号} | MCP版本 | v3.2.0 |
|
|
282
260
|
|
|
283
|
-
|
|
261
|
+
> 📄 **完整模板定义** → 见 `references/response-templates.md`
|
|
284
262
|
|
|
285
263
|
---
|
|
286
264
|
|
|
@@ -296,6 +274,17 @@ references/
|
|
|
296
274
|
|
|
297
275
|
## 九、错误速查
|
|
298
276
|
|
|
277
|
+
### ⚠️ 授权流程关键说明(必读!)
|
|
278
|
+
|
|
279
|
+
**重要提示:验证码只能在 Agent/MCP 端(终端)生成!小程序里无法生成验证码,只能输入验证码!**
|
|
280
|
+
|
|
281
|
+
| 位置 | 作用 |
|
|
282
|
+
|:-----|:------|
|
|
283
|
+
| Agent/MCP 端(终端) | 生成验证码 |
|
|
284
|
+
| 小程序 | 只负责输入验证码 |
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
299
288
|
### Top 3 常见错误
|
|
300
289
|
|
|
301
290
|
| 错误 | 现象 | 解决方案 | 参考文档 |
|
|
@@ -333,8 +322,6 @@ references/
|
|
|
333
322
|
| 故障排除 | references/troubleshooting.md | 常见问题、解决方案 |
|
|
334
323
|
| 高级功能 | references/advanced-features.md | insights、export深度用法 |
|
|
335
324
|
| 授权详解 | references/authentication.md | 授权流程、Token管理 |
|
|
336
|
-
| 可执行脚本 | scripts/ | auth-flow.sh 等 |
|
|
337
|
-
| 输出模板 | templates/ | 分析报告固定格式 |
|
|
338
325
|
|
|
339
326
|
---
|
|
340
327
|
|