fix: deploy SOUL.md with correct uppercase filename (#294)

OpenClaw only loads SOUL.md (uppercase), but deploy_soul_files() was
writing to soul.md (lowercase), causing the deployed SOUL to be ignored.

Fixes #294
This commit is contained in:
cft0808
2026-04-20 00:18:35 +08:00
parent 42a520bb93
commit 3f2dfb5df2

View File

@@ -295,14 +295,14 @@ def sync_scripts_to_workspaces():
def deploy_soul_files():
"""将项目 agents/xxx/SOUL.md 部署到 ~/.openclaw/workspace-xxx/soul.md"""
"""将项目 agents/xxx/SOUL.md 部署到 ~/.openclaw/workspace-xxx/SOUL.md"""
agents_dir = BASE / 'agents'
deployed = 0
for proj_name, runtime_id in _SOUL_DEPLOY_MAP.items():
src = agents_dir / proj_name / 'SOUL.md'
if not src.exists():
continue
ws_dst = OPENCLAW_HOME / f'workspace-{runtime_id}' / 'soul.md'
ws_dst = OPENCLAW_HOME / f'workspace-{runtime_id}' / 'SOUL.md'
ws_dst.parent.mkdir(parents=True, exist_ok=True)
# 只在内容不同时更新(避免不必要的写入)
src_text = src.read_text(encoding='utf-8', errors='ignore')