介绍
# Workspace Review
一项自检流程,用于验证工作区文件是否遵循 OpenClaw 约定,以及是否未偏离到非标准模式。
## 运行时机
- 定期(每周或重大变更后) - 当被要求“审查”、“审计”或“检查”工作区时 - 引导 或重大重组之后 - 在心跳 维护周期期间
## 审查流程
### 1. 结构检查
验证预期文件存在于正确位置:
``` ~/.openclaw/workspace/ ├── AGENTS.md ← Operating instructions (REQUIRED) ├── SOUL.md ← Persona/tone (REQUIRED) ├── USER.md ← User profile (REQUIRED) ├── IDENTITY.md ← Agent name/vibe/emoji (REQUIRED) ├── TOOLS.md ← Local tool notes (REQUIRED) ├── HEARTBEAT.md ← Heartbeat checklist (optional) ├── MEMORY.md ← Curated long-term memory (optional) ├── BOOT.md ← Runs on gateway restart (optional, boot-md hook) ├── BOOTSTRAP.md ← One-time first-run ritual (delete after use) ├── memory/ ← Daily logs + reference docs (vector-indexed) │ └── YYYY-MM-DD.md └── skills/ ← Workspace-specific skills (optional) ```
**关于 BOOT.md 与 BOOTSTRAP.md 的说明:** - `BOOT.md` — 持久化;每次网关重启时运行(如果启用了 `boot-md` 钩子) - `BOOTSTRAP.md` — 一次性;代理在首次运行时遵循它,随后将其删除
**检查:** 在工作区根目录运行 `ls -la`。标记缺失的必需文件。
### 2. 文件用途审计
每个文件只有一项职责。检查范围蔓延:
| 文件 | 应包含 | 不应包含 | |------|----------------|-------------------| | AGENTS.md | 操作说明、记忆工作流、行为规则 | 个人记忆、每日日志、工具配置 | | SOUL.md | 人设、语调、边界、身份哲学 | 任务列表、技术细节、凭证 | | USER.md | 用户档案、偏好、称呼方式 | 代理记忆、系统配置 | | IDENTITY.md | 名称、表情符号、氛围、外部身份(钱包、句柄) | 说明、记忆 | | TOOLS.md | 环境特定说明(相机名称、SSH 主机、声音) | 技能说明、操作程序 | | HEARTBEAT.md | 定期检查的简短清单 | 长流程、完整文档 | | MEMORY.md | 精选课程、关键上下文、重要人员/项目 | 每日日志、原始笔记 | | memory/*.md | 每日日志、原始笔记、会话摘要 | 长期精选记忆 |
**检查:** 浏览每个文件。标记位于错误位置的内容。
### 3. 记忆卫生
- [ ] 每日文件使用 `YYYY-MM-DD.md` 或 `YYYY-MM-DD-slug.md` 格式 - [ ] 定期审查钩子生成的会话文件(`session-memory` 钩子创建 `YYYY-MM-DD-slug.md`) - [ ] 参考文档使用描述性名称(非日期):`project-notes.md`、`api-guide.md` - [ ] MEMORY.md 包含精选见解,而非原始日志 - [ ] MEMORY.md 和每日文件之间无重复信息 - [ ] 定期审查旧的每日文件并将其提炼到 MEMORY.md - [ ] 记忆文件中无敏感数据(API 密钥、密码)
**自动记忆刷新:** OpenClaw 在会话压缩之前触发一个静默代理回合,以写入持久化记忆。代理收到一个提示,将重要上下文刷新到 `memory/YYYY-MM-DD.md`。这是自动的 — 无需操作,但请注意您的上下文将在约 180k token 后被压缩。
### 4. 向量搜索对齐
- [ ] 默认情况下仅索引 `MEMORY.md` 和 `memory/**/*.md` - [ ] 每日日志使用 `YYYY-MM-DD.md`;参考文档使用描述性名称 - [ ] `memory/` 之外的文件可以通过配置中的 `memorySearch.extraPaths` 进行索引
**会话记忆(实验性):** 如果 `memorySearch.experimental.sessionMemory = true`,会话记录也会被索引并可通过 `memory_search` 搜索。
### 5. Git 状态
**⚠️ 此工作区是私有的。切勿推送到 GitHub 或任何公共远程仓库。**
```bash cd ~/.openclaw/workspace && git status ```
- [ ] 未配置远程仓库(或仅有私有备份) - [ ] 没有应被跟踪但未被跟踪的文件 - [ ] 没有应被 gitignore 但被跟踪的文件 - [ ] 没有遗留数天的未提交更改 - [ ] .gitignore 排除密钥 (*.key, *.pem, .env, secrets*)
### 6. 异常文件检查
查找不符合标准布局的文件:
```bash ls -la ~/.openclaw/workspace/ ```
标记任何符合以下条件的内容: - 重复引导文件的用途(例如,README.md 与 AGENTS.md 并存) - 在工作区中存储凭证(应位于 ~/.openclaw/credentials/) - 创建无明确用途的非标准目录
**注意:** 只有 `MEMORY.md` 和 `memory/**/*.md` 会被向量索引。`memory/` 之外的文件可以通过配置中的 `memorySearch.extraPaths` 添加。
### 7. 大小检查
引导文件应保持精简(每次会话都会加载):
- AGENTS.md:理想情况下 < 500 行,最多 < 1000 - SOUL.md:理想情况下 < 200 行 - USER.md:理想情况下 < 100 行 - IDENTITY.md:理想情况下 < 50 行 - HEARTBEAT.md:< 100 行(token 消耗顾虑)
```bash wc -l AGENTS.md SOUL.md USER.md IDENTITY.md HEARTBEAT.md TOOLS.md MEMORY.md 2>/dev/null ```
### 8. 技能检查
如果 `skills/` 存在: - [ ] 每个技能都有包含有效 frontmatter(名称、描述)的 SKILL.md - [ ] 无重复技能(工作区与托管) - [ ] 技能遵循渐进式披露(精简的 SKILL.md,引用详细信息)
## 输出格式
审查后,报告:
``` ## Workspace Review — YYYY-MM-DD
### ✅ Passing - [list what's correct]
### ⚠️ Warnings - [list minor issues]
### ❌ Issues - [list things that need fixing]
### 📋 Recommendations - [specific actions to take] ```
## 参考
- [references/openclaw-conventions.md](references/openclaw-conventions.md) — 完整的工作区文件规范 - [references/checklist.md](references/checklist.md) — 快速参考清单