Install
openclaw skills install @yottameta/yotta-learn元习 —— 跨智能体的知识库技能:把跨项目可复用的经验、方法、避坑与教程沉淀进分类知识库(草稿 → 审核 → 可检索),供所有智能体与项目复用;首次使用由 AI 引导初始化知识库位置并自动接入 MCP。触发:值得沉淀的时刻(命令失败 / 被用户纠正 / 发现更好做法 / 知识过时 / 请求缺失能力 / 外部接口故障)与需要查询知识的时刻(开工前 / 动手解决不显然问题前 / 用户问"以前怎么解决的");或用户说 知识库 / kb / 查知识 / 记一笔 / 沉淀 / 经验 / 踩坑 / self-improvement / learnings 等。边界:私密 / 敏感信息不写入知识库(走元忆私密区);项目专属经验写项目自身文件;不自动改动系统文件。
openclaw skills install @yottameta/yotta-learn把「这次学到的」变成「下次可复用的」:跨项目通用的经验、方法、避坑与教程沉淀进分类知识库(KB),供后续会话与其他智能体检索复用。
| # | 判据 | 去向 |
|---|---|---|
| 1 | 私密 / 敏感(令牌、个人信息、关系、本机内部数据) | 元忆私密区(PREF / BOUND / COMMIT);绝不进 KB 与项目公开文件 |
| 2 | 只对当前项目成立(仓库怪癖、部署细节、项目决策依据) | 项目自身载体(AGENTS.md / docs / 项目状态与任务文件等),直接写目的地 |
| 3 | 跨项目可复用知识(方法 / 流程 / 避坑 / 教程) | 本技能 KB:kb add(草稿)→ 三问审核 → verified |
| 4 | 事实 / 结论 / 红线(跨项目共享的记忆型信息) | 元忆 FACT +(长期红线)机器级记忆锚点 |
| 5 | 已成熟、可流程化的经验 | 技能化(护栏 / 门禁 / 清单 / 规则) |
一句话:「事」进元忆,「法」进知识库,「项目专属」进项目,「未定形」进 KB 草稿。
适合写 KB(跨项目可复用的「法」):
不适合写 KB(按归位决策树去别处):
三问判定标准(写入与 kb review 同一标准):
身份与审核:
写库带身份:CLI 用 --agent <名字> 或设 YOTTA_LEARN_AGENT(MCP 用 agent 参数,缺省 mcp@<host>);不声明则审计记 unknown@<host>,来源断链。
审核口径:kb review --pass 必须过三问 + 有证据;敏感 / 重复命中用 --force --note 留审计。自审允许(逐条过三问并写明证据);跨智能体共享面 / 高价值条目建议由另一智能体或用户复核后再 verified(当前不强制阻断)。
写前查重:先 kb query / kb list,已有同题就更新,不新建。
旧 .learnings/ 已退役为遗留兼容(见下文专节):新知识不再默认写入。
什么时候写(按归位决策树定位后立即写,不积攒):
什么时候查(默认动作,不靠自觉):
kb query <关键词>(结果为空再动手);kb list --status draft 过一遍草稿。kb category list 看现有分类,能装下就复用;--tags;kb category merge / kb category deprecate 合并或停用碎片分类。首次加载本技能时,AI 先运行 kb config get 判定状态,然后:
~/.yottalearn/knowledge,可指定其它位置)→ 用户确认后执行初始化(默认位置直接 kb init;指定其它位置先 kb config set --dir <路径> 再 kb init);mcpServers(见「AI 接口(MCP)」),并写永久记忆护栏;未加载时自动降级 CLI;kb stats 确认可用(0 条也算成功激活)。位置由用户确认(数据主权);其余步骤全部由 AI 执行。同机后续智能体读取同一 ~/.yottalearn/config.json(单一真源),只需完成第 3 步的 MCP 接入即可共享同一库。
两种等价用法,按可用性择一:
yotta-learn <命令> —— 如 yotta-learn kb query 关键词、yotta-learn view(图形管理台)。python3 scripts/yotta_learn.py <命令> —— 与 CLI 完全等价。安装 / 更新技能本体(把技能装进智能体目录,不是装 CLI):
npx -y @yottameta/yotta-learn install --agent <名称> # 推荐:装到指定智能体用户级技能目录
npx -y @yottameta/yotta-learn --agent <名称> # 旧用法兼容(等价)
# 全局安装后专属安装器入口同样可用:yotta-learn-install --agent <名称>
~/.yottalearn/knowledge(配置 ~/.yottalearn/config.json);优先级 --dir > YOTTA_LEARN_KB > 配置 > 默认。旧版位置只读兼容:回退生效时写操作 fail-closed 并提示一次性迁移;迁移用 kb config set --dir <新位置> --move。categories/<slug>/(category.json + entries/ + index.json)+ 全局索引 + 审计 + 回收站 + 快照。KB-YYYYMMDD-XXX;状态机 draft(默认)→ verified → deprecated。--include-draft 可含草稿)。kb review <ID> --pass --evidence "..."(核验需证据);敏感 / 疑似重复会阻断,可用 --force --note "说明" 留审计放行。yotta-learn kb init # 初始化(幂等;已存在拒绝覆盖)
yotta-learn kb config get # 位置与状态(未初始化会给引导提示)
yotta-learn kb category create <slug> --name "..." --description "..."
yotta-learn kb add --category <slug> --title "..." --message "..." --source "..."
yotta-learn kb review <KB-ID> --pass --evidence "..."
yotta-learn kb query <关键词>
yotta-learn kb list --status draft
yotta-learn kb doctor # 体检
yotta-learn kb backup create --out <目录> # 备份
yotta-learn view # 图形管理台(仅 127.0.0.1:8791)
references/kb.md。scripts/yotta_learn_mcp.py(stdio;读 kb_query / kb_get / kb_list / kb_stats / kb_categories,写 kb_add / kb_review / kb_update / kb_deprecate / kb_category_*,运维 kb_doctor / kb_index_rebuild;写工具 fail-closed,与 CLI 同源)。
AI 自动接入:首次使用时把该 server 写入客户端 mcpServers 并写永久记忆护栏;未加载自动降级 CLI。配置示例:
{"mcpServers":{"yotta-learn":{"command":"python","args":["<技能目录>/scripts/yotta_learn_mcp.py"]}}}
.learnings 遗留兼容.learnings/(LEARNINGS / ERRORS / FEATURE_REQUESTS)是本技能旧版的项目内原始捕获区,现已退役为遗留形态:
log / list / review / update / resolve / promote / extract)全部保留,用于读取、处置与迁移已有条目;init 幂等,不覆盖任何已有文件。kb add --from-learning <LRN-ID> --category <slug> 转成 KB 草稿(仍走审核门);项目专属条目按决策树第 2 条写进项目自身文件。references/examples.md。log --remember 同步到元忆(yotta-memory);未安装 / 未初始化 / 失败自动降级(A / B / C),只提示、不阻断。见 hooks/ 目录:Claude Code(claude-settings.json)、Codex(codex-settings.json)、OpenClaw(openclaw-setup.md);activator.sh / error-detector.sh 为 Linux-only 可选 bash hook。当前 hook 仍指向遗留 .learnings 捕获路径,后续批次再改造。
.learnings 字段与示例kb query、kb list;Do NOT:不把私密 / 敏感信息写进 KB 与项目公开文件;不把项目专属经验塞进共享 KB;未初始化时先走激活引导,不假装可用。
日常排障先看 references/faq.md。