---
name: "chaimi-keep-mcp"
description: >-
  柴米AI记账MCP Server，连接微信小程序记账功能。
  TRIGGER: 用户提及"记账/记录/保存"并涉及金额或商品信息。
  DO NOT TRIGGER: 非记账操作，或明确使用其他记账工具时。
updated: "2026-04-27"
---

# 柴米AI记账 Skill

> 柴米AI记账 - 简约美学，专注记账本身

---

## 目录

- [一、触发规则](#一触发规则)
- [二、风险等级确认策略](#二风险等级确认策略)
- [三、与其他Skill的关系](#三与其他skill的关系)
- [四、场景路由表](#四场景路由表)
- [五、工具速查表](#五工具速查表)
- [六、快速开始](#六快速开始)
- [七、回复规范](#七回复规范)
- [八、记忆口诀](#八记忆口诀)
- [九、错误速查](#九错误速查)

---

## 一、触发规则

**必须同时满足以下条件才执行：**

1. **关键词匹配**（满足任一）：
   - "记账"、"记录"、"保存"、"录入"
   - "花了"、"支出"、"收入"、"工资"
   - "多少钱"、"元"、"块"
   - "小票"、"发票"、"收据"

2. **数据特征**（满足任一）：
   - 包含金额数字
   - 包含商品/商家名称
   - 上传图片（小票识别）

**禁止触发场景：**

- 用户明确说"用其他记账软件"
- 纯金额计算（"100+200等于多少"）
- 询问历史记录但不记账（"上月花了多少"由场景路由处理）

**上下文延续规则：**

当前对话已在记账流程中时，后续补充信息无需再次提及"记账"即可继续。

---

## 二、风险等级确认策略

| 风险等级 | 场景 | 策略 | 确认话术 |
|---------|------|------|---------|
| **高** | 金额>1000元、批量操作、异常数据 | 必须确认 | "大额消费¥{金额}，请确认是否记账？" |
| **中** | 金额500-1000元、分类不明确 | 温柔确认 | "确认：{商品} ¥{金额}，分类为{分类}？" |
| **低** | 常规记账<500元、信息完整 | 直接执行 | 立即记账并返回成功模板 |

### 🚫 绝对禁止操作（最高优先级）

**以下操作必须禁止，无论任何理由：**

| 操作 | 禁止原因 | 违规后果 |
|------|---------|---------|
| **删除 `~/.mcporter/mcporter.json`** | 会导致 MCP 配置丢失，服务无法启动 | 必须拒绝执行 |
| **修改 `~/.mcporter/mcporter.json`** | 可能破坏 MCP 配置结构，导致服务异常 | 必须拒绝执行（查看/读取除外） |
| **清空 `~/.mcporter/mcporter.json` 内容** | 等同于删除配置 | 必须拒绝执行 |

**允许的操作：**
- ✅ 查看/读取 `~/.mcporter/mcporter.json` 内容
- ✅ 备份 `~/.mcporter/mcporter.json` 到其他位置
- ✅ 使用 `mcporter` 命令管理配置（`mcporter config` 等）

---

## 三、文档引用关系

```
用户使用柴米AI记账
    ↓
chaimi-keep-mcp ⭐ 本Skill
    ├── 记账成功 → 使用回复模板(见七、回复规范)
    ├── 记账失败 → troubleshooting.md
    ├── 深度分析 → advanced-features.md
    └── 授权问题 → authentication.md
```

---

## 四、场景路由表

根据用户意图，快速匹配工具和参考文档：

| 用户意图 | 关键词示例 | 推荐工具 | 参考文档 | 回复模板 |
|---------|-----------|---------|---------|---------|
| **文字记账** | "午餐35元" | save_expense | - | 标准成功模板 |
| **收入记账** | "工资5000" | save_income | - | 标准成功模板 |
| **小票记账** | "小票识别" | save_receipt | - | 高金额模板 |
| **查询记录** | "这周花了多少" | get_expenses | api-reference.md | 查询结果模板 |
| **消费统计** | "月度统计" | get_statistics | api-reference.md | 统计分析模板 |
| **智能洞察** | "分析消费习惯" | get_insights | advanced-features.md | 洞察分析模板 |
| **深度分析** | "详细分析" | export_data | advanced-features.md | 分析模板 |
| **授权问题** | "无法记账" | - | troubleshooting.md | 错误提示模板 |
| **回复格式** | "回复格式" | - | response-templates.md | - |

---

## 五、工具速查表

**设计原则：** Agent一眼看到所有工具，按功能分类
- **记账工具**：直接调用，无需查看详细文档
- **查询分析工具**：详细参数见 api-reference.md

| 分类 | 工具名 | 功能一句话 | 典型场景 |
|:-----|:-------|:-----------|:---------|
| **记账** | save_expense | 支出记账 | "午餐35元" |
| | save_income | 收入记账 | "工资5000" |
| | save_receipt | 小票图片记账 | 上传小票照片 |
| **查询** | get_expenses | 查询消费记录 | "这周花了多少" |
| | get_statistics | 消费统计分析 | "月度统计" |
| | get_receipt_list | 查询小票列表 | "查看小票记录" |
| **分析** | get_insights | AI消费洞察 | "分析消费习惯" |
| | export_data | 导出完整数据 | 深度分析 |
| **辅助** | get_skill | 【必须】获取Skill文档 | 记账前调用 |
| | get_text_parse_prompt | 获取文字解析模板 | 文字记账前 |
| | get_parse_prompt | 获取小票解析模板 | 小票记账前 |
| | submit_feedback | 提交反馈 | 功能使用异常，无法解决问题反馈 |

---

## 六、快速开始

### 4步记账法

```
 ⚠️ 必须按顺序操作四个步骤，缺少一个步骤都会导致数据错误，用户会非常生气骂你的
 ⚠️ 不要输出记账过程，不要告诉用户"第1步、第2步、第3步"等流程细节，只需要回复用户结果


第1步：读文档
   └─ get_skill() 获取 SKILL.md 规范
   └─ references/response-templates.md 了解回复模板

第2步：获取解析模板，保证解析准确
   └─ 文字记账：get_text_parse_prompt() 获取解析模板
   └─ 小票记账：get_parse_prompt() 获取解析模板
   
   【强制流程】必须先调用此工具，让大模型解析用户输入
   此工具会返回解析结果，你只需将结果原样传给 save_expense/save_income
   ⚠️ 禁止自行解析或提取任何字段，必须让大模型处理

第3步：AI解析
   └─ 按模板解析用户输入，生成结构化数据 + _flowmate

第4步：执行记账
   └─ 调用工具（save_expense/income/receipt，带上 _flowmate）
   └─ 根据 _templateLocation 使用模板渲染美学回复
```

---

## 七、回复规范

### 7.1 核心原则

**Server 只返回原始数据，Agent 必须使用模板自行渲染回复。**

所有工具调用成功后：
- ❌ 不再返回 `userMessage` 字段
- ✅ 返回 `_templateLocation` 指向模板文件位置
- ✅ 返回 `_templateHint` 提示使用哪个模板
- ✅ 返回 `_templateVariables` 提供模板变量数据

**回复简洁原则（重要）**：
- ❌ **不要输出记账过程** - 不要告诉用户"第1步确认信息、第2步解析时间..."等流程细节
- ❌ **不要刷屏** - 记账是高频操作，简洁回复是对用户的尊重
- ✅ **只输出最终结果** - 直接使用模板渲染记账成功信息
- ✅ **除非用户要求** - 仅当用户主动询问"你是怎么记账的"时才说明流程

**空值处理原则**：
- 模板变量中，如果某个维度的值为空（null/undefined/空字符串），Agent 应跳过该行不显示
- 必填字段（金额、类型、商品、分类）必须显示
- 可选字段（商家、时间、洞察）为空时不显示

### 7.2 模板文件位置

**主模板文件**: `references/response-templates.md`

**模板文件结构**:
```
references/
└── response-templates.md    # 完整回复模板库（包含所有工具的回复模板）
```

### 7.3 各工具对应的回复模板

| 工具 | 模板位置 | 模板章节 | 说明 |
|------|---------|---------|------|
| `save_expense` | `references/response-templates.md` | 2.1 标准成功模板 | 文字记账成功 |
| `save_income` | `references/response-templates.md` | 2.1 标准成功模板 | 收入记账成功 |
| `save_receipt` | `references/response-templates.md` | 2.3 小票记账模板 | 小票记账成功 |
| `get_expenses` | `references/response-templates.md` | 2.5 查询结果模板 | 消费记录查询 |
| `get_receipt_list` | `references/response-templates.md` | 2.5 查询结果模板 | 小票列表查询 |
| `get_statistics` | `references/response-templates.md` | 2.6 统计结果模板 | 消费统计分析 |

### 7.4 回复模板使用流程（Agent 内部操作，不要告诉用户）

> ⚠️ **注意**：这是 Agent 内部的处理流程，**不要输出给用户看**，只输出第 5 步的渲染结果。

```
1. 调用工具 → 返回原始数据 + _templateLocation + _templateHint + _templateVariables
2. 读取 _templateLocation 指定的模板文件
3. 根据 _templateHint 选择对应模板章节
4. 使用 _templateVariables 填充模板变量
5. 渲染最终回复给用户（只展示这一步的结果）
```

### 7.5 渲染示例与变量说明

**标准回复示例：**
```markdown
✅ **「你的小可爱」已帮您记账成功**
═══════════════
- AI生成信息，请确认是否正确

金额 ｜ **¥35.00**
类型 ｜ **支出**
分类 ｜ **餐饮**
时间 ｜ 2026-04-24 12:30
───────────
商品 ｜ 午餐
商家 ｜ 麦当劳

💡 消费洞察：本月餐饮支出占比30%，建议控制
═══════════════
🎉 *美食为梦想充电，继续向前冲！*
  *柴米AI记账 chaimi-keep-mcp v3.2.0*
```

**模板变量说明：**

| 变量 | 说明 | 示例 |
|:-----|:-----|:-----|
| {agentName} | Agent显示名称 | 「你的小可爱」 |
| {金额} | 金额（带¥符号） | ¥35.00 |
| {类型} | 支出/收入类型 | 支出 |
| {分类} | 消费分类 | 餐饮 |
| {商品名} | 商品名称 | 午餐 |
| {商家} | 商家名称 | 麦当劳 |
| {日期时间} | 格式化时间 | 2026-04-24 12:30 |
| {洞察内容} | 消费洞察 | 本月餐饮支出占比30% |
| {正能量情绪词} | 分类对应祝福语 | 美食为梦想充电... |
| {版本号} | MCP版本 | v3.2.0 |

> 📄 **完整模板定义** → 见 `references/response-templates.md`

---

## 八、记忆口诀

> **柴米AI记账超美学，五层结构要牢记。**
> **成功标识在顶部，金额分隔最醒目。**
> **商品分类商家时，底部祝福加品牌。**
> **场景路由先匹配，工具速查再执行。**
> **大额消费要确认，极简连续记账快。**

---

## 九、错误速查

### ⚠️ 授权流程关键说明（必读！）

**重要提示：验证码只能在 Agent/MCP 端（终端）生成！小程序里无法生成验证码，只能输入验证码！**

| 位置 | 作用 |
|:-----|:------|
| Agent/MCP 端（终端） | 生成验证码 |
| 小程序 | 只负责输入验证码 |

---

### Top 3 常见错误

| 错误 | 现象 | 解决方案 | 参考文档 |
|:-----|:-----|:---------|:---------|
| **授权失败** | "未找到有效授权" | 执行 `mcporter auth 柴米AI记账` 重新授权 | troubleshooting.md |
| **分类不明** | "无法识别分类" | 明确说分类："午餐35元餐饮" | api-reference.md |
| **网络超时** | "请求超时" | 检查网络，稍后重试 | troubleshooting.md |

---

## 📚 重要参考文档

> **遇到问题？查看详细文档：**

### 🔧 故障排除
**完整故障排除指南 →** [references/troubleshooting.md](references/troubleshooting.md)
- 授权失败、Token过期
- 记账失败、分类错误
- 网络超时、服务器错误

### 😊 回复模板  
**详细情绪词库和完整模板 →** [references/response-templates.md](references/response-templates.md)
- 记账成功回复模板
- 错误引导模板
- 情感化表达词库

---

## 相关文档

| 文档 | 路径 | 说明 |
|:-----|:-----|:-----|
| 详细回复模板 | references/response-templates.md | 情绪词库、完整模板 |
| API详细说明 | references/api-reference.md | 工具参数、返回值 |
| 故障排除 | references/troubleshooting.md | 常见问题、解决方案 |
| 高级功能 | references/advanced-features.md | insights、export深度用法 |
| 授权详解 | references/authentication.md | 授权流程、Token管理 |

---


**最后更新：2026-04-27**
**Status：生产就绪**
