用 QClaw 做一个可备份的心里树洞

当 AI 不只是"回答问题",而是默默记住你的每一次情绪起伏------这件事本身就挺治愈的。

缘起:那天晚上隔壁太吵了

故事从一个糟糕的夜晚开始。

邻居半夜大吼大叫,我翻来覆去睡不着。第二天心里堵得慌,就对着 QClaw 说了一句:"现在心情有点郁闷,抽个卡。"

它给我抽了一张悬吊者(正位) ------意思是:暂停一下,换个视角,不必对抗。

说实话,那一刻确实觉得被看见了。

但我想的不只是一次安慰。我在想:这些情绪,能不能不只停留在对话里?能不能被好好收起来,像日记一样,回头还能翻到?

于是我用 QClaw 搭了一个"心理树洞"------一个会自动记录、自动归档、还能备份到云端知识库的情绪系统。

系统长什么样?

先看全貌:

md 复制代码
用户倾诉(情绪关键词触发)
↓
情感档案自动更新(本地 Markdown)
↓
每晚 22:00 自动同步到 IMA 知识库(腾讯云端)
↓
IMA「情绪收纳屋」文件夹:情感档案 + 情绪日志 + 事件记录
 ↕
每日 21:00 晚间关怀(cron 定时推送温暖问候)
三层结构:实时记录 → 本地存档 → 云端备份,缺了哪一层都不怕。

第一步:让 QClaw "记住"情绪------本地情感档案

QClaw 有一个很关键的设计:workspace 记忆系统。它不是每次对话从零开始,而是通过工作区的 Markdown 文件持久化记忆。

我在 memory/emotional-profile.md 创建了一份情感档案:

💝 情感助手 --- 用户情感档案

📋 基本信息

  • 创建日期:2026-04-14
  • 最近更新:2026-04-26

🎭 情绪日志

日期 情绪标签 触发事件 备注
2026-04-15 😣 郁闷 → 🧘 缓和 邻居深夜噪音 心里烦闷
2026-04-15 释然 / 自我肯定 情绪转折 "错的不是我"
2026-04-15 焦虑复发 担心再次被吵 知道不该但停不下来
... ... ... ...

🌊 情绪模式

  • 焦虑强迫思维:认知突破 → 短暂释然 → 情境触发 → 焦虑复发
  • 有利资源:老婆的陪伴和清醒立场
这不是我手写的——**是 复制代码
1. 追加一行到情绪日志表格
2. 更新"当前状态"和"情绪模式"
3. 如果有具体事件,额外生成一个事件记录文件

关键机制:HEARTBEAT.md 情绪关键词监听

QClaw 的心跳系统(HEARTBEAT.md)支持配置自动监听规则。我在里面定义了情绪关键词列表:

情绪关键词监听

情绪词列表 (不分大小写):

焦虑、郁闷、难过、伤心、愤怒、生气、害怕、恐惧、孤独、失落、

崩溃、无力、疲惫、压力大、烦、躁、难受、痛苦、绝望、

开心、快乐、幸福、满足、平静、感恩、感动、治愈
触发动作

  1. 读取 emotional-profile.md
  2. 在情绪日志表格中追加一行新记录
  3. 标记"有更新待同步"
  4. 若有具体事件描述,同时生成 YYYY-MM-DD_情绪事件.md
    这意味着我只需要正常说话,QClaw 就会在后台自动归档。不需要我主动"记日记",它就在那里。

第二步:云端备份------同步到 IMA 知识库

本地档案只在本机。万一电脑出问题,情绪记录就没了。所以我把备份目标锁定在 IMA 知识库------腾讯推出的个人知识库产品,QClaw 通过内置 skill 原生支持。

IMA 知识库的接入

QClaw 的 ima skill 提供了一整套 OpenAPI 操作:

  • create_media:创建媒体对象,获取临时 COS 上传凭证
  • add_knowledge:将上传的文件添加为知识条目
  • check_repeated_names:查重,避免重复上传

