【Cherry Studio + OpenClaw 2026完全指南】第三章:高效使用技巧与最佳实践

作者:董老板 | 写于 2026年3月 | 平台:Cherry AI(OpenClaw)

📖 系列导航第一章:快速上手与飞书配置详解 | 第二章:技能商店精选推荐与安装攻略 | 第四章:为什么选择 MiniMax 作为主力大模型

本文概要:掌握 Cherry AI 的核心使用技巧,包括记忆管理、心跳机制、Cron定时任务、浏览器自动化、飞书集成等,让 AI 真正成为你的私人助理。


💡 阅读提示:这些技巧能让你的 AI 助手"越来越懂你",建议每天打开 Cherry AI 前先看一遍。

一、记忆管理系统(核心重点)

Cherry AI 的记忆管理是让 AI「越用越聪明」的关键。系统分为三层:

1.1 第一层:会话记忆(自动)

每次对话的历史记录自动保存在当前会话中,关闭后丢失。

特点

  • 自动保存,无需干预
    • 仅限当前会话
    • 上下文窗口内可追溯

1.2 第二层:每日日记(手动积累)

每个工作日在 memory/YYYY-MM-DD.md 中记录当天重要事件:

# 2026-03-30 日记

## 今日完成
- 配置了飞书频道
- - 安装了 14 个 MiniMax 技能
- - 测试了 minicpm-v OCR 功能
## 重要决策
- 图片理解统一用本地 minicpm-v
- - 图片生成暂用 Pexels 图床
- - OSS 作为主要文件中转
## 用户偏好
- 董老板喜欢直接给链接
- - 不喜欢卡片消息(显示不正常)
- - 确认事项会主动推送
## 待继续
- [ ] 申请 MiniMax image-01 API key
- [ ] - [ ] 测试视频生成功能
- [ ] - [ ] 修复每日赚钱项目 cron 任务
- [ ] ```
**写日记的时机**:
- 每天结束前花2分钟记录
- - 重要决策后立即记录
- - 发现 AI 的问题/纠正时记录
### 1.3 第三层:长期记忆(精选沉淀)

`MEMORY.md` 是精选记忆库,只保存长期有价值的信息:

```markdown
# MEMORY.md - 长期记忆

## 董老板基本信息
- 称呼:董老板
- - 时区:Asia/Shanghai
- - 角色:开发主管兼产品经理
## 技术栈
- 主力语言:C#, Java, Python, Node.js, Vue
- - 风格:实用至上,啥活都接
## 硬件环境
- GPU: RTX 5070 Ti(16GB,Blackwell sm_120)
- - 主机: Windows NT, 10.0.26100
- - Ollama: v0.18.3,安装在 E:\software\ollama\
## 关键配置
- 图片理解:统一用本地 minicpm-v
- - 飞书:已配置完成,App ID = cli_你的AppID
- - OSS: bbmg-zc-1 bucket,图片中转站
- ```
**更新原则**:
- 只记录长期有效的信息
- - 每几天从日记中提炼一次
- - 不要堆砌细节,提炼精华
### 1.4 纠正机制(自我进化)

当 AI 犯错时,告诉它「记住这个」:

记住:以后遇到XXX,就YYY这样做。
或者:
这个错了,以后要注意:ZZZ


AI 会自动将纠正写入 `~/self-improving/corrections.md`,在下次执行时参考。

---

## 二、心跳机制(Heartbeat)

心跳是让 AI 定期「醒过来检查事情」的功能。

### 2.1 心跳检查清单

编辑 `HEARTBEAT.md` 文件,添加需要定期检查的事项:

```markdown
# HEARTBEAT.md

## 待检查事项
- [ ] 邮件(每4小时检查一次)
- [ ] - [ ] 日历(当天有会议吗?)
- [ ] - [ ] 飞书消息(有紧急消息吗?)
- [ ] ```
### 2.2 心跳执行时机

AI 会定期(通常每隔30分钟)在后台运行心跳检查。

**如何配置心跳频率**:
在 `openclaw.json` 中配置:
```json
{
  "heartbeat": {
      "intervalMs": 1800000  // 30分钟
        }
        }
        ```
### 2.3 心跳的工作流程

每30分钟:

读取 HEARTBEAT.md 检查清单

执行各项检查

有重要更新 → 主动发消息通知

无更新 → 不打扰(静默)
```

三、Cron 定时任务(自动运行)

Cron 是 Cherry AI 最强大的功能之一,让任务「到点自动执行」。

3.1 已配置的定时任务

任务名称 执行时间 功能
每晚技能进化 01:00 自动安装新技能
每晚自进化 02:00 自我反思和优化
记忆维护 03:00 整理记忆文件
每日要闻推送 06:00 推送最新资讯
每日赚钱项目 09:00 搜索赚钱项目

3.2 创建新的定时任务

场景:每天早上 8 点自动发送天气预报

# 使用 cron 工具创建
cron.add(
    name="每日天气提醒",
        schedule="0 8 * * *",  # 每天 8:00
            timezone="Asia/Shanghai",
                task="查询北京天气并通过飞书发送给董老板",
                    session="isolated"
                    )
                    ```
### 3.3 Cron 表达式教程

| 表达式 | 含义 |
|--------|------|
| `0 8 * * *` | 每天 08:00 |
| `0 6 * * 1-5` | 工作日 06:00 |
| `*/30 * * * *` |30 分钟 |
| `0 */2 * * *` |2 小时 |
| `0 9 * * 0` | 每周日 09:00 |

**格式说明**:`分 时 日 月 周`

---

## 四、浏览器自动化(Playwright)

浏览器自动化可以替代很多需要手动操作网页的工作。

### 4.1 安装 Playwright

```bash
# 安装 Playwright(Node.js)
npm install -g playwright

# 安装 Chromium 浏览器
npx playwright install chromium

4.2 常用自动化脚本

截取网页截图

const { chromium } = require('playwright');

(async () => {
  const browser = await chromium.launch();
    const page = await browser.newPage();
      
        await page.goto('https://news.sina.com.cn/');
          await page.screenshot({ path: 'news.png', fullPage: true });
            
              await browser.close();
              })();
              ```
**提取网页内容**:
```javascript
const { chromium } = require('playwright');

(async () => {
  const browser = await chromium.launch();
    const page = await browser.newPage();
      
        await page.goto('https://example.com/article');
          
            // 提取文章标题和正文
              const title = await page.$eval('h1', el => el.textContent);
                const content = await page.$$eval('p', els => els.map(e => e.textContent));
                  
                    console.log('标题:', title);
                      console.log('正文:', content.join('\n'));
                        
                          await browser.close();
                          })();
                          ```
**自动填表提交**:
```javascript
const { chromium } = require('playwright');

(async () => {
  const browser = await chromium.launch();
    const page = await browser.newPage();
      
        await page.goto('https://form.example.com');
          
            await page.fill('#name', '张三');
              await page.fill('#email', 'zhang@example.com');
                await page.click('#submit');
                  
                    await page.waitForNavigation();
                      console.log('表单提交成功');
                        
                          await browser.close();
                          })();
                          ```
### 4.3 定时监控示例

**场景**:监控某商品价格,价格低于阈值时通知

```javascript
const { chromium } = require('playwright');
const https = require('https');

// 检查价格
async function checkPrice() {
  const browser = await chromium.launch();
    const page = await browser.newPage();
      
        await page.goto('https://shop.example.com/product/123');
          
            const price = await page.$eval('.price', el => el.textContent);
              console.log('当前价格:', price);
                
                  if (parseFloat(price) < 100) {
                      // 发送通知(通过飞书)
                          console.log('价格低于阈值,需要通知!');
                            }
                              
                                await browser.close();
                                }
// 定时执行(每小时检查一次)
setInterval(checkPrice, 60 * 60 * 1000);

五、飞书集成技巧

5.1 图片发送(已验证可行方案)

正确流程(2026年3月实测成功):

Step 1: 调用 /im/v1/images 上传图片
        ↓
                获取 image_key
                        ↓
                        Step 2: 调用 /im/v1/messages 发送消息
                                msg_type = "image"
                                        content = {"image_key": "xxx"}
                                                ↓
                                                        飞书客户端直接显示图片预览
                                                        ```
**完整代码示例**:
```python
import requests
import json

APP_ID = "cli_你的AppID"
APP_SECRET = "你的AppSecret"

# Step 1: 获取 token
r = requests.post(
    'https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal',
        json={'app_id': APP_ID, 'app_secret': APP_SECRET}
        )
        tenant_token = r.json()['tenant_access_token']
