SuperAPI AI 工具集

memory-to-skill

智能体与模型

查看项目

更新于 10-16 06:03

技能介绍

用途

memory-to-skill 管理 MemSearch 的程序性记忆:把重复执行的工作流程提炼为技能。它是日常日志(情景记忆)与 PROJECT.md / USER.md(语义记忆)之外的第三层。使用时应说明这是 MemSearch 的技能提炼,而非宿主 agent 内置的技能系统。

主要能力

技能提炼分为三个阶段:0 记忆日志 → 1 候选(存放在 .memsearch/skill-candidates/,一个由 git 跟踪、持续演进的存储)→ 2 已安装(agent 技能目录)。候选永远不会被自动安装,安装始终是人工步骤。用户请求可以只停留在候选创建/审查,也可以在明确批准后于同一轮继续安装,需匹配用户请求的阶段。

意图路由:

  • “make/turn this into a skill”“from what we just did” → A. 立即捕获。
  • “what skills / review candidates / install X” → B. 审查与安装。
  • “mine my history / find recurring workflows” → C. 从历史提炼。
  • “enable / configure / how eager” → D. 配置。
  • 不明确或为空 → 运行 B 的列表;若为空,则提供 A 或 C。

使用方式

A. 捕获你刚做的事(0→1→2)

你已拥有上下文,因此自己起草技能——不要为此调用后台提炼器。编写 SKILL.md 正文(markdown,无 frontmatter):针对重复任务的祈使式编号步骤、具体命令与路径、不含机密、自包含。

要精确——不要猜测。你拥有刚完成操作的实时会话,因此使用真实命令、路径和输出,而非近似值。若某细节不确定,验证它(重读相关文件或记录)或将该步骤保持笼统——错误的命令比模糊的命令更糟。然后将其持久化为候选:

printf '%s' "## <title>\n\n1. ...\n2. ..." | memsearch skills add \
  --name "<short-slug>" \
  --description "<what it does AND when it should trigger — lead with the verbs a user types>" \
  --body-file -

add 会处理 slug 化、标准 frontmatter、meta.json 和 git 提交——不涉及 LLM。然后展示给用户;仅在用户要求或明确批准时安装(见 B)。最后检查后台提炼是否开启;若未开启,提议启用它(以便今后自动捕获重复工作流)——不要强制。

B. 审查与安装候选(1→2)

memsearch skills status          # pending candidate versions needing install
memsearch skills list            # add -j for sources / installed paths
git -C .memsearch/skill-candidates log --oneline -5 2>/dev/null || true

skills status 将每个候选当前的 SKILL.md 内容哈希与上次 skills install 记录的哈希进行比较。它不检查实时 agent 技能目录。待安装的已安装技能意味着候选源在上次有意安装后发生了演进;仅在审查候选后重新安装。

在推荐或安装前,浏览候选正文:若某步骤看起来不确定或概括松散,对照来源重新检查(必要时打开记录)或向用户标记并让其决定——安装会原样复制候选,因此这是发现错误步骤的最后机会。展示候选时,在有助于解释候选是新增、演进、移除还是重建时,提及存储的近期 git 历史。

将安装视为交互式检查点。展示候选,在安装前应用任何请求的调整,并与用户确认安装目标。先从配置解析安装目标:若 paths 是非空列表,将这些路径作为建议目标呈现,并在确认后逐项作为 --path 传入。若为空,询问用户安装位置;不要静默回退到默认路径。

memsearch config get plugins.<platform>.memory_to_skill.paths 2>/dev/null || echo "[]"
memsearch skills install <name> --path <configured-or-user-approved-path>

将 <platform> 替换为你的平台键前缀(见参考文件)。安装后,提醒用户启动新的 agent 会话或重新打开对话,以便加载新安装的技能。

若列表为空,后台提炼很可能关闭或尚未运行。向用户提供选择:立即从近期工作捕获(A)、从历史提炼(C)或启用后台处理(D)。

C. 从历史挖掘重复工作流(0→1)

要从过去工作(不仅是当前会话)中提取技能,自己阅读近期日志——它们位于 .memsearch/memory/*.md——寻找跨多个会话重复出现的多步骤流程。起草每个真正可复用的流程,并用 memsearch skills add 持久化(每个技能一次调用),方式同 A。运用自己的判断:只提议重复且可泛化的流程,而非单日的一次性操作。

起草前深入原始记录。日志要点是有损摘要;确切的命令、标志和路径存在于原始记录中。每条日志条目都有一个锚点,命名记录文件。运行记录钻取(参见 memory-recall 技能的平台参考以获取确切命令)以获取带工具调用的原始轮次。据此编写技能。若所示摘录感觉不完整,在确定确切命令或路径前浏览同一原始来源附近的轮次。仅当该命令失败(未知格式)时才回退到直接读取原始文件。若无法确认某细节,保持步骤笼统或省略——绝不编造。

后台处理在启用时自动挖掘,从摘要开始;在此按需执行可让你更审慎地检查原始记录,因此结果可能更准确。

D. 配置

确切命令见平台参考文件:

memsearch config get plugins.<platform>.memory_to_skill.enabled 2>/dev/null || echo "false"
# enable the background pass globally (do not enable silently)
memsearch config set plugins.<platform>.memory_to_skill.enabled true
# how eagerly history-mining distils (default 3; lower = more eager)
memsearch config set plugins.<platform>.memory_to_skill.min_occurrences 3
# pre-set install targets (otherwise you are asked at install time)
memsearch config set plugins.<platform>.memory_to_skill.paths '[".agents/skills"]'

自 v0.4.11 起,项目本地 .memsearch.toml 仅接受白名单的本地索引键。不要对 plugins.* 设置(如 memory_to_skill.enabled、min_occurrences 或 paths)使用 --project;将它们放入全局配置。

注意:enabled 仅控制后台(会话结束)处理。上述显式命令(skills add、skills install)始终有效,你也可以直接挖掘历史(C)。

安装路径

平台特定的技能目录和推荐安装目标见平台参考文件。

适用场景

  • 用户要求把刚完成的工作变成技能。
  • 用户想查看、审查或安装候选技能。
  • 用户想从历史日志中挖掘重复出现的工作流。
  • 用户想启用或配置后台自动提炼。

限制

  • 候选永远不会被自动安装,安装始终是人工步骤。
  • 未经用户同意,绝不启用该功能、更改安装路径或安装候选。
  • 不要手工编辑存储;用 memsearch skills add 创建候选,让 .memsearch/skill-candidates/ 的 git 跟踪存储保留历史。
  • 平台特定的配置键前缀与安装路径说明需查阅对应平台参考文件(Claude Code、Codex、OpenClaw、OpenCode、DeepSeek Harness)。
  • 自 v0.4.11 起,项目本地 .memsearch.toml 仅接受白名单的本地索引键,plugins.* 设置需放入全局配置。