# 🤖 Butler Bot 功能速查手册

> **快速参考**: 所有Bot功能、工具、命令的完整说明
> **更新日期**: 2026-01-30

---

## 📑 目录

1. [三Bot架构](#-三bot架构)
2. [Health Bot - 14个工具](#-health-bot---14个工具)
3. [Shell Bot - 系统管理](#-shell-bot---系统管理)
4. [Powellllll Bot - 写作与知识](#-powellllll-bot---写作与知识)
5. [特殊命令](#-特殊命令failsafe-commands)
6. [对话管理](#-对话管理)
7. [常见场景速查](#-常见场景速查)

---

## 🏗️ 三Bot架构

Butler使用**三个独立的Slack Bot**，各司其职：

| Bot | 用途 | Slack Token | 主要功能 |
|-----|------|------------|---------|
| **Health Bot** | 健康数据管理 | `SLACK_BOT_TOKEN` | 查询Garmin数据、记录饮食/补剂、数据分析 |
| **Shell Bot** | 系统管理 | `SHELL_SLACK_BOT_TOKEN` | 执行命令、文件操作、进程管理 |
| **Powellllll Bot** | 写作与知识助手 | `OBSIDIAN_SLACK_BOT_TOKEN` | 写作生成、邮件回复、决策支持、笔记搜索 |

**为什么分离？**
- 安全隔离：Shell Bot有系统权限，其他Bot权限受限
- 上下文独立：健康数据、系统命令、写作内容互不干扰
- 专业化：每个Bot使用专门的system prompt和工具集
- 稳定性：一个Bot崩溃不影响其他Bot

---

## 🏥 Health Bot - 14个工具

### 📖 数据读取工具（4个）

#### 1. `get_daily_detailed_stats`
**用途**: 获取某一天的完整健康摘要（睡眠+心率+步数+活动）

**使用场景**:
- "昨天睡得怎么样？"
- "2024-01-20 的完整数据"
- "今天的健康数据"

**参数**:
```json
{
  "target_date": "YYYY-MM-DD"  // 必填
}
```

**示例**:
```
你: 昨天的数据
Bot: [调用 get_daily_detailed_stats("2024-01-29")]
     📊 2024-01-29 健康摘要:
     💤 睡眠: 7h 32m, 评分 82/100
     ❤️ 静息心率: 53 bpm
     🚶 步数: 8,234 步
```

---

#### 2. `get_metric_history`
**用途**: 查询某个指标的历史趋势

**使用场景**:
- "过去一周的睡眠趋势"
- "最近30天的HRV变化"
- "1月份的步数数据"

**参数**:
```json
{
  "metric_type": "sleep_score | rhr | hrv | steps | stress | ...",
  "start_date": "YYYY-MM-DD",  // 必填
  "end_date": "YYYY-MM-DD"     // 必填
}
```

**可用指标类型**:
- `sleep_score` - 睡眠评分
- `total_sleep_seconds` - 总睡眠时长
- `deep_sleep_seconds` - 深睡时长
- `rhr` - 静息心率
- `hrv` - 心率变异性
- `steps` - 步数
- `stress` - 压力水平
- `body_battery` - Body Battery

**示例**:
```
你: 过去7天的HRV趋势
Bot: [调用 get_metric_history("hrv", "2024-01-23", "2024-01-29")]
     📈 HRV 趋势 (2024-01-23 ~ 2024-01-29):
     - 平均: 62 ms
     - 最高: 78 ms (01-27)
     - 最低: 48 ms (01-24)
```

---

#### 3. `get_activity_history`
**用途**: 查询运动活动记录

**使用场景**:
- "这周跑了几次步？"
- "1月份的所有运动"

**参数**:
```json
{
  "start_date": "YYYY-MM-DD",  // 必填
  "end_date": "YYYY-MM-DD"     // 必填
}
```

**示例**:
```
你: 这周的运动记录
Bot: [调用 get_activity_history("2024-01-23", "2024-01-29")]
     🏃 本周运动 (7天):
     - 2024-01-24: 跑步 5.2km, 用时 28分, 平均心率 152
     - 2024-01-26: 力量训练 45分
```

---

#### 4. `get_manual_history`
**用途**: 查询手动记录的日志（饮食、补剂、酒精等）

**使用场景**:
- "上周我喝了几次酒？"
- "最近记录的补剂有哪些？"

**参数**:
```json
{
  "start_date": "YYYY-MM-DD",  // 必填
  "end_date": "YYYY-MM-DD",    // 必填
  "category": "diet | alcohol | supplements | feelings | fasting | all"  // 可选
}
```

**示例**:
```
你: 上周的酒精记录
Bot: [调用 get_manual_history("2024-01-22", "2024-01-28", "alcohol")]
     🍷 酒精记录 (7天):
     - 2024-01-24 19:30: 红酒 150ml
     - 2024-01-27 20:00: 啤酒 330ml
```

---

### ✍️ 数据记录工具（5个）

#### 5. `log_diet`
**用途**: 记录饮食

**参数**:
```json
{
  "target_date": "YYYY-MM-DD",           // 必填
  "description": "食物描述",              // 必填
  "meal_type": "breakfast | lunch | dinner | snack",  // 可选
  "time": "HH:MM"                        // 可选
}
```

**示例**:
```
你: 记录今天午餐吃了鸡胸肉沙拉
Bot: [调用 log_diet(target_date="2024-01-29", description="鸡胸肉沙拉", meal_type="lunch")]
     ✅ 已记录 2024-01-29 的午餐: 鸡胸肉沙拉
```

---

#### 6. `log_supplement`
**用途**: 记录补剂

**参数**:
```json
{
  "target_date": "YYYY-MM-DD",  // 必填
  "name": "补剂名称",            // 必填
  "dosage": "剂量",             // 必填
  "time": "HH:MM"               // 可选
}
```

**示例**:
```
你: 今天早上吃了 Vitamin D3 5000IU
Bot: [调用 log_supplement(name="Vitamin D3", dosage="5000IU")]
     ✅ 已记录补剂: Vitamin D3 (5000IU)
```

---

#### 7. `log_alcohol`
**用途**: 记录酒精摄入

**参数**:
```json
{
  "target_date": "YYYY-MM-DD",  // 必填
  "alcohol_type": "酒精类型",    // 必填
  "amount": "数量",             // 必填
  "time": "HH:MM"               // 可选
}
```

**示例**:
```
你: 晚上喝了一杯红酒
Bot: [调用 log_alcohol(alcohol_type="红酒", amount="150ml")]
     ✅ 已记录酒精: 红酒 (150ml)
```

---

#### 8. `log_feeling`
**用途**: 记录身体感受/症状

**参数**:
```json
{
  "target_date": "YYYY-MM-DD",  // 必填
  "feeling_type": "感受类型",    // 必填（如"头痛"、"疲劳"）
  "severity": 1-10,             // 必填（严重程度）
  "description": "详细描述",     // 必填
  "time": "HH:MM"               // 可选
}
```

**示例**:
```
你: 今天感觉有点头痛，大概3分严重度
Bot: [调用 log_feeling(feeling_type="头痛", severity=3, description="轻微头痛")]
     ✅ 已记录感受: 头痛 (严重度 3/10)
```

---

#### 9. `log_fasting`
**用途**: 记录禁食模式

**参数**:
```json
{
  "target_date": "YYYY-MM-DD",  // 必填
  "mode": "OMAD | PSMF | 16:8 | ..."  // 必填
}
```

**示例**:
```
你: 今天采用OMAD模式
Bot: [调用 log_fasting(mode="OMAD")]
     ✅ 已记录禁食模式: OMAD
```

---

### 🔄 数据同步工具（2个）

#### 10. `sync_garmin`
**用途**: 手动同步Garmin数据

**参数**:
```json
{
  "target_date": "YYYY-MM-DD"  // 可选，默认今天
}
```

**示例**:
```
你: 同步今天的Garmin数据
Bot: [调用 sync_garmin()]
     ⏳ 正在同步 2024-01-29 的数据...
     ✅ 已同步: 睡眠、心率、步数、HRV
```

---

#### 11. `sync_obsidian`
**用途**: 同步健康数据到Obsidian笔记

**参数**:
```json
{
  "target_date": "YYYY-MM-DD"  // 必填
}
```

---

### 📊 高级分析工具（2个）

#### 12. `get_health_insights`
**用途**: 获取高级健康洞察（相关性、趋势分析）

**参数**:
```json
{
  "analysis_type": "recovery_correlations | fitness_trends | lifestyle_impact",
  "lookback_days": 30-90  // 建议30-90天
}
```

**分析类型**:
- `recovery_correlations`: 酒精/运动对恢复的影响
- `fitness_trends`: RHR/HRV趋势分析
- `lifestyle_impact`: 禁食/补剂对健康的影响

**示例**:
```
你: 分析过去60天的健身趋势
Bot: [调用 get_health_insights(analysis_type="fitness_trends", lookback_days=60)]
     📈 60天健身趋势:
     - RHR下降 5%，有氧适能提升
     - HRV上升 12%，恢复能力增强
```

---

#### 13. `analyze_driver`
**用途**: 分析某个因素（Driver）对健康指标的影响

**参数**:
```json
{
  "driver_metric": "alcohol_units | stress | steps | has_magnesium | ...",
  "target_metric": "sleep_score | rhr | hrv | body_battery",
  "method": "correlation | group_compare",
  "lookback_days": 30  // 可选，默认30天
}
```

**方法选择**:
- `correlation`: 用于连续变量（如酒精量 vs 睡眠评分）
- `group_compare`: 用于事件对比（如有镁 vs 无镁）

**示例**:
```
你: 分析镁对睡眠的影响
Bot: [调用 analyze_driver(driver_metric="has_magnesium", target_metric="sleep_score", method="group_compare")]
     🔬 分组对比分析:
     - 有镁组: 平均睡眠评分 84.2
     - 无镁组: 平均睡眠评分 76.5
     - 差异: +7.7 分 (统计显著, p=0.03)
```

---

### 🌐 网络搜索工具（1个）

#### 14. `search_web`
**用途**: 实时网络搜索（DuckDuckGo）

**使用场景**:
- "最新的NMN研究"
- "berberine副作用"
- "查询长寿相关新闻"

**参数**:
```json
{
  "query": "搜索关键词"  // 必填
}
```

**隐私说明**: 只搜索关键词，**不会**上传你的个人健康数据。

---

## 💻 Shell Bot - 系统管理

### 核心工具

#### `execute_shell`
**用途**: 执行zsh命令（持久化会话）

**参数**:
```json
{
  "command": "命令字符串",
  "timeout": 2.0  // 可选，默认2秒
}
```

**特性**:
- 每个Slack频道有独立的shell会话
- 工作目录会保持（cd有效）
- 环境变量持久化

**示例**:
```
你: 检查当前目录
Bot: [调用 execute_shell("pwd")]
     📟 /Users/lili/workspace/bulter

你: 列出文件
Bot: [调用 execute_shell("ls -lh")]
     📟 total 48
     drwxr-xr-x  12 lili  staff   384B Jan 23 15:20 health
     drwxr-xr-x   8 lili  staff   256B Jan 23 15:20 slack_bot
```

---

#### `download_file`
**用途**: 从服务器下载文件到Slack

**参数**:
```json
{
  "file_path": "/absolute/path/to/file"
}
```

---

#### `save_file`
**用途**: 保存内容到服务器文件

**参数**:
```json
{
  "file_path": "/absolute/path",
  "content": "文件内容",
  "overwrite": true  // 可选
}
```

---

#### `get_system_status`
**用途**: 获取系统健康仪表板（CPU、内存、磁盘、进程）

---

#### `get_process_list`
**用途**: 列出运行中的进程

**参数**:
```json
{
  "filter_name": "进程名关键词",  // 可选
  "limit": 15                  // 可选
}
```

---

#### `kill_process`
**用途**: 终止进程

**参数**:
```json
{
  "pid": 12345,
  "signal_type": "SIGTERM | SIGKILL"  // 可选，默认SIGTERM
}
```

---

## ✍️ Powellllll Bot - 写作与知识

### 概述

**Powellllll Bot** 是一个连接你Obsidian笔记库的**智能写作助手**，它能：
- 学习你的写作风格，模仿你的语气生成文章
- 根据你的沟通风格起草专业邮件回复
- 作为"魔鬼代言人"帮你做决策分析
- 搜索你的Obsidian笔记库提供上下文

**核心特点**：
- 📚 **RAG增强**: 自动检索Obsidian vault中的相关笔记
- 🎨 **风格学习**: 从`#writing_sample`和`#reply_sample`标签的笔记中学习你的表达方式
- 🧠 **知识库集成**: 基于`writing_style.md`、`methodology.md`等你的个人知识体系
- 🔄 **持续对话**: 支持多轮修改和迭代

---

### 4种工作模式

Powellllll Bot有4种模式，使用前需要先切换模式：

#### 模式切换命令

```
mode write      # 写作模式
mode reply      # 邮件回复模式
mode decide     # 决策支持模式
mode search     # 笔记搜索模式
```

---

### 模式1: Write（写作助手）

**用途**: 根据主题生成文章，模仿你的写作风格

**工作流程**:
1. 切换模式: `mode write`
2. 第一轮输入: `<主题> | <额外上下文>`（可选用`|`分隔）
3. Bot会：
   - 从Obsidian中检索相关笔记（RAG）
   - 加载3个`#writing_sample`样本学习你的风格
   - 读取`writing_style.md`和`methodology.md`
   - 生成初稿
4. 后续轮次: 直接提修改要求（如"加个比喻"、"改得更口语化"）

**示例**:
```
你: mode write
Bot: ✅ Switched to mode: write

你: 云计算的本质 | 我想从Lighthouse产品的角度来讲
Bot: [读取笔记 + 风格样本]
     云计算到底在干什么？说白了就是想建一个IT的巴别塔...
     [生成800字初稿]

你: 加一个关于"毛坯房vs简装房"的比喻
Bot: [修改后的版本，新增比喻]

你: 结尾改得不要那么"展望未来"，说点实在的
Bot: [修改结尾，去除AI味]
```

**相关文件**:
- `writing_style.md` - 你的写作风格指南
- `methodology.md` - 你的思维方法论
- `POWELL_REVISE.md` - AI味去除修订规范（可手动参考）

---

### 模式2: Reply（邮件回复生成器）

**用途**: 起草高情商、逻辑严谨的专业邮件回复

**工作流程**:
1. 切换模式: `mode reply`
2. 第一轮输入: 粘贴需要回复的邮件原文
3. Bot会：
   - 分析邮件的关键信息和隐含诉求
   - 加载`#reply_sample`样本学习你的沟通风格
   - 生成回复草稿
4. 后续轮次: 修改要求（如"语气再委婉点"、"加上时间线"）

**示例**:
```
你: mode reply
Bot: ✅ Switched to mode: reply

你: [粘贴邮件]
    "Hi Powell, 我们团队想在下周上线新功能，需要你们配合升级底层服务..."

Bot: [分析邮件诉求]
     Subject: Re: 新功能上线协调

     Hi XXX，

     收到，下周上线这个时间点我们这边可以配合。有几个技术细节想先确认...
     [生成完整回复]

你: 语气再客气一点，别显得太生硬
Bot: [调整后的版本]
```

**相关文件**:
- `REPLY-SAMPLE.md` - 你的回复样本集

---

### 模式3: Decide（决策支持）

**用途**: 扮演"魔鬼代言人"，帮你做决策分析

**工作流程**:
1. 切换模式: `mode decide`
2. 第一轮输入: 描述决策问题和你的初步想法
3. Bot会：
   - 使用你的决策框架（如GPA、IPO）分析
   - 从多个角度质疑你的假设
   - 列出潜在风险和机会
4. 后续轮次: 继续深入讨论

**示例**:
```
你: mode decide
Bot: ✅ Switched to mode: decide

你: 我在考虑要不要接受新的Tech Lead职位，担心会牺牲技术深度
Bot: 让我从几个角度帮你分析这个决策：

     【假设检验】
     - 你假设"管理=牺牲技术深度"，但这个前提成立吗？
     - 是否存在"管理型技术专家"的路径？

     【机会成本】
     - 如果不接受，3年后的你会在哪里？
     - 接受后，最坏的情况是什么？可逆吗？

     【风险点】
     ...

你: 你说的"可逆性"很关键，如果试一年发现不合适，我还能回到IC路线吗？
Bot: [继续分析可逆性和退出策略]
```

**相关框架**:
- GPA框架（Goal-Plan-Action）
- IPO框架（Input-Process-Output）
- 你在`methodology.md`中定义的其他决策工具

---

### 模式4: Search（笔记搜索与分析）

**用途**: 搜索Obsidian笔记库，提供智能摘要

**工作流程**:
1. 切换模式: `mode search`
2. 输入查询关键词
3. Bot会：
   - 在Obsidian vault中搜索相关笔记
   - 提取关键片段
   - 进行智能摘要和关联分析
   - （可选）触发Web搜索补充最新信息

**示例**:
```
你: mode search
Bot: ✅ Switched to mode: search

你: 我之前写过关于"技术债务"的笔记吗？
Bot: [搜索vault]
     找到3条相关笔记：

     1. 《重构vs技术债务.md》（2024-01-15）
        - 核心观点：技术债务不是技术问题，是优先级问题
        - 引用了Martin Fowler的Technical Debt Quadrant

     2. 《项目复盘-XX重构.md》（2023-12-03）
        - 实战案例：重构导致延期2周的教训
        ...

     【关联分析】
     这些笔记都提到了"可逆性"这个关键词，与你的决策方法论一致。

你: 帮我总结一下我对技术债务的核心观点
Bot: [基于笔记生成摘要]
```

---

### 通用命令

这些命令在所有模式下都可用：

#### `clear`
清空当前对话历史

```
你: clear
Bot: 🧹 Context cleared.
```

#### `reload`
重新扫描Obsidian vault（当你新增笔记后使用）

```
你: reload
Bot: 🔄 Vault reloaded.
```

---

### 配置要求

**环境变量**（在`.env`中配置）:
```bash
# Obsidian Bot Tokens
OBSIDIAN_SLACK_BOT_TOKEN=xoxb-your-token
OBSIDIAN_SLACK_APP_TOKEN=xapp-your-token

# Obsidian Vault路径
OBSIDIAN_VAULT_PATH=/path/to/your/obsidian/vault
```

**Obsidian笔记库结构**:
```
your-vault/
├── writing_style.md        # 必需：你的写作风格指南
├── methodology.md          # 必需：你的方法论
├── REPLY-SAMPLE.md         # Reply模式需要
├── notes/
│   ├── article1.md         # 带 #writing_sample 标签
│   ├── email_reply1.md     # 带 #reply_sample 标签
│   └── ...
```

**标签规范**:
- `#writing_sample` - 标记你的优质文章，供Write模式学习
- `#reply_sample` - 标记你的优质邮件回复，供Reply模式学习

---

### AI味去除工具

**POWELL_REVISE.md** 是一个手动修订规范，用于AI生成内容后的"去AI味"处理。

**典型AI痕迹**:
- ❌ "首先...其次...最后..."
- ❌ "总而言之" "综上所述"
- ❌ 过度工整的排比句
- ❌ "让我们携手共进，共创美好未来"

**修订策略**:
- ✅ 删除过渡词堆积
- ✅ 打破排比对仗
- ✅ 增加口语化（"说实话" "其实" "btw"）
- ✅ 保留技术准确性
- ✅ 加入你的典型比喻（巴别塔、毛坯房、魔法）

**快速修订流程**（5分钟）:
1. 批量替换："首先"→删除，"总而言之"→删除
2. 挑3个最AI的句子重写
3. 加1个比喻
4. 改结尾：从"展望未来"改成"下一步要做X"

详见完整的`POWELL_REVISE.md`文档。

---

### 使用技巧

#### ✅ 最佳实践

1. **标签管理**: 定期给优质笔记打上`#writing_sample`或`#reply_sample`标签
2. **风格文件维护**: 随时更新`writing_style.md`，记录你的新表达习惯
3. **分阶段修改**: 先生成初稿，再分多轮微调（比一次性要求更准确）
4. **上下文提供**: Write模式第一轮尽量提供充足的背景信息
5. **Reload及时**: 新增重要笔记后记得`reload`

#### ⚠️ 注意事项

1. **隐私安全**: Bot读取本地Obsidian文件，但不会上传到云端（仅发送给Gemini LLM处理）
2. **首轮质量**: 第一轮生成的质量取决于`#writing_sample`的数量和质量（建议至少5篇）
3. **长文章限制**: Slack消息有长度限制（~12000字符），超长文章会被截断
4. **模式切换**: 切换模式会自动`clear`历史，避免上下文混乱

---

### 典型工作流

#### 场景1: 写一篇技术博客
```
1. mode write
2. 云原生架构的演进 | 我想从Kubernetes到Serverless的路径来讲
3. [Bot生成初稿]
4. 加一个关于"巴别塔"的比喻
5. 第二段太长了，拆成两段
6. 结尾改得实际点，不要"展望未来"
7. [定稿，复制到编辑器]
8. [手动参考POWELL_REVISE.md进行最后润色]
```

#### 场景2: 回复合作伙伴邮件
```
1. mode reply
2. [粘贴合作伙伴的需求邮件]
3. [Bot生成回复草稿]
4. 语气再委婉点，别显得太直接
5. 加上我们这边的时间安排
6. [定稿，发送]
```

#### 场景3: 重大决策分析
```
1. mode decide
2. 我在考虑要不要all-in做AI方向，担心风险太大
3. [Bot从多角度分析]
4. 你说的"机会成本"很关键，能展开讲讲吗？
5. 如果我要测试这个方向，最小可行方案是什么？
6. [继续讨论，最终形成决策框架]
```

---

## 🚨 特殊命令（Failsafe Commands）

这些是**硬编码**的系统级命令，直接触发脚本执行，**不经过LLM**。

### 1. Gemini配置切换 (`gmode`)

**格式**: `### gmode <config_name> ###`

**可用配置**:
- `local` - 本地代理（127.0.0.1:8045）
- `openrouter` - OpenRouter（需要API key）
- `check` - 快速检查所有配置的基本连接状态
- `check-detailed` - 全面检查所有配置（包括function calling测试）

**示例**:
```
你: ### gmode local ###
Bot: ♻️ System Reset: Switched to `local`. Restarting process...
     [Bot自动重启，加载新配置]

你: ### gmode check ###
Bot: 🔍 Health Check Results:
     CONFIG                    | MODEL                          | STATUS     | MESSAGE
     ------------------------------------------------------------------------------------------
     .gemini.local.env (current) | gemini-3-pro-high              | ✅ PASS   | OK (1234ms)
     .gemini.openrouter.env      | google/gemini-3-flash-preview  | ✅ PASS   | OK (567ms)

你: ### gmode check-detailed ###
Bot: 🔍 Comprehensive Health Check Results:
     ================================================================================
     📋 Testing: .gemini.local.env ⭐ CURRENT
     ================================================================================
     Model: gemini-3-pro-high
     Base URL: http://127.0.0.1:8045

       Running: 简单对话（无工具）... ✅ (285 chars) [7.40s]
       Running: 健康查询（无工具）... ❌ (empty) [8.61s]
       Running: Function Calling (6工具)... ❌ (no tool calls) [5.59s]

     Overall Grade: 🟡 C (33% success, avg 7.20s)

     ================================================================================
     📋 Testing: .gemini.openrouter.env
     ================================================================================
     Model: google/gemini-3-flash-preview
     Base URL: https://openrouter.ai/api

       Running: 简单对话（无工具）... ✅ (32 chars) [2.73s]
       Running: 健康查询（无工具）... ❌ (empty) [1.75s]
       Running: Function Calling (6工具)... ✅ (1 tools) [1.43s]

     Overall Grade: 🟢 A (67% success, avg 1.97s)
```

**实现位置**: `slack_bot/shell_main.py:131`, `scripts/select_gemini.py`

---

### 2. Bot进程管理 (`bot`)

**格式**: `### bot <command> [args] ###`

**可用命令**:
```bash
### bot status ###           # 查看所有bot状态
### bot start health ###      # 启动Health Bot
### bot start shell ###       # 启动Shell Bot
### bot stop health ###       # 停止Health Bot
### bot restart health ###    # 重启Health Bot
### bot logs health ###       # 查看Health Bot日志
```

**实现位置**: `slack_bot/shell_main.py:166`

**示例**:
```
你: ### bot status ###
Bot: 🤖 Bot Manager Output:
     Health Bot: Running (PID 12345)
     Shell Bot: Running (PID 12346)

你: ### bot restart health ###
Bot: 🤖 Restarting Health Bot...
     ✅ Done. PID: 12347
```

---

## 💬 对话管理

### 清除上下文

**命令**: `clear` / `reset` / `清除`

**作用**: 清空当前频道的对话历史（上下文窗口）

**示例**:
```
你: clear
Bot: 🧹 Context cleared. (对话历史已清除)
```

### Help菜单

**命令**: `help` / `help?` / `帮助` / `menu`

**作用**: 显示Shell Bot的帮助文档

---

## 🎯 常见场景速查

### 场景1: 每日健康检查
```
你: 昨天睡得怎么样？
Bot: [get_daily_detailed_stats("2024-01-28")]
```

### 场景2: 记录早餐
```
你: 记录今天早上吃了燕麦和蓝莓
Bot: [log_diet(description="燕麦和蓝莓", meal_type="breakfast")]
```

### 场景3: 分析补剂效果
```
你: 分析过去30天镁对我睡眠的影响
Bot: [analyze_driver(driver_metric="has_magnesium", target_metric="sleep_score", method="group_compare", lookback_days=30)]
```

### 场景4: 系统状态检查
```
你: 系统负载怎么样？
Bot: [execute_shell("uptime")]
```

### 场景5: 查询科学文献
```
你: 搜索最新的NAD+补充剂研究
Bot: [search_web(query="NAD+ supplement 2024 research")]
```

### 场景6: 切换Gemini配置
```
你: ### gmode local ###
Bot: [切换到本地代理并重启]
```

### 场景7: 写作助手生成文章
```
你: mode write
Bot: ✅ Switched to mode: write

你: 云计算的本质 | 想从Lighthouse角度讲
Bot: [生成基于你风格的文章初稿]

你: 加个"毛坯房vs简装房"的比喻
Bot: [修改后的版本]
```

### 场景8: 决策分析
```
你: mode decide
Bot: ✅ Switched to mode: decide

你: 我在考虑要不要接受Tech Lead职位
Bot: [从多角度分析，质疑假设，列出风险]
```

---

## 📝 使用技巧

### ✅ 最佳实践

1. **日期格式统一**: 使用 `YYYY-MM-DD`（如 `2024-01-29`）
2. **时间格式统一**: 使用 `HH:MM`（如 `18:30`）
3. **自然语言优先**: Bot会自动解析你的意图，无需记忆命令
4. **批量查询**: "过去7天的睡眠和HRV" - Bot会自动调用多个工具
5. **分析周期**: 建议30-90天，太短无统计意义，太长数据可能不完整

### ⚠️ 注意事项

1. **图片限制**: 图片会自动压缩到1024x1024，确保清晰度
2. **Shell会话超时**: 30分钟无活动会自动重启会话
3. **数据同步**: Garmin数据不会自动同步，需手动调用 `sync_garmin`
4. **隐私保护**: Web搜索只发送关键词，不发送个人数据

---

## 🔗 相关文档

- [完整使用指南](Bulter-Bot使用指南.md)
- [开发者文档](README.md)
- [代码规范](CLAUDE.md)

---

**最后更新**: 2026-01-30
**版本**: v1.0
**维护者**: Lili