# Step 2: 上传图片(注意 image_type='message' 不是 'message_image')
with open('image.jpg', 'rb') as f:
    img_data = f.read()
r = requests.post(
    'https://open.feishu.cn/open-apis/im/v1/images',
        headers={'Authorization': f'Bearer {tenant_token}'},
            data={'image_type': 'message'},  # 关键点!
                files={'image': ('image.jpg', img_data, 'image/jpeg')}
                )
                image_key = r.json()['data']['image_key']
# Step 3: 发送图片消息
r = requests.post(
    'https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=open_id',
        headers={
                'Authorization': f'Bearer {tenant_token}',
                        'Content-Type': 'application/json'
                            },
                                json={
                                        'receive_id': 'ou_你的OpenID',
                                                'msg_type': 'image',
                                                        'content': json.dumps({'image_key': image_key})
                                                            }
                                                            )
                                                            print('发送成功:', r.json())
                                                            ```
### 5.2 卡片消息(Interactive Card)

飞书支持发送带按钮、布局的卡片消息:

```json
{
  "msg_type": "interactive",
    "card": {
        "header": {
              "title": {"tag": "PlainText", "content": "任务完成通知"},
                    "template": "green"
                        },
                            "elements": [
                                  {
                                          "tag": "div",
                                                  "text": {"tag": "lark_md", "content": "**每日要闻**已生成"}
                                                        },
                                                              {
                                                                      "tag": "action",
                                                                              "actions": [
                                                                                        {
                                                                                                    "tag": "button",
                                                                                                                "text": {"tag": "PlainText", "content": "查看详情"},
                                                                                                                            "type": "primary",
                                                                                                                                        "url": "https://example.com/news"
                                                                                                                                                  }
                                                                                                                                                          ]
                                                                                                                                                                }
                                                                                                                                                                    ]
                                                                                                                                                                      }
                                                                                                                                                                      }
                                                                                                                                                                      ```
### 5.3 OSS 图片中转方案

由于飞书图片发送不稳定,可以使用阿里云 OSS 作为中转:

```python
import oss2

auth = oss2.Auth('LTAI4GD3t8RRKresVzgWrnuH', '5MYU8tkftxrLuHnnxkXfHIyccRUWfx')
bucket = oss2.Bucket(auth, 'oss-cn-beijing.aliyuncs.com', 'bbmg-zc-1')

# 上传到 OSS
bucket.put_object_from_file('temp/myimage.jpg', 'local_image.jpg')

# 生成签名 URL(30分钟有效)
url = bucket.sign_url('GET', 'temp/myimage.jpg', 1800)

# 通过飞书发送链接给用户

六、自我进化配置

让 Cherry AI 在每次运行后自动优化自己。

6.1 corrections.md(纠正记录)

当 AI 犯错时,用户说「记住…」或「以后这样…」,AI 自动记录:

# corrections.md

## 2026-03-30

- ❌ 不要发 JSON 代码块给飞书 → 飞书不支持,改为直接发链接
- - ❌ 不要假设用户在线 → 先问清楚再执行
- - ✅ 图片理解统一用本地 minicpm-v
- - ✅ OSS 签名 URL 有效期设为 2 小时
- ```
### 6.2 patterns.md(操作模式)

记录重复任务的最佳执行方式:

```markdown
# patterns.md

## 发图片给董老板
1. 先用飞书 /im/v1/images 上传 → image_key
2. 2. 再用 image 类型发送
3. 3. 不要用卡片消息(显示不正常)
## 搜索最新新闻
1. 优先用 web_search(需要配置 Brave API Key)
2. 2. 搜索 "site:news.cn 关键词"
3. 3. 整理成 3-5 条简讯
4. 4. 通过飞书发送
5. ```
---

## 七、常用命令速查

### 7.1 技能管理

| 操作 | 命令 |
|------|------|
| 搜索技能 | `npx clawhub search 关键词` |
| 安装技能 | `npx clawhub install 技能名` |
| 查看已安装 | `npx clawhub list` |
| 更新技能 | `npx clawhub update 技能名` |

### 7.2 Cron 任务

| 操作 | 命令 |
|------|------|
| 查看任务 | `openclaw cron list` |
| 立即执行 | `openclaw cron run 任务ID`
Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