让两个Agent软件共用一套记忆
📖 适用场景
你可能需要这篇文章,如果:
- ✅ 同时使用多个Agent软件(如OpenClaw + 另一个AI助手)
- ✅ 希望它们共享同一套长期记忆和每日日记
- ✅ 想通过Git同步记忆文件(单位/家里两边工作)
- ✅ 把Agent workspace集成到现有项目(如Hexo博客)
🤔 核心问题
问题1:不同软件对记忆文件路径要求不同
- OpenClaw默认:读取
{workspace}/MEMORY.md(根目录) - 另一个软件默认:读取
{workspace}/memory/MEMORY.md(memory子文件夹)
结果:两边记忆不同步!
问题2:Workspace位置选择
- 默认位置:
C:\Users\Administrator\.qclaw\workspace-agent-xxx - 问题:无法通过Git同步,换电脑要重新配置
理想方案:把workspace放到可以通过Git同步的目录(如Hexo博客)
🎯 解决方案概览
- 迁移Workspace到可同步目录
- 统一记忆文件路径(通过符号链接或配置调整)
- 配置Skills路径(让技能也能Git同步)
- 处理Hexo博客兼容性(防止被当成文章渲染)
- 设置Git同步(选择性同步记忆文件)
🚀 详细操作步骤
第一步:迁移Workspace
1.1 查看当前配置
# 查看当前workspace路径
openclaw config get | Select-String -Pattern "workspace"
输出示例:
"workspace": "C:\\Users\\Administrator\\.qclaw\\workspace-agent-fd5ba866"
1.2 复制配置文件到新位置
$sourcePath = "C:\Users\Administrator\.qclaw\workspace-agent-fd5ba866"
$targetPath = "D:\temp\guotugongjuxiang\source\_posts\.workbuddy"
# 需要复制的核心配置文件
$filesToCopy = @(
"AGENTS.md", # 工作规则
"SOUL.md", # 人格设定
"USER.md", # 用户信息
"TOOLS.md", # 工具配置
"MEMORY.md", # 长期记忆
"HEARTBEAT.md", # 心跳任务
"IDENTITY.md", # 身份信息
"DREAMS.md" # 梦境记录(如已关闭可跳过)
)
foreach ($file in $filesToCopy) {
$sourceFile = Join-Path $sourcePath $file
$targetFile = Join-Path $targetPath $file
if (Test-Path $sourceFile) {
if (-not (Test-Path $targetFile)) {
Copy-Item -Path $sourceFile -Destination $targetFile -Force
Write-Host "✅ 已复制: $file"
} else {
Write-Host "⚠️ 已存在(保留新位置): $file"
}
}
}
1.3 修改OpenClaw配置
# 方法1:使用OpenClaw API修改(推荐)
openclaw config patch '{
"agents": {
"list": [
{
"id": "agent-fd5ba866",
"workspace": "D:\\temp\\guotugongjuxiang\\source\\_posts\\.workbuddy"
}
]
}
}'
或通过gateway工具(在OpenClaw对话中):
使用gateway工具,action=config.patch,修改agent-fd5ba866的workspace路径
1.4 重启OpenClaw
配置修改后会自动触发重启,或手动重启:
openclaw gateway restart
第二步:统一记忆文件路径
2.1 问题分析
- OpenClaw默认读
{workspace}/MEMORY.md - 另一个软件读
{workspace}/memory/MEMORY.md - 需要让两边指向同一个文件
2.2 方案A:符号链接(推荐,但需管理员权限)
# 以管理员身份运行CMD,执行:
mklink "D:\temp\guotugongjuxiang\source\_posts\.workbuddy\MEMORY.md" ^
"D:\temp\guotugongjuxiang\source\_posts\.workbuddy\memory\MEMORY.md"
优点:
- 两边都能用
- 修改任意一个,另一个自动同步
缺点:
- 需要管理员权限
- Windows符号链接可能被Git误处理
2.3 方案B:修改OpenClaw配置(推荐,无需特殊权限)
思路:让OpenClaw也读 memory/MEMORY.md
- 确保
memory/MEMORY.md存在且是最新版本
$workspacePath = "D:\temp\guotugongjuxiang\source\_posts\.workbuddy"
# 如果根目录的MEMORY.md更新,同步到memory文件夹
Copy-Item -Path (Join-Path $workspacePath "MEMORY.md") `
-Destination (Join-Path $workspacePath "memory\MEMORY.md") -Force
- 修改
AGENTS.md,明确指定记忆文件路径
编辑 D:\temp\guotugongjuxiang\source\_posts\.workbuddy\AGENTS.md,找到 ## Memory 部分,修改为:
## Memory
You wake up fresh each session. These files are your continuity:
- **Daily notes:** `memory/YYYY-MM-DD.md` (create `memory/` if needed) — raw logs of what happened
- **Long-term:** `memory/MEMORY.md` — your curated memories, like a human's long-term memory
⚠️ **Important**: The long-term memory file is at `memory/MEMORY.md` (NOT root `MEMORY.md`).
This is to be compatible with other software that expects memory files in the `memory/` folder.
- 删除根目录的旧
MEMORY.md
$workspacePath = "D:\temp\guotugongjuxiang\source\_posts\.workbuddy"
Remove-Item -Path (Join-Path $workspacePath "MEMORY.md") -Force
- 验证OpenClaw能正常工作
重启后,OpenClaw会:
- 读
AGENTS.md - 看到记忆文件路径是
memory/MEMORY.md - 从这个位置加载长期记忆
第三步:配置Skills路径(可选)
3.1 为什么要把Skills放workspace下?
- ✅ Git同步:单位和家里电脑都能用
- ✅ 版本管理:通过Git追踪技能修改历史
- ✅ 集中管理:配置、记忆、技能都在一个文件夹
3.2 修改OpenClaw配置
# 使用gateway工具(在OpenClaw对话中)
# action=config.patch,添加skills.load.extraDirs
配置内容:
{
"skills": {
"load": {
"extraDirs": [
"D:\\temp\\guotugongjuxiang\\source\\_posts\\.workbuddy\\skills",
"C:\\Program Files\\QClaw\\v0.2.25.551\\resources\\openclaw\\config\\skills",
"~/.openclaw/workspace/skills",
"~/.agents/skills",
"C:\\Users\\Administrator\\.qclaw\\skills",
"C:\\Users\\Administrator\\.qclaw\\skillhub-skills",
"~/.openclaw/skills"
]
}
}
}
关键点:
- ✅ 把workspace skills路径放在最前面(优先级最高)
- ✅ 这样你可以方便地覆盖系统技能
3.3 创建Skills文件夹
$workspacePath = "D:\temp\guotugongjuxiang\source\_posts\.workbuddy"
$skillsPath = Join-Path $workspacePath "skills"
if (-not (Test-Path $skillsPath)) {
New-Item -Path $skillsPath -ItemType Directory -Force
Write-Host "✅ 已创建skills文件夹:$skillsPath"
}
3.4 迁移现有技能(可选)
# 查看当前已安装的技能
Get-ChildItem -Path "C:\Users\Administrator\.qclaw\skills" | Select-Object Name
# 复制技能到workspace(举例)
Copy-Item -Path "C:\Users\Administrator\.qclaw\skills\出试题" `
-Destination "D:\temp\guotugongjuxiang\source\_posts\.workbuddy\skills\" `
-Recurse -Force
第四步:处理Hexo博客兼容性
4.1 问题
Hexo会把 source/_posts/ 下的所有 .md 文件当成博客文章生成HTML。
你的workspace在 .workbuddy 文件夹,里面的 .md 文件(如 AGENTS.md、MEMORY.md)也会被处理!
4.2 解决方案
方法1:修改Hexo配置(推荐)
编辑 D:\temp\guotugongjuxiang\_config.yml,添加:
# 防止 .workbuddy 被渲染
skip_render:
- ".workbuddy/**"
- ".workbuddy/**/*"
方法2:在 .workbuddy 文件夹中添加空 _config.yml
New-Item -Path "D:\temp\guotugongjuxiang\source\_posts\.workbuddy\_config.yml" `
-ItemType File -Force
Hexo会自动忽略有 _config.yml 的子文件夹。
4.3 验证
# 本地预览
cd "D:\temp\guotugongjuxiang"
hexo clean
hexo generate
hexo server
# 访问 http://localhost:4000
# 检查 .workbuddy 下的文件是否被正确忽略
第五步:设置Git同步
5.1 初始化Git仓库(如果还没有)
cd "D:\temp\guotugongjuxiang"
git init
5.2 配置 .gitignore
编辑 D:\temp\guotugongjuxiang\.gitignore,添加:
# OpenClaw 临时文件(不同步)
.workbuddy/.openclaw/
.workbuddy/automations/
# 如果想排除技能文件夹(太大或含敏感信息)
# .workbuddy/skills/
5.3 选择性同步记忆文件
cd "D:\temp\guotugongjuxiang"
# 只添加记忆文件
git add .workbuddy/memory/
git add .workbuddy/memory/MEMORY.md
# 提交
git commit -m "更新OpenClaw记忆文件"
# 推送
git push
5.4 在新电脑上拉取
# 克隆仓库
git clone <your-repo-url> "D:\temp\guotugongjuxiang"
# 修改OpenClaw配置,指向新路径
openclaw config patch '{
"agents": {
"list": [
{
"id": "agent-fd5ba866",
"workspace": "D:\\temp\\guotugongjuxiang\\source\\_posts\\.workbuddy"
}
]
}
}'
🔧 常见问题排查
Q1:OpenClaw重启后找不到workspace?
可能原因:
- 路径写错(反斜杠需要转义:
\\) - 文件夹权限不足
解决方法:
# 检查路径是否存在
Test-Path "D:\temp\guotugongjuxiang\source\_posts\.workbuddy"
# 检查配置文件是否正确
Get-Content "C:\Users\Administrator\.qclaw\openclaw.json" -Raw | ConvertFrom-Json | `
Select-Object -ExpandProperty agents | `
Select-Object -ExpandProperty list | `
Where-Object { $_.id -eq "agent-fd5ba866" } | `
Select-Object workspace
Q2:记忆文件没有同步?
可能原因:
AGENTS.md没有正确指定路径- OpenClaw还在读根目录的
MEMORY.md(已删除但缓存未清理)
解决方法:
- 检查
AGENTS.md内容
Get-Content "D:\temp\guotugongjuxiang\source\_posts\.workbuddy\AGENTS.md" `
-TotalCount 50
确认有这一段:
- **Long-term:** `memory/MEMORY.md` — your curated memories
- 手动触发OpenClaw重新读取
在OpenClaw对话中说:
请重新读取 AGENTS.md 和 memory/MEMORY.md
Q3:Hexo生成了垃圾页面?
可能原因:
skip_render配置不正确.workbuddy文件夹被当成普通文章文件夹
解决方法:
- 检查Hexo配置
Get-Content "D:\temp\guotugongjuxiang\_config.yml" | Select-String -Pattern "skip_render"
- 清理已生成的垃圾页面
cd "D:\temp\guotugongjuxiang"
hexo clean
hexo generate
- 如果还是不行,把
.workbuddy移出source/_posts/
# 移到项目根目录
Move-Item "D:\temp\guotugongjuxiang\source\_posts\.workbuddy" `
"D:\temp\guotugongjuxiang\.workbuddy"
# 修改OpenClaw配置
openclaw config patch '{
"agents": {
"list": [
{
"id": "agent-fd5ba866",
"workspace": "D:\\temp\\guotugongjuxiang\\.workbuddy"
}
]
}
}'
Q4:Skills没有加载?
可能原因:
extraDirs路径写错- 技能文件夹结构不正确
解决方法:
- 检查配置
openclaw config get | Select-String -Pattern "extraDirs" -Context 10
- 检查技能文件夹结构
技能应该这样放:
.workbuddy/skills/
├── my-skill-1/
│ ├── SKILL.md
│ └── scripts/
├── my-skill-2/
│ ├── SKILL.md
│ └── assets/
└── ...
- 重启OpenClaw
openclaw gateway restart
📊 完整文件结构(最终)
D:\temp\guotugongjuxiang\ # Hexo博客根目录
├── source\_posts\.workbuddy\ # OpenClaw Workspace
│ ├── AGENTS.md # ✅ 工作规则(指定memory/MEMORY.md)
│ ├── SOUL.md # ✅ 人格设定
│ ├── USER.md # ✅ 用户信息
│ ├── TOOLS.md # ✅ 工具配置
│ ├── HEARTBEAT.md # ✅ 心跳任务
│ ├── IDENTITY.md # ✅ 身份信息
│ ├── DREAMS.md # ✅ 梦境记录(已关闭可删除)
│ ├── memory\ # ✅ 记忆文件夹
│ │ ├── MEMORY.md # ✅ 长期记忆(主文件,两边共享)
│ │ ├── 2026-06-09.md # ✅ 每日日记
│ │ ├── 2026-06-10.md
│ │ └── ...
│ ├── skills\ # ✅ 技能文件夹(Git同步)
│ │ ├── my-skill-1\
│ │ └── my-skill-2\
│ ├── .openclaw\ # ⚠️ 临时文件(不同步)
│ └── automations\ # ⚠️ 自动化脚本(不同步)
├── source\_posts\ # Hexo文章文件夹
│ ├── post-1.md
│ ├── post-2.md
│ └── ...
├── _config.yml # ✅ Hexo配置(含skip_render)
└── .gitignore # ✅ Git忽略规则
💡 最佳实践建议
1. 定期备份记忆文件
# 每天自动提交记忆文件(通过Heartbeat或Cron)
git add .workbuddy/memory/
git commit -m "自动备份记忆文件 $(Get-Date -Format 'yyyy-MM-dd')"
git push
2. 使用分支管理不同环境
# 家里电脑用 main 分支
git checkout main
# 单位电脑用 work 分支
git checkout -b work
# 定期合并
git checkout main
git merge work
3. 文档化你的配置
在 AGENTS.md 或 TOOLS.md 中记录:
## Workspace配置
- **路径**: `D:\temp\guotugongjuxiang\source\_posts\.workbuddy`
- **Git仓库**: `https://github.com/yourname/guotugongjuxiang.git`
- **同步频率**: 每天自动提交
- **Hexo兼容性**: 已配置 `skip_render`
🎉 总结
完成以上步骤后,你将拥有:
- ✅ 统一的记忆系统:OpenClaw和另一个软件共享
memory/MEMORY.md - ✅ Git同步能力:单位和家里电脑无缝切换
- ✅ 技能集中管理:所有技能在workspace下,版本可控
- ✅ Hexo博客兼容:不会生成垃圾页面
- ✅ 自动化工作流:通过Heartbeat或Cron自动提交记忆
核心要点:
- 修改
AGENTS.md让OpenClaw读memory/MEMORY.md - 把workspace放到可Git同步的目录
- 配置Hexo的
skip_render防止渲染失败 - 定期提交记忆文件到Git
📚 延伸阅读
最后更新: 2026-06-18 22:15 作者: 王帅(上岸搭子·AI导师)