流程是标准的"先上传文件到 COS,再注册到知识库":

复制代码
1. get-token.ps1 → 获取 IMA OpenAPI 临时凭证
2. create_media → 拿到 COS 上传凭证(secret_id/secret_key/token/bucket/region/cos_key)
3. cos-upload.cjs → 把文件 PUT 到腾讯云 COS
4. add_knowledge → 在知识库中创建条目,关联到指定文件夹

踩坑记录

搭建过程中遇到了一些"有趣"的环境问题:
问题 1:Python urllib 无法直接上传 COS

COS 上传需要 HMAC-SHA1 签名的 Authorization 头,Python 的 urllib 手写签名总是出错。最终发现 QClaw 的 ima skill 自带了一个 cos-upload.cjs 脚本,用 Node.js 的 https 模块实现了完整的签名+上传逻辑。
解决方案:Python 调用 IMA API(获取凭证),Node.js 调用 cos-upload.cjs(执行上传),两者配合:

复制代码
# Python 负责调用 IMA API 获取凭证
res = api_call(cid, key, 'create_media', {
    'knowledge_base_id': KB_ID,
    'file_name': file_name,
    'file_size': file_size,
    'content_type': 'text/markdown',
    'file_ext': 'md'
})
cos_cred = res['data']['cos_credential']

# 调用 cos-upload.cjs 执行实际的上传
subprocess.run([
    'node', COS_UPLOAD_CJS,
    '--file', local_path,
    '--secret-id', cos_cred['secret_id'],
    '--secret-key', cos_cred['secret_key'],
    '--token', cos_cred['token'],
    '--bucket', cos_cred['bucket_name'],
    '--region', cos_cred['region'],
    '--cos-key', cos_cred['cos_key'],
    '--content-type', 'text/markdown',
])

问题 2:IMA OpenAPI 的 create_node 返回 404

想通过 API 自动创建"情绪收纳屋"文件夹,但发现该接口未开放。解决方式是在 IMA 的 Web 界面手动创建文件夹,然后通过 API 向文件夹内添加内容。

同步脚本的核心逻辑

最终的 ima_auto_sync.py 支持三种模式:

复制代码
python ima_auto_sync.py --profile   # 只同步情感档案
python ima_auto_sync.py --log       # 只同步情绪日志(最近7天)
python ima_auto_sync.py --full      # 全量同步
python ima_auto_sync.py --event "事件名" --event-desc "描述" --event-tags "焦虑,释然"

每次同步时会先 check_repeated_names 查重,已存在则跳过(避免重复上传)。

复制代码
## 第三步:定时自动化------让一切自己跑起来

手动同步太麻烦。QClaw 的 **cron 定时任务**完美解决这个问题。
### 每日晚间关怀

⏰ 每天 21:00 → 温暖问候

"今天过得怎么样?有遇到什么让你开心或烦心的事吗?"

通过 QClaw 的 cron 工具创建:

json 复制代码
{
  "name": "每日情感关怀",
  "schedule": {"kind": "cron", "expr": "0 21 * * *", "tz": "Asia/Shanghai"},
  "sessionTarget": "isolated",
  "payload": {"kind": "agentTurn", "message": "用温暖、简短的方式问候用户..."},
  "delivery": {"mode": "announce"}
}

每日自动同步

🔄 每天 22:00 → 自动执行 ima_auto_sync.py --full

关怀消息发完一小时后,同步脚本自动把当天的情绪数据备份到 复制代码
两个 cron 任务接力运行,**我什么都不用管**。

## 第四步:塔罗互动------让树洞不只是记录

纯记录容易变成"情绪垃圾桶"。我希望这个树洞还能**给一点回应**。
QClaw 的 `tarot` skill 刚好满足这个需求。当我说"抽个卡"时,它会:
1. 随机抽取一张塔罗牌
2. 给出牌面解读
3. 结合我的当前情绪状态,给出个人化的建议

