MemPalace 数据挖掘实战:Claude Code 中用 /mempalace:mine 命令把项目与对话沉淀进记忆宫殿
2026/9/7 3:27:32 网站建设 项目流程

MemPalace 数据挖掘实战:Claude Code 中用 /mempalace:mine 命令把项目与对话沉淀进记忆宫殿

【免费下载链接】mempalaceThe best-benchmarked open-source AI memory system. And it's free.项目地址: https://gitcode.com/GitHub_Trending/me/mempalace

本文以 Claude Code 插件中的/mempalace:mine命令为切入点,完整讲解 MemPalace 的挖掘(mine)能力:三种挖掘模式(项目文件、对话导出、自动分类)、--wing--extract等关键参数、超大文件预拆分技巧,以及挖掘完成后的验证与后续动作。读完后你可以直接把代码仓库、Claude/ChatGPT/Slack 对话导出导入 MemPalace 记忆宫殿,并用mempalace search检索其中沉淀的决策、里程碑与问题记录。

mine 命令在 MemPalace 中的定位

MemPalace 是一个开源的 AI 记忆系统:它把项目代码、文档和对话"挖掘"(mine)进一个可搜索的本地记忆宫殿(palace),再通过 MCP 工具供 Claude Code、Cursor、Codex 等 Agent 检索回忆。挖掘是整个工作流的第一环——没有挖掘进宫殿的数据,后续的searchstatus都无从谈起。

在 Claude Code 中,.claude-plugin/commands/mine.md定义了/mempalace:mine斜杠命令。该命令本身只是一个"引导入口",其 frontmatter 声明了:

  • description: Mine projects and conversations into the MemPalace. Supports project files, conversation exports, and auto-classification.
  • argument-hint: Path to project or conversation export to mine.
  • allowed-tools: Bash, Read, Write, Edit, Glob, Grep

正文只有一句话核心指令:调用通用 mempalace 技能并执行mine指令,然后遵循其输出的步骤。也就是说,/mempalace:mine不是把流程硬编码在命令里,而是运行时通过 CLI 动态拉取"版本正确"的操作指引。仓库中同目录的 mempalace-mine.md 给出了具体路径:

mempalace instructions mine

然后在终端里逐步执行它打印出来的步骤。这种设计的好处是:文档不会和实际安装的 MemPalace 版本脱节——instructions由当前安装的 CLI 动态生成(mempalace/instructions_cli.py 负责渲染 mempalace/instructions/ 目录下的模板,其中挖掘指引就是 mempalace/instructions/mine.md)。

mempalace instructions mine打印的步骤可以归纳为六步,下面逐节展开。

第一步:明确挖掘对象

执行挖掘前先和工具确认三件事:

  • 目标是项目目录(代码、文档、笔记)还是对话导出(Claude Code、Claude.ai、ChatGPT、Slack);
  • 数据源的具体路径在哪里;
  • 是否希望开启自动分类(把内容归类为 decisions / milestones / problems)。

三种挖掘模式与核心命令

MemPalace 提供三种挖掘模式,对应 cli.py 中mine子命令的--mode参数(可选值projectsconvos,默认projects):

1. 项目挖掘(默认模式)

mempalace mine <dir>

从项目目录中挖掘代码文件、文档和笔记。<dir>是要挖掘的项目目录。这是日常最常用的模式,适合把整个代码库的结构、接口约定、架构决策沉淀进宫殿。

2. 对话挖掘

mempalace mine <dir> --mode convos

从 Claude、ChatGPT 或 Slack 的对话导出目录中挖掘对话内容。注意--mode convos下位置参数也可以是单个对话文件(cli.py 中dir参数帮助文本即 "Directory to mine, or one conversation file with --mode convos")。CLI 帮助文本给出了一个典型用法:

mempalace mine ~/.claude/projects/-Users-you-Projects-my_app --mode convos --wing my_app

即把 Claude Code 为该应用生成的会话历史(位于~/.claude/projects/下)挖掘进宫殿并归入my_app分区。

3. 通用抽取(自动分类)

mempalace mine <dir> --mode convos --extract general

