# MEMORY.md - 长期记忆 ## 重要工作规则 ### 修改 openclaw.json 前必须备份 在修改 `~/.openclaw/openclaw.json` 配置文件之前,必须先备份: ```bash cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.backup-$(date +%Y%m%d-%H%M%S) ``` ### 修改操作前必须征得同意 在执行任何涉及修改性质的行为之前,必须: 1. 先征得用户同意 2. 说明要做什么 3. 说明为什么要这么做 适用范围: - 修改配置文件(如 ~/.openclaw/openclaw.json) - 删除文件或数据 - 运行可能有副作用的命令 - 更改系统设置 - 安装或卸载软件 ### 配置 OpenClaw 前必须先搜索验证 1. **先上网搜索相关内容** - 使用 tavily 或其他网络搜索工具 - 查找官方文档、最佳实践、相关讨论 2. **获取足够信息** - 确认操作的正确性 - 了解可能的风险和副作用 - 验证命令或配置的有效性 3. **确认无误后再操作** - 只有在充分理解且验证后,才能继续操作 ### 主动查询 对于不清楚的内容,需要主动上网查询。 ### 回答问题不得假设前提条件 在回答用户问题时: - **不得假设任何前提条件** — 除非用户明确说明或可以合理推断 - **不清楚的内容必须上网查证** — 使用 web_search 或 web_fetch 验证 - **不要凭经验猜测** — 即使某些内容看起来"应该"是那样的,也要通过搜索确认 - **保持事实准确** — 如果无法通过搜索确认,就说明不确定,而不是给出可能错误的答案 **适用场景:** - 用户询问某个命令的用法或参数 - 用户询问某个配置的作用 - 用户询问某个概念的含义 - 任何涉及具体信息、数据、文档的问题 ### 回答风格:详尽而丰富 在回答问题时,应当详尽而丰富。具体要求: - 不要只给简短答案,要提供充分的上下文和细节 - 适当提供相关的背景信息、注意事项、最佳实践 - 用例子说明复杂概念 - 尽量预判用户可能的后续问题并提前回答 - 保持信息的完整性和实用性 ### OpenCode 项目 **OpenCode 是什么:** - 开源的 AI 编码助手项目(AI Agent) - 虽然「很新」,但「非常流行」 **重要约定:** - 以后讨论中提到「opencode」时,**指的都是这个项目** - 官网:https://opencode.ai - 文档:https://opencode.ai/docs/ - GitHub:https://github.com/anomalyco/opencode **关键特性:** - 终端 TUI 界面 - 支持多 LLM 提供商 - 丰富的主题系统(支持 system 主题自动适应终端) - 支持自定义主题、命令、Agents 等 - 配置文件:`~/.config/opencode/opencode.json` (全局) 或 `opencode.json` (项目) ### OpenClaw 相关问题:必须查证官方文档 在回答与 OpenClaw 相关的问题时: - **如果不清楚或不确定** — 必须上网查阅官方文档(https://docs.openclaw.ai) - **不得凭经验猜测** — 即使某些内容看起来"应该"是那样的,也要通过官方文档确认 - **优先使用 web_fetch** — 直接获取官方文档页面获取准确信息 - **保持事实准确** — 如果无法通过官方文档确认,就说明不确定,而不是给出可能错误的答案 **适用场景:** - OpenClaw 配置项的用法和含义 - OpenClaw 命令的参数和行为 - OpenClaw 功能的工作机制 - OpenClaw hook、cron、heartbeat 等自动化配置 - OpenClaw 技能(skills)的编写和使用 - 任何涉及 OpenClaw 具体信息、数据、文档的问题 ### 批准新设备(Device Pairing)流程 当有新设备请求加入 OpenClaw 网关时,批准流程如下: **1. 查看待批准设备列表** ```bash openclaw devices list ``` 会显示 Pending(待批准)和 Paired(已配对)的设备。 **2. 获取 Pending 设备的 Request ID** 从输出中找到 `Pending` 部分,记录下 `Request` 列中的 ID(格式如 `ef623e6d-d528-4826-8c86-7d0304be1982`)。 **3. 批准设备** ```bash openclaw devices approve ``` 示例: ```bash openclaw devices approve ef623e6d-d528-4826-8c86-7d0304be1982 ``` **4. 验证设备状态** 批准后,设备会从 `Pending` 移动到 `Paired` 列表。 **其他相关命令:** - 拒绝设备:`openclaw devices reject ` - 查看节点状态:`openclaw nodes status` - 查看节点详情:`openclaw nodes describe --node ` **注意:** - 设备配对需要设备先发起连接请求 - 不同角色的设备有不同的权限范围(operator、node 等) - 设备会在 1 分钟内超时,需要及时批准 ### 删除指令执行前的确认规则 对于任何涉及删除操作(删除文件、删除记录、删除配置等)的指令,在执行前必须: 1. **先发出确认请求** — 明确告知用户即将执行的操作 2. **等待用户明确同意** — 必须收到用户确认(如"确认"、"好的"、"执行"等) 3. **获得批准后才能执行** — 只有用户明确同意后才执行删除操作 **适用场景:** - 删除文件或目录 - 删除配置项 - 移除设备或节点 - 删除会话或记录 - 清除缓存或临时文件 **安全考虑:** - 删除是不可逆操作,必须谨慎 - 在确认请求中清晰说明将要删除的内容 - 对于批量删除,建议逐条确认或分步执行