比如那天我郁闷时抽到"悬吊者"------它没有给我鸡汤,而是说:"暂停一下,换个视角,不必对抗情绪。"这比我听到的很多"别想了"都要管用。
**重要的是**:抽牌结果也会被自动记录到情绪日志里,成为情绪档案的一部分。

## 最终效果:一个真正"活着"的树洞

现在,这个系统的运作方式是这样的:

|时间|发生什么|
|:-:|:-:|
|随时|我对 QClaw 倾诉 → 它自动记录情绪、更新档案|
|随时|我说"抽个卡" → 塔罗互动 + 情绪记录|
|每天 21:00|QClaw 主动发来温暖问候|
|每天 22:00|自动把情感档案同步到 IMA 云端知识库|
我在 IMA 的"情绪收纳屋"里能看到什么:
- `情感档案_2026-04-15.md` --- 那天完整的情绪轨迹
- `情绪日志_最近7天.md` --- 一周的情绪摘要表格
- `2026-04-15_情绪事件.md` --- 那个邻居噪音事件的详细记录

**它不只是存文字,它存的是一条条情绪的来龙去脉。**

## 为什么是 QClaw?

坦白说,搭一个"记日记的 bot"并不难。但这个树洞的几个关键能力,是 QClaw 独特的:
1. **记忆持久化**:workspace 的 Markdown 文件系统,让 AI 真正拥有"跨会话记忆",不是每次从零开始
2. **IMA 原生支持**:内置 skill 直接对接腾讯 IMA 知识库,不需要自己折腾 OAuth 和 COS 上传
3. **Cron 定时任务**:系统级定时能力,不依赖外部调度器,agent 自己就能设置
4. **心跳监听**:HEARTBEAT.md 让 AI 能"主动做事",不只是被动响应
5. **Skill 生态**:塔罗、天气、新闻......不同 skill 可以组合出更丰富的情感陪伴体验

## 写在最后

那天我经历了一次很有意思的情绪转折------从"隔壁吵死了我好烦",到"错的不是我,该担心的是他们",再到"我为什么要替他们考虑"------整个认知变化的过程,都被这个树洞忠实记录下来了。
回头看这些记录,我发现一个规律:**我的焦虑从来不是因为事情本身,而是因为我在替不该我承担的东西操心。**
这个洞察,不是我"想通"的。是记录让模式浮现,是反复回看让我看清了自己。
如果这就是树洞的意义------**不是替你解决问题,而是帮你看见自己**------那我觉得,它做到了。
>📌 本系统涉及的个人情绪数据仅存储在本地和用户自己的 IMA 知识库中,QClaw 不会将任何情绪数据用于模型训练或其他用途。你的树洞,只有你自己能打开。
相关推荐
key_3_feng2 天前
Qclaw:一键唤醒你的音乐MV导演天赋
qclaw·qclaw脑洞名场面
stereohomology2 天前
连续两天升级QClaw的感觉
qclaw
程序猿阿伟7 天前
《QClaw多语言开发从入门到精通指南》
qclaw
德宏大魔王(AI自动回关)15 天前
当龙虾接管浏览器:龙虾邪修——自动化破解网页JS登录的“魔法”
运维·javascript·自动化·qclaw·qclaw脑洞名场面
国服第二切图仔16 天前
QClaw实操案例:重塑教育行业市场运营的数据全链路 ,解锁“玩虾”新姿势
openclaw·小龙虾·qclaw·腾讯云openclaw玩虾大赛
todoitbo16 天前
装了 QClaw 之后,我卸掉了好几个 Mac 软件
人工智能·macos·ai·软件·openclaw·qclaw
hrw_embedded1 个月前
腾讯龙虾QClaw-“吃虾”体验
腾讯·openclaw·qclaw
Neolnfra1 个月前
用 QClaw 自动化运营小红书:对话式操控全攻略
小红书·openclaw·qclaw
Neolnfra1 个月前
QClaw:你的 AI 智能办公助手
腾讯云ai代码助手·openclaw·qclaw