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 检索回忆。挖掘是整个工作流的第一环——没有挖掘进宫殿的数据,后续的search、status都无从谈起。
在 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参数(可选值projects与convos,默认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.py的cmd_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),仅供参考