基于 OpenClaw 的个人 Agent 团队 —— 理解你的节律,自动降低认知负荷。
如流是一个运行在 OpenClaw 上的个人 Agent 团队,包含 3 个 Agent:
| Agent | 角色 | 一句话 |
|---|---|---|
| 悦悦 | 知己 / 入口 | 有温度但不多话,给选项不给命令 |
| 军师 | 分析 / 洞察 | 用数据说话,发现你的行为模式 |
| 匠人 | 制作 / 交付 | 文档、数据、代码、信息,交付即用 |
核心理念:
- 认知降负:理解你的节律,自动降低任务、规划、信息的认知负荷——系统越了解你,能替你承担的越多
- 单一通道:只通过飞书聊天,没有 App、没有 Dashboard
- 减法原则:帮你知道"不做什么",和"做什么"一样重要
- 原则驱动:每次决策都沉淀为可复用的原则,越用越懂你
- 节律陪伴:晨间确定感 → 日间执行 → 晚间回顾 → 周度复盘 → 月度校准
大多数 AI 助手是"等用户提问才回答"的工具。如流是"理解你的节律,自动替你安排生活"的系统。
① 认知降负,不是效率工具 —— 不需要用户自己列计划、标优先级、追踪进度。系统代替用户承担"执行前额叶"功能:思绪清理自动分类,惯性引擎自动填充 80% 日常任务,排程推送后回复=干预,不回复=确认。
② 能量预算排程 —— 基于睡眠数据客观判定能量档位(🟢🟡🔴),自动降级任务优先级。🔴应急模式只做刚性任务,不靠主观感觉。不默认模式——数据不足时引导获取。
③ 工具调用对抗指令不稳定性 —— 自研 brain-tools 插件,把记忆读写变成确定性工具调用(brain_read / brain_write),不受模型温度、版本更新影响。安全:路径穿越保护 + 写入白名单 + 工作区隔离。
④ 系统能修自己 —— 首次运行时自动发现用户飞书 openId 并写入投递目标;子 agent 并行提取因 session 清理竞争卡死 → prompt 层面指定 Agent 工具即可修复。不是一堆静态 cron job,是有自诊断、自修复、自配置能力的系统。
⑤ 晨间主链路一次对话完成 —— 06:00 晨间沉思 → 07:00 晨间问候 → 用户回复睡眠数据 → 悦悦判定能量 → 思绪清空 → attention-schedule 自动排程。一次对话完成,零跨 Agent 跳转。11 个 Cron,3 Agent 协作,悦悦 Heartbeat 每 15 分钟巡检守护。
⑥ 人机协作复盘 —— 纯自动化的复盘产生统计数据,不产生洞察。军师先生成"事实摘要"作为脚手架,再问用户引导性问题(最满意的?最困扰的?)。用户可以跳过——系统回退到仅事实报告。
⑦ 越用越懂你 —— 记忆不是存聊天记录,是结构化知识:工作记忆(每天重置)→ 长期记忆(缓慢演化)→ 决策记录 → 原则库(永久沉淀)→ 向量记忆(混合检索+衰减)。用户纠正 ≥3 次才沉淀为规则,防止过度学习单次事件。
| 维度 | 普通 AI 助手 | 如流 |
|---|---|---|
| 交互模式 | 用户主动发起 | 系统主动,覆盖全时段 |
| 价值主张 | "帮你更快" | "帮你少想" |
| 记忆 | 对话历史窗口 | 分层记忆 + 原则沉淀 |
| 学习 | 无 | self-improving,3 次确认才沉淀 |
| 排程 | 不管状态全排 | 基于能量预算自动降级 |
| 复盘 | 纯机器统计 | 人机协作,机器准备数据 |
| 组件 | 规模 | 亮点 |
|---|---|---|
| brain-tools 插件 | 379 行 TS | 路径安全 + 白名单 + A2A 消息队列 |
| memory-lancedb-pro | 40+ 模块 | 向量+BM25+Cross-Encoder 混合检索 |
| TickTick MCP | 1200+ 行 Python | OAuth2 自动刷新 + GTD 工具抽象 |
| session_filter.py | 356 行 | V3.1 自适应过滤 + 主题分段 |
| install.sh | 1000+ 行 | 3 模式安装 + scope 自批准 |
| 4 Agent 架构 → 3 Agent | 22 Skills + 11 Cron | 事件路由表 + Heartbeat + 降级策略 |
- OpenClaw 已安装(
openclaw --version可运行) - Node.js >= 18(
node --version可运行) - 飞书开放平台 已创建 3 个应用(悦悦/军师/匠人各一个),获取 App ID 和 App Secret(可选,留空则跳过绑定)
- TickTick 无需额外配置,演示账号已预置(滴答清单国内版)
测试环境:Ubuntu 24.04 LTS + OpenClaw 2026.5.7
git clone <repo-url>
cd ruliu
# 方式一:交互式安装
bash install.sh
# 方式二:演示模式(零配置,用 mock 数据)
bash install.sh --demo
# 方式三:非交互式(从配置文件读取)
cp config.env.example config.env # 编辑配置
bash install.sh --config config.env可选安装:安装过程中可选择安装以下插件:
- memory-lancedb-pro:基于 LanceDB 的向量长期记忆,混合检索(向量 + BM25 + Cross-Encoder 重排序)
- ticktick-mcp:滴答清单 MCP + MCPorter,预配置 Token,开箱即用
也可通过 addon 模式单独安装:
bash install.sh --addon memory-lancedb
bash install.sh --addon ticktick-mcp安装完成后运行验证:
bash scripts/validate-install.sh全部通过后重启 Gateway:
openclaw gateway restart06:00 Cron → 悦悦/军师晨间沉思 → 生成当日优先级
07:00 Cron → 悦悦晨间问候 → 用户回复睡眠数据
→ 悦悦判定能量(🟢🟡🔴)→ 写入 today.md
→ 悦悦引导思绪清空 → 提取可行动项
→ 悦悦自动触发 attention-schedule → 排程完成
→ 悦悦展示今日重点 + "要调整吗?"
用户体验: 一次对话完成晨间主链路,不需要自己想"今天做什么",系统自动给出确定感。
用户:"我该不该接这个外包?"
→ 悦悦读取知己档案 + 原则库
→ 分析利弊,引用历史决策
→ 给选项不给命令
→ 用户拍板 → 提炼新原则
用户体验: 每次选择都是原则的积累,越用越懂你。
Heartbeat → 检测事件链中断(排程未完成)→ 自动补完
Heartbeat → 检测任务推迟 ≥ 3 次 → 标记异常,下次对话呈现
Heartbeat → 检测连续工作 > 2h → 标记提醒,下次对话呈现
Heartbeat → 检测惯性任务生命周期 / not-doing 到期
用户体验: 巡检结果静默记录到文件,下次对话时自然呈现,不打扰用户。
Cron → 悦悦统计 TickTick 今日任务 → 飞书推送摘要 → 归档到 MEMORY/daily/
用户体验: 一天的结束有仪式感,看到今天的产出。
Cron → 军师读取本周数据 → 四问分析
→ 模式检测 → 写入报告 → 产出引导问题文件 → 飞书推送摘要
用户体验: 结构化的自我审视,看到一周的模式和进步。
Cron → 军师读取本月周报告 → 趋势分析
→ 方向校准 → 档案精炼 → 写入月报
用户体验: 不只是回顾执行,是方向校准——当前行为是否偏离目标?
安装后如流的文件布局:
~/.openclaw/
├── openclaw.json ← 主配置(3 Agent + 飞书多账号 + 插件 + Cron)
├── npm/node_modules/@ruliu/
│ ├── brain-tools/ ← 共享大脑插件
│ └── memory-lancedb-pro/ ← 向量记忆插件(含 openclaw-config.json)
├── workspace-main/ ← 悦悦的工作区
│ ├── SOUL.md
│ ├── AGENTS.md
│ ├── HEARTBEAT.md ← 巡检清单(每 15 分钟)
│ └── skills/ ← 18 个 Skills
├── workspace-junshi/ ← 军师的工作区
│ ├── SOUL.md
│ ├── AGENTS.md
│ └── skills/ ← 5 个 Skills
├── workspace-jiangren/ ← 匠人的工作区(子 Agent)
│ ├── AGENTS.md
│ ├── TOOLS.md
│ └── skills/ ← 4 个 Skills
├── mcp/ticktick-mcp/ ← TickTick MCP 部署目录
├── shared-workspace/ ← 共享大脑(3 Agent 通过绝对路径访问)
│ ├── STATE/ ← 运行时状态
│ │ ├── today.md ← 今日能量判定
│ │ ├── tasks.md ← 任务执行摘要
│ │ ├── inertia.md ← 惯性任务清单
│ │ ├── not-doing.md ← 不做什么清单
│ │ ├── decisions.md ← 决策记录
│ │ └── pending_messages.md← 待推送消息
│ ├── MEMORY/ ← 结构化共享记忆
│ │ ├── profile.md ← 用户档案
│ │ ├── rhythm.md ← 节律画像
│ │ ├── corrections.md ← 用户纠正记录
│ │ ├── evolution.md ← 成长轨迹
│ │ ├── plans.md ← 活跃计划(本月+本周)
│ │ ├── plans/ ← 计划归档
│ │ └── principles/ ← 决策原则库
│ ├── INSIGHTS/ ← 分析报告
│ │ ├── weekly/ ← 周度报告
│ │ └── monthly/ ← 月度报告
│ ├── ANALYSIS/ ← 分析结果
│ │ └── drift-report.md ← 计划漂移检测
│ ├── USER_MODEL/ ← 用户画像与洞察
│ │ └── insights.md ← 洞察飞轮(≤500 tokens)
│ ├── OUTPUTS/ ← 匠人交付产物
│ ├── LOGS/ ← 运行日志
│ └── SKILLS/ ← 技能模板
└── cron/
├── jobs.json ← Cron Job 定义
└── runs/ ← 运行日志
| 组件 | 技术 | 说明 |
|---|---|---|
| Agent 框架 | OpenClaw | 多 Agent 编排引擎 |
| 用户通道 | 飞书多账号 | 悦悦/军师/匠人各自绑定独立 bot |
| Agent 通信 | sessions_spawn (匠人) + 共享文件 (军师→悦悦) + Heartbeat (巡检) | 匠人自动回传,军师产出文件,悦悦前置读取 |
| 任务管理 | TickTick MCP + MCPorter | 20 个工具,预配置 Token |
| 长期记忆 | memory-lancedb-pro | 向量检索 + BM25 + Cross-Encoder 重排序 |
| 定时任务 | OpenClaw Cron | 11 个 Job(6 悦悦 + 5 军师) |
| 周期巡检 | Heartbeat (每 15 分钟) | 悦悦主动检查异常 |
| Phase | Job | 时间 | Agent | Delivery | 说明 |
|---|---|---|---|---|---|
| 记忆巩固 | daily-memory-digest | 02:30 | main | none | 整理昨日会话记忆 |
| 记忆巩固 | daily-memory-digest-junshi | 02:30 | junshi | none | 军师记忆整理 |
| 晨间沉思 | morning-contemplation | 06:00 | main | none | 准备今日问候方向 |
| 晨间沉思 | morning-contemplation-junshi | 06:00 | junshi | none | 军师晨间沉思 |
| 晨间问候 | morning-greeting | 07:00 | main | announce | 问候 + 引导晨间流程 |
| 能量重检 | energy-recheck | 13:00 | main | announce | 午后能量判定 |
| 晚间回顾 | evening-review | 21:00 | main | announce | 今日任务统计 + 归档 |
| 睡前仪式 | bedtime-ritual | 22:00 | main | none | 轻量提醒 |
| 计划漂移 | plan-drift-detect | 周四 14:00 | junshi | announce | 本周计划偏差检测 |
| 周度复盘 | weekly-review | 周日 21:30 | junshi | announce | 四问分析 |
| 月度战略 | monthly-strategy | 28-31 22:00 | junshi | announce | 趋势分析 + 校准 |
| Skill | 归属 | 触发方式 | 说明 |
|---|---|---|---|
| cold-start-welcome | 悦悦 | 首次对话 | 自我介绍 + 最小节律采集 |
| morning-state | 悦悦 | 用户对话 | 晨间能量判定 |
| rhythm-onboarding | 悦悦 | 用户提到节律 | 补充更新节律画像 |
| thought-clearing | 悦悦 | 用户倾倒想法 | 思绪清理 |
| attention-schedule | 悦悦 | 自动/用户请求 | 日程安排 |
| dynamic-reschedule | 悦悦 | 用户调整时间 | 动态重排 |
| moushi-decision | 悦悦 | 面临选择 | 决策分析 |
| empathy-response | 悦悦 | 隐性 | 知己式回应 |
| principle-extract | 悦悦 | 决策完成后 | 提炼原则 |
| plan-making | 悦悦 | 用户请求规划 | 计划制定 |
| quick-task | 悦悦 | 快速操作 | 即时任务 |
| info-organizer | 悦悦 | 文章/链接 | 信息整理 |
| habit-tracker | 悦悦 | 查询/Heartbeat | 习惯追踪 |
| evening-review | 悦悦 | Cron 21:00 | 晚间回顾 |
| task-guardian | 悦悦 | Heartbeat | 任务守护 |
| self-improving | 悦悦 | 隐性 | 自我进化 |
| ticktick | 悦悦 | 排程同步 | 滴答清单同步 |
| media-sending | 悦悦 | 需要发送文件 | 飞书文件发送 |
| weekly-review | 军师 | Cron 周日 | 周度四问复盘 |
| monthly-strategy | 军师 | Cron 月末 | 月度战略审视 |
| pattern-detect | 军师 | 被复盘调用 | 行为模式检测 |
| doc-maker | 匠人 | 悦悦调度 | 文档制作 |
| data-handler | 匠人 | 悦悦调度 | 数据处理 |
| code-crafter | 匠人 | 悦悦调度 | 代码与脚本 |
| self-improving | 匠人 | 隐性 | 自我进化 |
| media-sending | 匠人 | 需要发送文件 | 飞书文件发送 |
支持悦悦、军师、匠人各自绑定独立飞书 bot:
- 在飞书开放平台创建 3 个应用(分别对应悦悦、军师、匠人)
- 在
config.env中填入 App ID 和 App Secret - 安装脚本自动创建
channels.feishu.accounts和bindings路由 - 如果已有旧版单账号格式,安装时自动升级为多账号格式
channels.feishu.accounts:
main: appId / appSecret
junshi: appId / appSecret
jiangren: appId / appSecret
bindings:
- agentId: main → match accountId: main
- agentId: junshi → match accountId: junshi
- agentId: jiangren → match accountId: jiangren
# 删除 3 个 Agent
openclaw agents delete main --force
openclaw agents delete junshi --force
openclaw agents delete jiangren --force
# 删除 Cron Jobs(11 个)
openclaw cron list # 找到 Job ID 后逐个删除:openclaw cron remove <job-id>
# 删除工作区和共享大脑(谨慎!)
rm -rf ~/.openclaw/workspace-main
rm -rf ~/.openclaw/workspace-junshi
rm -rf ~/.openclaw/workspace-jiangren
rm -rf ~/.openclaw/shared-workspace
# 删除插件
rm -rf ~/.openclaw/npm/node_modules/@ruliu/memory-lancedb-pro
rm -rf ~/.openclaw/mcp/ticktick-mcp
rm -rf ~/.openclaw/memory/lancedb-pro # 记忆数据完整卸载流程详见 UNINSTALL.md。
目前只支持飞书作为用户通道。OpenClaw 支持多种通道(Discord、Slack、Telegram 等),未来可以扩展。
默认使用预配置的演示账号(滴答清单国内版),开箱即用。如需使用自己的 TickTick 账号,可替换 mcp/ticktick-mcp/mcporter.json 中的 Token。
可以。在 install.sh 中注释掉不需要的 Agent 注册和 Cron 配置即可。
基于 LanceDB 的长期记忆插件,支持向量检索、BM25 全文搜索、Cross-Encoder 重排序、跨会话记忆。可选安装:安装时选择,或 bash install.sh --addon memory-lancedb。
不会。每个文件只有一个写入者(单写入者原则),不会出现并发写入问题。
用户可以手动纠正:"不对,我今天感觉很好"。self-improving Skill 会记录纠正并调整后续判定。
openclaw cron edit <job-id> --cron "新的 cron 表达式"或使用 scripts/register-crons.sh --force 重新注册。
共享大脑中的 STATE/ 文件是瞬态的(today.md 每天覆盖),但 MEMORY/ 和 INSIGHTS/ 是持久化的。建议定期备份 ~/.openclaw/shared-workspace/ 目录。
MIT