在对话挖掘的基础上开启自动分类:挖掘到的内容会被自动归入decisions(决策)、milestones(里程碑)、problems(问题)三类。分类逻辑由 mempalace/general_extractor.py 实现,并有 tests/test_general_extractor.py 覆盖。这是想让记忆宫殿"结构化可检索"而非仅做全文搜索时的推荐模式。

用 --wing 组织挖掘结果

Wing(分区)是宫殿中对内容分组的一级组织单位,一个项目/应用通常对应一个 wing。挖掘时通过--wing显式指定:

mempalace mine <dir> --wing <name>

从 cli.py 的参数定义可以看到,--wing的默认值是"目录名"(default: directory name),即不指定时按源目录名归组。显式指定 wing 的价值在于:后续检索时可以直接按 wing 过滤,例如:

mempalace search "pricing discussion" --wing my_app --room costs

同一 wing 内还会按 room(房间)做二级归类。如果你需要理解 wing 的完整数据模型,可参考 docs/schema.sql 与 website/concepts/the-palace.md;wing 迁移相关的运维文档见 docs/recovery/wing-name-migration.md。

超大文件预拆分:mempalace split

如果源目录里存在把大量会话拼接在一起的"巨型文件",挖掘前建议先拆分。指引文档(mempalace/instructions/mine.md)给出:

mempalace split <dir> [--dry-run]

先用--dry-run预览将被拆分的内容而不实际改动。结合 cli.py 中split子命令的完整参数定义,实际可用的参数比文档示例更丰富:

mempalace split <dir> [options]
参数说明
dir包含 transcript 文件的目录(必填位置参数)
--out <dir>拆分文件写出目录,默认与源文件同目录
--dry-run只显示将如何拆分,不写文件
--min-sessions <N>仅拆分至少包含 N 个会话的文件,默认 2

实现位于 mempalace/split_mega_files.py,测试见 tests/test_split_mega_files.py。cli.pycmd_split会将~展开并解析为绝对路径后转发给该模块的main()

执行、观察进度与结果汇总

选定模式后运行对应命令,挖掘过程中会实时展示进度。从 cli.py 的调用链看,mine子命令最终分发到cmd_mine,而挖掘的实际执行会经由_submit_daemon_cli_job("mine", ...)提交给本地守护进程(daemon)异步完成,并且支持--background参数让挖掘在后台跑,这解释了为什么挖掘大目录时终端可以持续输出进度而不阻塞。

挖掘完成后,建议核对三项输出:

  • 挖掘条目数(Number of items mined);
  • 应用了哪些分类(decisions / milestones / problems);
  • 警告与被跳过的文件(编码异常、空文件等)。

编码相关的健壮性处理见 mempalace/encoding_repair.py 与 scripts/mempalace_repair_encoding.py。

挖掘之后的验证与后续动作

挖掘完成后,指引文档建议依次尝试:

mempalace search "你刚挖掘内容里的关键词" # 检索新挖掘的内容 mempalace status # 查看宫殿当前状态

status用于确认宫殿位置、条目规模与后端状态;search则验证内容真的可被检索到(支持--wing--room过滤)。之后还可以:

  • 对更多来源(其他项目、其他对话导出目录)重复挖掘,持续扩充宫殿;
  • 在共享大脑(shared-brain)场景下,把本机的挖掘结果同步给 hub。

小结

/mempalace:mine在 Claude Code 插件中是一个"动态指引型"命令:它不固化流程,而是运行时执行mempalace instructions mine拉取与已安装版本一致的挖掘指引,再逐步执行。掌握其三种模式(默认项目挖掘、--mode convos对话挖掘、--extract general自动分类)、--wing归组、mempalace split预拆分这几点,就能把项目与对话可靠地沉淀为可检索的记忆宫殿数据。相关源码与测试入口汇总:

  • 命令参数定义与分发:mempalace/cli.py
  • 挖掘指引模板:mempalace/instructions/mine.md
  • 巨型文件拆分:mempalace/split_mega_files.py、tests/test_split_mega_files.py
  • 通用抽取分类:mempalace/general_extractor.py、tests/test_general_extractor.py
  • 对话挖掘:mempalace/convo_miner.py、tests/test_convo_miner.py

【免费下载链接】mempalaceThe best-benchmarked open-source AI memory system. And it's free.项目地址: https://gitcode.com/GitHub_Trending/me/mempalace

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询