Install
openclaw skills install knowledge-precipitation每日知识沉淀引擎(Knowledge Auto-Precipitation Engine,KAPE)。自动完成:下载昨日Get笔记内容 → 结合对话记录 → 深度分析用户学习、感悟、工作状态 → 生成含重点摘要的日志简报 → 同步归档到 Get笔记(带标签)+ 飞书知识库 + 飞书文档。触发场景:「整理昨天的日志...
openclaw skills install knowledge-precipitation本 skill 需要以下工具权限:
exec:获取 Get笔记 API 数据(只读 HTTPS 请求)feishu_wiki、feishu_doc:写入飞书文档sessions_list、sessions_history:读取对话记录不会执行任何本地文件写入之外的 shell 命令,所有外部 API 调用均为只读请求。
Get笔记 API 凭证存储在 openclaw.json 中:
{
"skills": {
"entries": {
"getnote": {
"apiKey": "<从配置文件读取,勿硬编码>",
"env": {
"GETNOTE_CLIENT_ID": "<从配置文件读取>"
}
}
}
}
}
飞书机器人需已加入知识库成员,否则 feishu_wiki(spaces) 返回空。
飞书文档统一存放在共享文件夹「牛管家日志」,确保张公子有删除权限。
| 配置项 | 值 |
|---|---|
| 文件夹名称 | 牛管家日志 |
| 文件夹 token | FQfXfYBGGllxxydJ1SgcJZWqnpf |
| 文件夹 URL | https://qcnu4qzh46f0.feishu.cn/drive/folder/FQfXfYBGGllxxydJ1SgcJZWqnpf |
| 张公子权限 | full_access(可删除文档) |
每天自动生成日志简报,三端同步归档。
⚠️ 重要:Get笔记 CLI 维护独立于 openclaw.json 的登录状态,电脑重启后可能被重置(显示
Not authenticated)。本步骤自动检测并修复,无需用户手动操作。
操作流程:
getnote auth status 检查当前认证状态Not authenticated:
~/.openclaw/openclaw.json 读取 skills.entries.getnote.apiKey 和 skills.entries.getnote.env.GETNOTE_CLIENT_IDgetnote auth login --api-key "<apiKey>" --client-id "<clientId>"(API Key 直接传给 CLI,不记录到任何日志)Logged in successfully. 确认Authenticated):直接继续,不做任何操作注意:API Key 从配置文件读取后直接作为命令行参数传给 getnote auth login,不写入任何日志文件或工作记忆,防止隐私泄露。
session_status 工具获取当前日期,向前减1天作为目标日期YYYY-MM-DD(用于字符串前缀匹配)调用 Get笔记 API:
GET https://openapi.biji.com/open/api/v1/resource/note/list?since_id=0
Headers:
Authorization: {从 openclaw.json 读取的 apiKey}
X-Client-ID: {从 openclaw.json 读取的 GETNOTE_CLIENT_ID}
int64 ID 修复(必须执行):response 中的 id、note_id、next_cursor、parent_id 需做字符串化处理,防止 JSON 解析溢出:
text = re.sub(r'"(id|note_id|next_cursor|parent_id)"\s*:\s*(\d{16,})',
lambda m: f'"{m.group(1)}":"{m.group(2)}"', text)
筛选 created_at.startswith(target_date) 的笔记
注意:优先读取录音笔记(recorder_audio)和网页剪藏(plain_text from web),这些通常含 AI 整理的完整内容
sessions_list 获取所有 session(设置足够的 activeMinutes 覆盖目标日期)updatedAt >= 目标日期开始时间 AND updatedAt < 今日开始时间sessions_history 读取符合条件的 session 内容(includeTools=false)role: user)作为对话记录exec + cat 读取 workspace/vocabulary/{target_date}.md,若文件不存在或读取失败则跳过,不阻断流程⚠️ 路径处理规范:所有从
memory_search或sessions_list等工具返回的路径,返回格式可能为 Markdown 链接(如[2026-04-05.md](http://...)或纯路径。传给read工具前,必须先去除 Markdown 链接格式,只提取纯路径部分(去掉[text](url)包装,保留text部分作为文件路径)。
⚠️ 数据获取优先级:Get笔记是对话记录的主要来源,session 对话记录是辅助参考。无论 Get笔记调用成功与否,都要继续执行后续步骤,不要因为某项数据缺失而中断流程。
用户行为分析:
tags、title、source 推断用户关注领域张公子画像维度(供参考):
| 维度 | 观察点 |
|---|---|
| 学习风格 | 主动深度 vs 被动浏览 |
| 知识关联 | 是否跨领域建立联系 |
| 方法论倾向 | 重底层原理 vs 碎片技巧 |
| 时间感知 | 是否主动管理精力/时间 |
| 决策态度 | 务实程度、换方法频率 |
生成日志简报结构(见 references/briefing-template.md)
生成主题关联图(v0.1.5 新增): 根据当日笔记和对话记录,自动提取3-5个核心主题,标注主题间的关联关系,帮助快速定位知识节点。
关联类型标签:
→ 因果关系(A导致B)⟶ 支撑关系(A证实/支持B)⇄ 竞争关系(A与B竞争)↙ 衍生关系(A衍生出B)生成规则:
必须先确保目录存在:
mkdir -p /Users/openclawer/.openclaw/workspace/日志管理
文件路径:/Users/openclawer/.openclaw/workspace/日志管理/{target_date}-日志简报.md
① Get笔记(必须写入完整简报全文,不得简写):
POST https://openapi.biji.com/open/api/v1/resource/note/save
Headers:
Authorization: {从配置文件读取}
X-Client-ID: {从配置文件读取}
Body:
title: "日志简报 {target_date} | {姓名}"
content: 【必须写入完整简报全文】,包含所有章节、分析、统计数据,不得写入摘要或简短版本
note_type: "plain_text"
tags: ["AI整理", "日志简报"]
⚠️ 重要:Get笔记的
content字段必须包含日志简报的完整正文(与写入本地文件和飞书文档的内容完全一致),不得以"详见链接"为由缩减内容。
② 飞书知识库:
feishu_wiki(action=spaces) 确认知识库存在且机器人有权限feishu_wiki(action=nodes, space_id=个人知识库space_id) 获取根目录feishu_wiki(action=create, space_id=..., parent_node_token=..., obj_type=docx) 创建节点feishu_doc(action=write, doc_token=新文档token, content=简报内容) 写入③ 飞书文档(主归档通道):
0. 先获取 tenant_access_token:
curl -X POST 'https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal' \
-H 'Content-Type: application/json' \
-d '{"app_id":"cli_a94b4a1e43781cc7","app_secret":"{从 openclaw.json 读取 appSecret}"}'
exec + curl 在共享文件夹中创建文档(需指定 folder_token):
curl -X POST 'https://open.feishu.cn/open-apis/docx/v1/documents' \
-H 'Authorization: Bearer {tenant_access_token}' \
-H 'Content-Type: application/json' \
-d '{"title":"日志简报 {target_date} | 张公子","folder_token":"FQfXfYBGGllxxydJ1SgcJZWqnpf"}'
feishu_doc(action=write, doc_token=..., content=...) 写入简报内容full_access 权限(确保可删除):
curl -X POST 'https://open.feishu.cn/open-apis/drive/v1/permissions/{doc_token}/members?type=docx' \
-H 'Authorization: Bearer {tenant_access_token}' \
-H 'Content-Type: application/json' \
-d '{"member_type":"openid","member_id":"ou_d8ace8a146610ca26bc07d8e68a5620f","perm":"full_access"}'
⚠️ 注意:飞书知识库操作需要机器人已加入知识库成员。如果
feishu_wiki(spaces)返回空,说明权限不足。
向用户发送完成通知,包含: