质量概览
这里给访客看的是 Skill 质量快照:重点帮助你判断这个内容是否结构清楚、可执行、适合直接参考或下载。
为 OpenClaw 安装完整的自我进化框架:宪法 + 可进化灵魂 + 结构化心跳协议 + 六层记忆 + 思维方法论 + 跨会话存档 + 目标管理 + 治理配置。
安装内容 :
在执行任何操作之前,必须先完成此步骤。跳过此步骤是禁止的。
自动检测 ~/.openclaw/workspace/ 是否存在:
WORKSPACE="$HOME/.openclaw/workspace"
test -d "$WORKSPACE" && echo "WORKSPACE=$WORKSPACE — OK" || echo "FAIL: $WORKSPACE not found"$WORKSPACE,无需任何用户交互,直接继续"工作区 ~/.openclaw/workspace/ 不存在。请先确认 OpenClaw 已正确安装,或手动创建该目录后重新触发。"
检查当前 OpenClaw 的权限等级,避免后续操作频繁弹出授权确认。
# 读取当前权限等级
openclaw config get agents.defaults.permissions 2>/dev/null || echo "NOT_SET"权限等级说明:
判断逻辑 :
standard 或 elevated → 继续restricted 或未设置 → 使用 AskUserQuestion 询问用户:问题 :"当前权限等级较低,灵魂框架部署需要大量文件操作(复制模板、创建目录、写入配置等),低权限下每一步都会弹出授权确认,体验会很差。建议提升权限等级。"
选项 :
~/.openclaw/workspace/)内的操作自动授权,工作区外的操作仍需确认。安全性和便利性的平衡点。openclaw config set agents.defaults.permissions "standard"openclaw config set agents.defaults.permissions "elevated"用户选择 1 或 2 → 执行对应的 openclaw config set 命令,确认生效后继续 用户选择 3 → 继续部署(提醒用户后续会有较多授权确认)
$WORKSPACE/../openclaw.json 是否存在且为有效 JSONwhich clawhub 或检查 ~/.openclaw/bin/clawhub 或 /usr/local/bin/clawhub 或 /usr/bin/clawhub$WORKSPACE: AGENTS.md, SOUL.md, HEARTBEAT.md, BOOTSTRAP.md, GOALS.md判断逻辑 :
AskUserQuestion 让用户选择(见下方)如果 clawhub 不可用 ,使用 AskUserQuestion 询问用户:
问题 :"未检测到 clawhub(OpenClaw 技能包管理器)。你希望怎么处理?"
选项 :
npm install -g clawhub 安装。clawhub 的优势:skill 可通过 clawhub update 统一更新版本,支持在线搜索和安装社区 skill,依赖管理更规范。安装好后告诉我"装好了"即可继续。用户选择 1 → 暂停部署,等待用户安装完成后继续 用户选择 2 → 标记 CLAWHUB_AVAILABLE=false,继续部署
环境检查通过后,输出:
"我正在帮你做初始化部署,需要装一些核心文件和配置,大概几分钟的时间。你先等我一下,完成了我会通知你。
部署完之后,我们就开始认识彼此。"
使用 bash cp 部署所有文件。禁止使用 Write/Edit 工具写入模板内容——大文件容易被截断或出错。cp 是操作系统级字节复制,100% 可靠。
# 获取本 skill 的安装路径
SKILL_DIR="$WORKSPACE/skills/openclaw-soul"
# 如果 skill 不在 workspace/skills/ 下,尝试其他常见路径
test -d "$SKILL_DIR" || SKILL_DIR="$(find ~/.openclaw -path '*/openclaw-soul/references' -type d 2>/dev/null | head -1 | sed 's|/references$||')"
echo "SKILL_DIR=$SKILL_DIR"确认 $SKILL_DIR/references/ 目录存在且包含模板文件。如果找不到,报错停止。
# 备份已有文件
for file in AGENTS.md SOUL.md HEARTBEAT.md BOOTSTRAP.md USER.md IDENTITY.md GOALS.md working-memory.md long-term-memory.md; do
[ -f "$WORKSPACE/$file" ] && cp "$WORKSPACE/$file" "$WORKSPACE/$file.backup.$(date +%Y%m%d-%H%M%S)"
done
# 复制 9 个模板文件
cp "$SKILL_DIR/references/agents-template.md" "$WORKSPACE/AGENTS.md"
cp "$SKILL_DIR/references/soul-template.md" "$WORKSPACE/SOUL.md"
cp "$SKILL_DIR/references/heartbeat-template.md" "$WORKSPACE/HEARTBEAT.md"
cp "$SKILL_DIR/references/bootstrap-guide.md" "$WORKSPACE/BOOTSTRAP.md"
cp "$SKILL_DIR/references/user-template.md" "$WORKSPACE/USER.md"
cp "$SKILL_DIR/references/identity-template.md" "$WORKSPACE/IDENTITY.md"
cp "$SKILL_DIR/references/goals-template.md" "$WORKSPACE/GOALS.md"
cp "$SKILL_DIR/references/working-memory-template.md" "$WORKSPACE/working-memory.md"
cp "$SKILL_DIR/references/long-term-memory-template.md" "$WORKSPACE/long-term-memory.md"
cp "$SKILL_DIR/references/memory-architecture-template.md" "$WORKSPACE/memory/ARCHITECTURE.md"# 创建六层记忆目录 + EvoClaw 目录 + 脚本目录 + soul-revisions + metadata
mkdir -p "$WORKSPACE/memory/"{daily,entities,transcripts,projects,voice,experiences,significant,reflections,proposals,pipeline,metadata}
mkdir -p "$WORKSPACE/scripts"
mkdir -p "$WORKSPACE/soul-revisions"
mkdir -p "$WORKSPACE/hooks"
# 复制记忆基础设施脚本
cp "$SKILL_DIR/fallback/memory-deposit/scripts/merge-daily-transcript.js" "$WORKSPACE/scripts/"
cp "$SKILL_DIR/fallback/memory-deposit/scripts/auto-commit.sh" "$WORKSPACE/scripts/"
chmod +x "$WORKSPACE/scripts/auto-commit.sh"
# 部署动态人格系统 Hook
if [ -d "$SKILL_DIR/references/hooks/user-observation" ]; then
cp -r "$SKILL_DIR/references/hooks/user-observation" "$WORKSPACE/hooks/"
echo "✓ 动态人格观察 Hook 已部署"
fi
# 追加动态人格规则到 AGENTS.md
if [ -f "$SKILL_DIR/references/dynamic-personality-addon.md" ]; then
cat "$SKILL_DIR/references/dynamic-personality-addon.md" >> "$WORKSPACE/AGENTS.md"
echo "✓ 动态人格规则已添加到 AGENTS.md"
fi# 验证所有文件非空
for file in AGENTS.md SOUL.md HEARTBEAT.md BOOTSTRAP.md USER.md IDENTITY.md GOALS.md working-memory.md long-term-memory.md; do
test -s "$WORKSPACE/$file" && echo "OK: $file" || echo "FAIL: $file is empty or missing"
done如果任何文件验证失败,立即停止并报告错误。
核心文件部署完成后,立即进入人格设定对话。这是整个流程中最重要的环节——先让用户定义 AI 的灵魂,再处理技术配置。
$WORKSPACE/BOOTSTRAP.md"核心文件已部署完成!
接下来我们先聊一聊,分三步:
这次对话会塑造我的灵魂(SOUL.md),之后我就能按你的方式工作了。
聊完之后,我再帮你装依赖 Skill 和配置系统。"
$WORKSPACE/BOOTSTRAP.md(引导已完成,不再需要)working-memory.md,记录 BOOTSTRAP 完成状态cd $WORKSPACE && git add -A && git commit -m "bootstrap: 完成首次对话,建立身份"过渡话术 (用 AI 自己的性格和语气说,不要机械照搬):
大意是:"认识完了,接下来帮你把系统配置做完——要装几个可选的能力模块(Skill),配置一些系统参数,几分钟就好。"
然后 立即开始执行 §4 ,不要等用户回复。
which clawhub || test -f ~/.openclaw/bin/clawhub
CLAWHUB_AVAILABLE=$?
# 检查哪些 skill 已安装
for skill in evoclaw self-improving skill-vetter hdd sdd; do
test -f "$WORKSPACE/skills/$skill/SKILL.md" && echo "INSTALLED: $skill" || echo "NOT_INSTALLED: $skill"
done在安装任何 skill 之前,必须先向用户展示完整清单,说明每个 skill 的用途,让用户确认要安装哪些。
使用 AskUserQuestion 向用户展示以下信息并让用户多选:
问题 :"以下是灵魂框架的可选依赖 Skill,请选择要安装的:"
选项 (multiSelect: true):
对已安装的 skill,在选项描述中标注"(已安装,会跳过)"。
对用户选中的每个 skill,按优先级尝试安装(已安装的跳过):
clawhub install --force `` cp -r "$SKILL_DIR/fallback/ " "$WORKSPACE/skills/" ``https://github.com/search?q=openclaw+ 安装完成后,逐项报告用户选中的 skill 的安装结果:
✓ EvoClaw: [installed from clawhub | installed from fallback | ⚠️ failed | skipped (not selected)]
✓ Self-Improving: [installed from clawhub | installed from fallback | ⚠️ failed | skipped (not selected)]
✓ Skill Vetter: [installed from clawhub | installed from fallback | ⚠️ not installed | skipped (not selected)]
✓ HDD: [installed from clawhub | installed from fallback | ⚠️ not installed | skipped (not selected)]
✓ SDD: [installed from clawhub | installed from fallback | ⚠️ not installed | skipped (not selected)]写入 $WORKSPACE/memory/evoclaw-state.json:
{
"mode": "advisory",
"require_approval": ["Core Identity", "Capability Tree", "Value Function"],
"auto_sections": ["Working Style", "User Understanding", "Evolution Log"],
"revision_dir": "soul-revisions",
"initialized": true
}验证 JSON 可解析。
确保目录和文件存在:
mkdir -p ~/self-improving/{projects,domains,archive}如果以下文件 不存在 ,创建初始版本(已存在则不覆盖):
~/self-improving/memory.md :
# Self-Improving Memory
> Execution patterns and learned rules. Updated after corrections and lessons.
(empty — will accumulate through use)~/self-improving/corrections.md :
# Corrections Log
> Failed attempts and their fixes. Each entry prevents the same mistake twice.
(empty — will accumulate through use)~/self-improving/index.md :
# Self-Improving Index
> Quick reference to all domains, projects, and archived knowledge.
## Domains
(none yet)
## Projects
(none yet)
## Archive
(none yet)使用 openclaw config set 更新 heartbeat 设置:
openclaw config set agents.defaults.heartbeat.every "1h"
openclaw config set agents.defaults.heartbeat.target "last"
openclaw config set agents.defaults.heartbeat.directPolicy "allow"如果 openclaw config set 不可用,直接编辑 openclaw.json,确保 agents.defaults.heartbeat 包含 every: "1h", target: "last", directPolicy: "allow"。
没有向量搜索的记忆系统是摆设。此步骤不可跳过。
memory_search(query="test memory recall") 检测当前状态向用户说明并推荐方案:
"向量搜索需要一个 embedding API key,这是记忆系统的核心能力。"
硅基流动配置示例(provider 设为 openai,用自定义 baseUrl):
memorySearch: {
provider: "openai",
model: "BAAI/bge-large-zh-v1.5",
remote: {
baseUrl: "https://api.siliconflow.cn/v1",
apiKey: " "
}
}确认用户选定方案后,用 gateway(action=config.patch) 或直接编辑 openclaw.json 配好。
配置 extraPaths:
memorySearch: {
extraPaths: ["memory/transcripts", "memory/projects", "AGENTS.md"]
}开启高级搜索功能:
{
"agents": {
"defaults": {
"memorySearch": {
"query": {
"hybrid": {
"mmr": { "enabled": true, "lambda": 0.7 },
"temporalDecay": { "enabled": true, "halfLifeDays": 30 }
}
},
"cache": { "enabled": true, "maxEntries": 50000 }
}
}
}
}验证:再次执行 memory_search(query="test") 确认可用。如果 memory/ 下还没有文件,告知用户:"向量搜索已就绪,等积累了笔记后就能搜到了。"
检查 $WORKSPACE/.git/ 是否存在:
不存在 →
cd $WORKSPACE && git init写入 .gitignore(排除敏感文件和临时文件):
.env*
*.secrets
credentials.json
tmp/
node_modules/
.DS_Store执行首次提交:
git add -A && git commit -m "init: openclaw-soul workspace"已存在 → 检查 .gitignore 包含上述排除项,缺的补上。
逐项检查并报告 pass/fail:
输出格式 :
✓ AGENTS.md — pass
✓ SOUL.md — pass
✓ BOOTSTRAP.md — pass
✓ USER.md — pass
✓ IDENTITY.md — pass
✓ EvoClaw — pass (installed from fallback)
✓ Self-Improving — pass (installed from fallback)
✓ evoclaw-state.json — pass
✓ Heartbeat — pass
✓ Git — pass判断 :
BOOTSTRAP 对话完成后,必须执行此步骤才能让系统真正"活起来"。
确保每次对话都自动加载核心文件到 system prompt:
# 方法 1: 使用 openclaw config(推荐)
openclaw config set agents.defaults.systemPrompt.files '["~/.openclaw/workspace/AGENTS.md","~/.openclaw/workspace/SOUL.md","~/.openclaw/workspace/IDENTITY.md","~/.openclaw/workspace/GOALS.md"]'
# 方法 2: 如果 config 命令不可用,直接编辑 openclaw.json如果 openclaw config 不可用,读取 $WORKSPACE/../openclaw.json,在 agents.defaults 中添加:
{
"agents": {
"defaults": {
"systemPrompt": {
"files": [
"~/.openclaw/workspace/AGENTS.md",
"~/.openclaw/workspace/SOUL.md",
"~/.openclaw/workspace/IDENTITY.md",
"~/.openclaw/workspace/GOALS.md"
]
}
}
}
}验证配置:
openclaw config get agents.defaults.systemPrompt.files || grep -A 10 '"systemPrompt"' "$WORKSPACE/../openclaw.json"这是让 AI 主动说话的关键配置。
#### 8b.1 配置心跳参数
# 启用心跳(最关键的一步)
openclaw config set agents.defaults.heartbeat.enabled true
# 设置心跳间隔
openclaw config set agents.defaults.heartbeat.every "1h"
# 设置目标会话(last = 最近的会话)
openclaw config set agents.defaults.heartbeat.target "last"
# 设置权限策略
openclaw config set agents.defaults.heartbeat.directPolicy "allow"
# 设置心跳提示词(读取 HEARTBEAT.md 的内容)
HEARTBEAT_PROMPT=$(cat "$WORKSPACE/HEARTBEAT.md")
openclaw config set agents.defaults.heartbeat.prompt "$HEARTBEAT_PROMPT"如果 openclaw config 不可用,直接编辑 openclaw.json:
{
"agents": {
"defaults": {
"heartbeat": {
"enabled": true,
"every": "1h",
"target": "last",
"directPolicy": "allow",
"prompt": "读取 ~/.openclaw/workspace/HEARTBEAT.md 并执行心跳检查:\n1. 检查当前目标进度(读取 GOALS.md)\n2. 发现被遗忘的任务\n3. 主动提醒重要事项\n4. 如有需要,主动发起对话"
}
}
}
}#### 8b.2 询问用户定时任务需求
在安装定时任务前,先了解用户的使用场景和需求。
使用 AskUserQuestion 询问用户:
问题 :"除了基础心跳(每小时检查一次),你还想要哪些定时任务?"
选项 :
multiSelect : true(允许多选)
#### 8b.3 安装基础定时任务(必需)
无论用户选择什么,这些基础任务都必须安装。
# 检查 openclaw heartbeat 命令是否可用
if command -v openclaw &> /dev/null; then
# 1. 基础心跳(每小时的第 7 分钟触发,避开 :00 高峰)
(crontab -l 2>/dev/null | grep -v "openclaw heartbeat.*--agent last$"; echo "7 * * * * openclaw heartbeat --agent last 2>&1 | logger -t openclaw-heartbeat") | crontab -
echo "✓ 基础心跳已安装(每小时第 7 分钟)"
else
echo "⚠️ openclaw CLI 不可用,无法安装定时任务。心跳功能需要手动触发。"
fi
# 2. 记忆归档(每天凌晨 2:17)
if [ -f "$WORKSPACE/scripts/merge-daily-transcript.js" ]; then
(crontab -l 2>/dev/null | grep -v "merge-daily-transcript"; echo "17 2 * * * cd $WORKSPACE && node scripts/merge-daily-transcript.js 2>&1 | logger -t openclaw-memory") | crontab -
echo "✓ 记忆归档已安装(每天 2:17)"
fi
# 3. Git 自动提交(每 6 小时的第 23 分钟)
if [ -f "$WORKSPACE/scripts/auto-commit.sh" ]; then
(crontab -l 2>/dev/null | grep -v "auto-commit.sh"; echo "23 */6 * * * cd $WORKSPACE && bash scripts/auto-commit.sh 2>&1 | logger -t openclaw-git") | crontab -
echo "✓ Git 自动提交已安装(每 6 小时)"
fi#### 8b.4 安装用户选择的定时任务
根据用户在 7b.2 的选择,安装对应的定时任务。
# 根据用户选择安装定时任务
WORKSPACE="$HOME/.openclaw/workspace"
# 选项 1: 每日目标汇报
if [[ "$USER_CHOICE" == *"每日目标汇报"* ]]; then
(crontab -l 2>/dev/null | grep -v "openclaw heartbeat.*daily-report"; echo "0 20 * * * openclaw heartbeat --agent last --prompt '读取 GOALS.md,汇报今天的目标完成情况,提醒明天的重要任务。如果有被遗忘的任务或即将到期的 deadline,主动提醒用户。' 2>&1 | logger -t openclaw-daily-report") | crontab -
echo "✓ 每日目标汇报已安装(每天晚上 8:00)"
fi
# 选项 2: 每周反思总结
if [[ "$USER_CHOICE" == *"每周反思总结"* ]]; then
(crontab -l 2>/dev/null | grep -v "openclaw heartbeat.*weekly-reflection"; echo "0 21 * * 0 openclaw heartbeat --agent last --prompt '回顾本周的对话记录(读取 memory/transcripts/ 最近7天的文件),生成深度反思:1. 本周完成了什么 2. 遇到了哪些问题 3. 学到了什么 4. 下周的改进建议。将反思保存到 memory/reflections/weekly-$(date +%Y%m%d).md' 2>&1 | logger -t openclaw-weekly-reflection") | crontab -
echo "✓ 每周反思总结已安装(每周日晚上 9:00)"
fi
# 选项 3: 每日健康检查
if [[ "$USER_CHOICE" == *"每日健康检查"* ]]; then
(crontab -l 2>/dev/null | grep -v "openclaw heartbeat.*health-check"; echo "0 9 * * * openclaw heartbeat --agent last --prompt '执行健康检查:1. 运行 $WORKSPACE/scripts/health-check.sh 2. 检查心跳是否正常工作 3. 检查记忆归档是否执行 4. 检查 Git 提交是否正常 5. 如发现问题,主动告知用户并提供解决方案' 2>&1 | logger -t openclaw-health-check") | crontab -
echo "✓ 每日健康检查已安装(每天早上 9:00)"
fi
# 选项 4: 任务 deadline 提醒
if [[ "$USER_CHOICE" == *"任务 deadline 提醒"* ]]; then
(crontab -l 2>/dev/null | grep -v "openclaw heartbeat.*deadline-reminder"; echo "0 9 * * * openclaw heartbeat --agent last --prompt '读取 GOALS.md,检查所有任务的 deadline:1. 今天到期的任务(紧急提醒)2. 1天内到期的任务(重要提醒)3. 3天内到期的任务(提前提醒)。如有到期任务,主动发起对话提醒用户。' 2>&1 | logger -t openclaw-deadline-reminder") | crontab -
echo "✓ 任务 deadline 提醒已安装(每天早上 9:00)"
fi
# 选项 5: 自定义
if [[ "$USER_CHOICE" == *"自定义"* ]]; then
echo "请告诉我你的具体需求,我会帮你生成对应的 cron 任务。"
echo "格式:[时间] [要做什么]"
echo "例如:每周一早上 9 点,提醒我回顾上周的代码提交"
# 这里需要进一步交互,根据用户描述生成 cron 表达式和 prompt
fi
# 选项 6: 暂时不需要
if [[ "$USER_CHOICE" == *"暂时不需要"* ]]; then
echo "✓ 只安装了基础任务(心跳、记忆归档、Git 提交)"
fi#### 8b.5 验证心跳配置
# 检查配置
echo "=== 心跳配置 ==="
openclaw config get agents.defaults.heartbeat || grep -A 10 '"heartbeat"' "$WORKSPACE/../openclaw.json"
# 检查定时任务
echo -e "\n=== Cron 任务 ==="
crontab -l | grep openclaw || echo "未找到 openclaw 定时任务"
# 手动触发测试(dry-run)
echo -e "\n=== 测试心跳 ==="
if command -v openclaw &> /dev/null; then
openclaw heartbeat --agent last --dry-run || echo "心跳测试失败,请检查配置"
else
echo "openclaw CLI 不可用,跳过测试"
fi记忆文件变更后自动重建索引,确保搜索结果最新。
# 启用自动索引
openclaw config set memorySearch.autoIndex true
# 配置监听路径
openclaw config set memorySearch.watchPaths '["memory/","AGENTS.md","SOUL.md"]'
# 配置索引更新策略(增量更新,不是全量重建)
openclaw config set memorySearch.indexStrategy "incremental"如果 openclaw config 不可用,编辑 openclaw.json:
{
"memorySearch": {
"autoIndex": true,
"watchPaths": ["memory/", "AGENTS.md", "SOUL.md"],
"indexStrategy": "incremental"
}
}这是记忆系统的高级优化,包含渐进式披露、智能分类、智能去重、衰减晋升机制。
#### 8d.1 询问用户是否需要优化
使用 AskUserQuestion 询问用户:
问题 :"记忆系统已经可以工作了,但我还可以帮你配置一些高级优化功能,让记忆更智能、更高效。你想要吗?"
选项 :
#### 8d.2 部署优化脚本(如果用户选择"是的,帮我配置")
# 复制优化脚本到 workspace/scripts/
SKILL_DIR="$(find ~/.openclaw -path '*/openclaw-soul/scripts' -type d 2>/dev/null | head -1 | sed 's|/scripts$||')"
if [ -d "$SKILL_DIR/scripts/memory-optimization" ]; then
cp -r "$SKILL_DIR/scripts/memory-optimization/"* "$WORKSPACE/scripts/"
chmod +x "$WORKSPACE/scripts/"*.js
echo "✓ 记忆优化脚本已部署"
else
echo "⚠️ 未找到优化脚本,跳过"
fi#### 8d.3 更新 AGENTS.md(添加记忆管理规则)
# 检查 AGENTS.md 是否已包含记忆管理规则
if ! grep -q "§2 记忆管理规则" "$WORKSPACE/AGENTS.md"; then
# 追加记忆管理规则到 AGENTS.md
cat "$SKILL_DIR/references/memory-rules-addon.md" >> "$WORKSPACE/AGENTS.md"
echo "✓ AGENTS.md 已更新(添加记忆管理规则)"
fi#### 8d.4 配置定时任务
# 1. 每天凌晨 3:00 更新记忆衰减状态
(crontab -l 2>/dev/null | grep -v "memory-decay.js"; echo "0 3 * * * cd $WORKSPACE && node scripts/memory-decay.js update 2>&1 | logger -t openclaw-memory-decay") | crontab -
echo "✓ 记忆衰减更新任务已安装(每天 3:00)"
# 2. 更新 merge-daily-transcript.js 为优化版
if [ -f "$WORKSPACE/scripts/merge-daily-transcript.js" ]; then
# 备份原版本
cp "$WORKSPACE/scripts/merge-daily-transcript.js" "$WORKSPACE/scripts/merge-daily-transcript.js.backup"
# 替换为优化版(整合了分类、去重、衰减、索引构建)
cp "$SKILL_DIR/scripts/memory-optimization/merge-daily-transcript.js" "$WORKSPACE/scripts/"
echo "✓ 记忆归档脚本已升级为优化版"
fi#### 8d.5 配置自动加载 L0 索引
# 更新 systemPrompt.files,添加 L0 索引
openclaw config set agents.defaults.systemPrompt.files '["~/.openclaw/workspace/AGENTS.md","~/.openclaw/workspace/SOUL.md","~/.openclaw/workspace/IDENTITY.md","~/.openclaw/workspace/GOALS.md","~/.openclaw/workspace/memory/metadata/L0-index.md"]'
echo "✓ 已配置自动加载 L0 记忆索引"#### 8d.6 初始化记忆索引
# 构建初始索引
if [ -f "$WORKSPACE/scripts/memory-index-builder.js" ]; then
node "$WORKSPACE/scripts/memory-index-builder.js" build
echo "✓ 记忆索引已构建(L0/L1/L2)"
fi#### 8d.7 告知用户优化效果
"记忆系统优化已完成!
新增功能 :
新增定时任务 :
如何使用 :
node ~/.openclaw/workspace/scripts/memory-health-check.jscat ~/.openclaw/workspace/memory/metadata/L0-index.md"逐项检查所有激活配置是否生效。
echo "=== 激活状态检查 ==="
# 1. 自动加载
echo -e "\n[1/6] 自动加载配置"
if openclaw config get agents.defaults.systemPrompt.files | grep -q "SOUL.md"; then
echo "✓ 自动加载已配置"
# 检查是否包含 L0 索引
if openclaw config get agents.defaults.systemPrompt.files | grep -q "L0-index.md"; then
echo "✓ L0 记忆索引已配置自动加载"
fi
else
echo "❌ 自动加载未配置"
fi
# 2. 心跳
echo -e "\n[2/6] 心跳机制"
if openclaw config get agents.defaults.heartbeat.enabled | grep -q "true"; then
echo "✓ 心跳已启用"
crontab -l | grep "openclaw heartbeat" && echo "✓ 心跳定时任务已安装" || echo "⚠️ 心跳定时任务未安装"
else
echo "❌ 心跳未启用"
fi
# 3. 记忆归档
echo -e "\n[3/6] 记忆归档"
crontab -l | grep "merge-daily-transcript" && echo "✓ 记忆归档任务已安装" || echo "⚠️ 记忆归档任务未安装"
# 4. 记忆衰减(如果配置了优化)
echo -e "\n[4/6] 记忆衰减更新"
crontab -l | grep "memory-decay" && echo "✓ 记忆衰减任务已安装" || echo "⚠️ 记忆衰减任务未安装(未配置优化)"
# 5. Git 自动提交
echo -e "\n[5/6] Git 自动提交"
crontab -l | grep "auto-commit" && echo "✓ Git 自动提交任务已安装" || echo "⚠️ Git 自动提交任务未安装"
# 6. 向量索引
echo -e "\n[6/6] 向量索引自动更新"
if openclaw config get memorySearch.autoIndex | grep -q "true"; then
echo "✓ 向量索引自动更新已启用"
else
echo "⚠️ 向量索引自动更新未启用"
fi
echo -e "\n=== 所有定时任务 ==="
crontab -l | grep openclaw || echo "未找到 openclaw 相关定时任务"
# 检查记忆优化脚本
echo -e "\n=== 记忆优化脚本 ==="
if [ -f "$WORKSPACE/scripts/memory-classifier.js" ]; then
echo "✓ 记忆优化脚本已安装"
ls -1 "$WORKSPACE/scripts/memory-"*.js 2>/dev/null | wc -l | xargs echo " 脚本数量:"
else
echo "⚠️ 记忆优化脚本未安装(未配置优化)"
fi激活完成后,告知用户如何验证系统是否正常工作。
根据用户在 7b.2 选择的定时任务,动态生成提示信息:
基础提示 (所有用户):
"系统已激活!接下来:
立即生效 :
基础定时任务 (已安装):
如果用户选择了"每日目标汇报" ,追加:
每天晚上 8:00 :
如果用户选择了"每周反思总结" ,追加:
每周日晚上 9:00 :
如果用户选择了"每日健康检查" ,追加:
每天早上 9:00 :
如果用户选择了"任务 deadline 提醒" ,追加:
每天早上 9:00 :
通用验证指南 (所有用户):
试试这些命令验证系统 :
现在的目标是什么? — 查看当前目标(读取 GOALS.md)我是谁? — 查看你的身份档案(读取 IDENTITY.md)你的性格是什么? — 查看我的灵魂(读取 SOUL.md)回忆一下我们刚才讨论的内容 — 测试记忆召回如果心跳没有按预期工作 :
openclaw config get agents.defaults.heartbeat.enabled 检查心跳是否启用openclaw heartbeat --agent lastbash ~/.openclaw/workspace/scripts/health-check.sh如果遇到问题,参考下面的 §7 故障排查。"
症状 :1 小时后 AI 没有主动发起对话。
诊断步骤 :
# 1. 检查心跳是否启用
openclaw config get agents.defaults.heartbeat.enabled
# 期望输出:true
# 2. 检查定时任务是否安装
crontab -l | grep "openclaw heartbeat"
# 期望输出:7 * * * * openclaw heartbeat --agent last ...
# 3. 检查 openclaw CLI 是否可用
which openclaw
# 期望输出:/usr/local/bin/openclaw 或类似路径
# 4. 手动触发心跳测试
openclaw heartbeat --agent last
# 观察是否有错误输出
# 5. 查看心跳日志(macOS)
log show --predicate 'eventMessage contains "openclaw-heartbeat"' --last 1h
# 6. 查看心跳日志(Linux)
journalctl -t openclaw-heartbeat --since "1 hour ago"常见问题与解决方案 :
症状 :问"回忆一下 XX"时,AI 说找不到相关记忆。
诊断步骤 :
# 1. 检查向量搜索配置
openclaw config get memorySearch
# 确认 provider、model、apiKey 已配置
# 2. 测试向量搜索
openclaw memory search "test"
# 如果报错,说明 embedding 配置有问题
# 3. 检查记忆文件是否存在
ls -lh "$WORKSPACE/memory/daily/"
ls -lh "$WORKSPACE/memory/transcripts/"
# 确认有对话记录文件
# 4. 检查索引是否存在
ls -lh "$WORKSPACE/.openclaw/memory-index/"
# 确认有索引文件
# 5. 手动重建索引
openclaw memory reindex常见问题与解决方案 :
症状 :AI 的行为不符合 SOUL.md 中定义的性格。
诊断步骤 :
# 1. 检查自动加载配置
openclaw config get agents.defaults.systemPrompt.files
# 期望输出:包含 SOUL.md、AGENTS.md 等文件路径
# 2. 检查文件是否存在
test -f "$WORKSPACE/SOUL.md" && echo "SOUL.md 存在" || echo "SOUL.md 不存在"
# 3. 手动测试加载
# 在对话中说:"读取 ~/.openclaw/workspace/SOUL.md 并总结我的性格"
# 观察 AI 是否能正确读取和理解
# 4. 检查文件权限
ls -l "$WORKSPACE/SOUL.md"
# 确认文件可读(-rw-r--r--)常见问题与解决方案 :
症状 :memory/daily/ 下的文件一直不合并到 transcripts/。
诊断步骤 :
# 1. 检查定时任务
crontab -l | grep "merge-daily-transcript"
# 期望输出:17 2 * * * cd ... && node scripts/merge-daily-transcript.js
# 2. 检查脚本是否存在
test -f "$WORKSPACE/scripts/merge-daily-transcript.js" && echo "脚本存在" || echo "脚本不存在"
# 3. 手动执行脚本测试
cd "$WORKSPACE" && node scripts/merge-daily-transcript.js
# 观察是否有错误输出
# 4. 查看日志
log show --predicate 'eventMessage contains "openclaw-memory"' --last 24h # macOS
journalctl -t openclaw-memory --since "24 hours ago" # Linux常见问题与解决方案 :
症状 :memory/ 下的文件变更没有自动提交到 Git。
诊断步骤 :
# 1. 检查定时任务
crontab -l | grep "auto-commit"
# 期望输出:23 */6 * * * cd ... && bash scripts/auto-commit.sh
# 2. 检查脚本是否存在且可执行
test -x "$WORKSPACE/scripts/auto-commit.sh" && echo "脚本可执行" || echo "脚本不可执行"
# 3. 手动执行脚本测试
cd "$WORKSPACE" && bash scripts/auto-commit.sh
# 观察是否有错误输出
# 4. 检查 Git 状态
cd "$WORKSPACE" && git status
# 查看是否有未提交的变更
# 5. 查看 Git 提交历史
cd "$WORKSPACE" && git log --oneline --since="1 day ago"
# 确认是否有自动提交记录常见问题与解决方案 :
一键检查所有组件状态。
将以下脚本保存为 $WORKSPACE/scripts/health-check.sh:
#!/bin/bash
WORKSPACE="$HOME/.openclaw/workspace"
echo "=== OpenClaw Soul 健康检查 ==="
echo ""
# 1. 核心文件
echo "[1/7] 核心文件"
for file in AGENTS.md SOUL.md HEARTBEAT.md BOOTSTRAP.md USER.md IDENTITY.md GOALS.md; do
test -s "$WORKSPACE/$file" && echo " ✓ $file" || echo " ❌ $file 缺失或为空"
done
# 2. 自动加载
echo -e "\n[2/7] 自动加载"
if openclaw config get agents.defaults.systemPrompt.files 2>/dev/null | grep -q "SOUL.md"; then
echo " ✓ 已配置"
else
echo " ❌ 未配置"
fi
# 3. 心跳
echo -e "\n[3/7] 心跳机制"
if openclaw config get agents.defaults.heartbeat.enabled 2>/dev/null | grep -q "true"; then
echo " ✓ 已启用"
crontab -l 2>/dev/null | grep -q "openclaw heartbeat" && echo " ✓ 定时任务已安装" || echo " ⚠️ 定时任务未安装"
else
echo " ❌ 未启用"
fi
# 4. 记忆归档
echo -e "\n[4/7] 记忆归档"
crontab -l 2>/dev/null | grep -q "merge-daily-transcript" && echo " ✓ 定时任务已安装" || echo " ⚠️ 定时任务未安装"
# 5. Git 自动提交
echo -e "\n[5/7] Git 自动提交"
crontab -l 2>/dev/null | grep -q "auto-commit" && echo " ✓ 定时任务已安装" || echo " ⚠️ 定时任务未安装"
test -d "$WORKSPACE/.git" && echo " ✓ Git 已初始化" || echo " ❌ Git 未初始化"
# 6. 向量搜索
echo -e "\n[6/7] 向量搜索"
if openclaw config get memorySearch.provider 2>/dev/null | grep -q -E "gemini|openai"; then
echo " ✓ Embedding 已配置"
else
echo " ❌ Embedding 未配置"
fi
# 7. 依赖 Skills
echo -e "\n[7/7] 依赖 Skills"
for skill in evoclaw self-improving skill-vetter hdd sdd; do
test -f "$WORKSPACE/skills/$skill/SKILL.md" && echo " ✓ $skill" || echo " ⚠️ $skill 未安装"
done
echo -e "\n=== 检查完成 ==="使用方法:
chmod +x "$WORKSPACE/scripts/health-check.sh"
bash "$WORKSPACE/scripts/health-check.sh"openclaw-soul v3.0.0 — Lightweight, growable soul. Slimmed AGENTS.md (-79%), reordered flow (BOOTSTRAP first), user-controlled skill install, permission check, two-level fallback.
Read more
[More in Agents](/skills?category=agents)
Downloads
Security audit [Review](/kianzzz/skills/openclaw-soul/security-audit)
Last updated 1mo ago
Current version v3.0.1
License MIT-0
Report
import: clawhub https://clawhub.ai/kianzzz/openclaw-soul
说明
当前为只读模式,登录后可评论。
还没有评论。
Personas
Transform into 20 specialized AI personalities on demand. Switch mid-conversation and load only the active persona.
Agent Memory
Persistent memory for AI agents to store facts, learn from actions, recall information, and track entities across sessions.
Fluid Memory
基于艾宾浩斯遗忘曲线和访问频率的衰减模型设计的遗忘和归档机制,完全依赖openclaw原生记忆系统的拟人化流体记忆系统
Evolver
A self-evolution engine for AI agents. Analyzes runtime history to identify improvements and applies protocol-constrained evolution. Communicates with EvoMap...
Evolver
A self-evolution engine for AI agents. Analyzes runtime history to identify improvements and applies protocol-constrained evolution. Communicates with EvoMap...
Capability Evolver
Meta-skill for AI agent self-improvement. Analyzes runtime logs to detect error patterns, regressions, and inefficiencies, then generates structured improvem...