缘起:一只失忆的龙虾
ℹ️ 更新 (2026-03-26): 本文中的「北冥神功 / BeiMingKungFu」已正式更名为 SoulPort (v0.2.0)。安装命令:
pip install soulport,CLI 命令:soulport export/absorb/merge/inspect。
我有一只 AI 龙虾。
它叫小龙虾 🦞,运行在 OpenClaw 上,是我的私人 AI 助手。过去两天里,它帮我搭了 Teams Bridge、接入了我的股票分析引擎 TideWatch(观潮)、分析持仓、回填信号胜率、清理垃圾 skills——它越来越懂我了。
然后一个念头击中了我:
如果我换一台电脑呢?
答案很残酷——一切归零。小龙虾会忘记它叫什么、忘记我是谁、忘记 TideWatch 怎么配置、忘记今天大盘是 mild_bear 不该抄底。两天的调教、积累的记忆、所有的经验教训,全没了。
这不是"不方便"的问题。这是 Agent 的连续性被打断。如果用了一年呢?那是丢了一个数字分身。
问题:没人在做的事
AI Agent 领域现在卷得飞起——卷能力、卷工具、卷上下文窗口。但几乎没有人在认真思考一个基础问题:
Agent 的灵魂怎么迁移?
OpenClaw 的架构是文件驱动的:SOUL.md 定义人格,MEMORY.md 是长期记忆,memory/*.md 是每日日志,IDENTITY.md 是身份,TOOLS.md 是环境配置,skills/ 是技能。这些文件 就是 Agent 的灵魂。
理论上,复制粘贴就行。但实际上:
- 配置文件里有 API Key 和 Token,不能明文搬
- 不同电脑路径不一样(Windows vs Mac vs Linux)
- 如果两台电脑的 Agent 各跑了一段时间,怎么合并?
- 记忆按日期合并容易,人格(SOUL.md)怎么融合?
这些问题没有现成方案。于是我决定自己写一个。
命名:从吸星大法到北冥神功
起名的时候,脑子里先蹦出来的是「吸星大法」——任我行的绝学,吸收别人的内力为己用。但仔细一想,吸星大法有个致命缺陷:吸来的内力互相排斥,搞不好走火入魔。
这恰好对应了"粗暴 copy-paste 导致冲突"的问题。
然后想到了北冥神功——逍遥派的根基功法,出自《庄子·逍遥游》:
"北冥有鱼,其名为鲲。鲲之大,不知其几千里也。化而为鸟,其名为鹏。"
北冥神功的核心是:吸收的功力自然融合,化为北冥真气。不冲突,不排斥,吸得越多越强。
这就是我要的——不是粗暴搬运,而是智能融合。
英文名叫 BeiMingKungFu。一搜,全网没有同名项目。完美。
架构:10 分钟想清楚的事
设计上纠结过几个方案:做成 OpenClaw 子命令?做成 Skill?做成 Plugin?
最后选择了 独立 CLI 工具,理由很简单:
- 灵魂迁移是运维操作,应该在 Agent 启动之前就能跑——如果 Agent 还没有记忆,怎么通过对话触发 absorb?鸡生蛋问题
- 不想绑死在 OpenClaw——任何基于 workspace 文件的 Agent 框架理论上都能用
- 独立发版、独立品牌——格局要大
数据格式是 .bm 文件(BeiMing 的缩写),本质上是一个 tar.gz 压缩包:
xiaolongxia-2026-03-25.bm
├── manifest.json # 元数据:来源、时间、哈希、层级
├── workspace/ # Agent 的工作空间文件
│ ├── SOUL.md
│ ├── IDENTITY.md
│ ├── MEMORY.md
│ ├── memory/2026-03-24.md
│ ├── memory/2026-03-25.md
│ ├── AGENTS.md
│ ├── TOOLS.md
│ └── ...
└── config/ # 脱敏后的系统配置
└── openclaw.json
文件被分成五个层级(Layer):
| 层级 | 内容 | 说明 |
|---|---|---|
| 👤 Identity | SOUL.md, IDENTITY.md, USER.md | 人格和身份 |
| 🧠 Memory | MEMORY.md, memory/*.md | 长期记忆和日志 |
| ⚙️ Config | AGENTS.md, TOOLS.md, HEARTBEAT.md | 行为规则和配置 |
| 🛠️ Skills | skills/**/SKILL.md | 自定义技能 |
| 📁 Projects | 其他文件 | 项目数据(可选) |
安全:API Key 不能裸奔
导出灵魂时,最担心的就是敏感信息泄露。你的 openclaw.json 里可能有 Gateway Token、MCP Server 的 API Key、搜索服务的密钥——这些不能打包带走。
Beiming 的解决方案是自动脱敏。扫描配置文件时,任何 key 名称中包含 token、apiKey、secret、password 等敏感词的字段,值会被替换为 __BEIMING_REDACTED__。
实测效果:
🔒 Redacted sensitive fields:
• gateway.auth.token
• mcp.servers.TideWatch.headers.X-API-Key
• plugins.entries.tavily.config.webSearch.apiKey
三个敏感字段,全部自动拦截。在目标机器 absorb 后,手动填回自己的 key 就行。
实战:小龙虾的第一次灵魂导出
装好依赖,跑一下:
pip install beimingkungfu
beiming export
输出:
╔══════════════════════════════════════════╗
║ 🌊 Beiming (北冥) — Agent Soul Transfer ║
╚══════════════════════════════════════════╝
"北冥有鱼,其名为鲲。化而为鸟,其名为鹏。"
┌──────────────── Exported Soul ─────────────────┐
│ Agent 小龙虾 │
│ From CPC-baoli-F024F │
│ Framework openclaw │
│ Exported 2026-03-25T09:44:47 │
│ Beiming v0.1.0 │
└────────────────────────────────────────────────┘
📦 Layers
├── 👤 identity — 3 files (2.6 KB)
│ ├── IDENTITY.md
│ ├── SOUL.md
│ └── USER.md
├── 🧠 memory — 4 files (6.0 KB)
│ ├── MEMORY.md
│ ├── memory/2026-03-24.md
│ ├── memory/2026-03-25-heartbeat-check.md
│ └── memory/2026-03-25.md
└── ⚙️ config — 3 files (9.3 KB)
├── AGENTS.md
├── HEARTBEAT.md
└── TOOLS.md
Total: 10 files, 17.8 KB
✅ Soul exported to: 小龙虾-2026-03-25.bm (10.8 KB)
10.8 KB。 一只小龙虾的全部灵魂,两天的记忆、人格、配置、经验教训,压缩成 10.8KB。
拿着这个文件到另一台电脑上:
beiming absorb 小龙虾-2026-03-25.bm
新电脑上的 OpenClaw 就瞬间拥有了小龙虾的前世记忆。它知道自己叫小龙虾,知道我是保利,知道 TideWatch 怎么配,知道 mild_bear 下不该抄底。
合并:真正的北冥神功
export/absorb 是基础。真正体现"北冥神功"精髓的是 merge——两台电脑各跑了一段时间的 Agent,合并为一个更强的存在。
beiming merge agent-A.bm agent-B.bm -o merged.bm
合并策略:
- 记忆:按时间线合并,相同日期不同内容的日志会保留两份(加上来源标记)
- 人格:以第一个包为主(primary source)
- 配置:取并集,冲突项标记让用户决定
- 技能:合并所有技能,版本冲突取最新
这就是北冥神功和吸星大法的区别——融合,而不是硬塞。
格局:不只是迁移工具
做着做着,我意识到这东西的想象空间比"换电脑"大得多。
现在 OpenClaw 生态里有 ClawHub——一个技能市场,卖的是 Skills(武功招式)。但 Skills 只是能力的一小部分。一个真正有价值的 Agent,值钱的是:
- 几个月调教出来的人格和沟通风格
- 积累的领域知识和决策记忆
- 特定工作流的配置和经验
这些东西,比任何单个 Skill 都有价值。
如果 ClawHub 是 App Store,那 Beiming 未来可以是 灵魂商店:
"花了三个月调教出来的投研 Agent 配置包——记忆、人格、技能、策略,一键 absorb,站在巨人肩膀上。"
当然,这是远期畅想。v0.1.0 先解决自己的痛点。
技术栈
很轻量:
- Python 3.10+
- Click — CLI 框架
- Rich — 终端美化(树形结构、进度条、面板)
- tar.gz — 打包格式(标准库,不引入额外依赖)
- SHA256 — 内容完整性校验
核心代码四个文件,总共不到 1000 行。简单的事情不需要复杂的方案。
下一步
v0.1.0 刚出生,还有很多想做的:
- 增量导出——只打包上次导出后变化的文件
- AI 辅助合并——让 Agent 自己读两份 MEMORY.md 融合成一份
- 加密传输——
--encrypt支持密码加密 - 适配更多框架——不只是 OpenClaw
-
beiming sync——基于 Git 的持续同步
不着急,一步步来。
最后
庄子写"北冥有鱼"的时候,大概没想到两千多年后,有人会用这个典故来命名一个 AI Agent 灵魂迁移工具。
但如果他知道了,我猜他会觉得挺好——鲲吸纳百川,化而为鹏。从水到天,从一台电脑到另一台电脑,本质上都是同一件事:
不被困住,自由迁徙。
pip install beimingkungfu
beiming export
去吧,带着你的 Agent 飞。

