OpenClaw 对话过程与命令功能总结

基于 OpenClaw 官方文档(版本 2026-03-08 同步)

一、对话过程概述

1. 会话管理 (Session Management)

  • 会话键 (Session Key): 每个对话有唯一标识
    • 直接聊天:agent:<agentId>:<mainKey>(默认 main
    • 群组/频道聊天:各自独立的会话键
  • DM 安全模式: 多用户环境下建议启用 dmScope: "per-channel-peer" 隔离不同用户的对话上下文
  • 会话存储:
    • 网关 (Gateway) 是会话状态的唯一来源
    • 存储文件:~/.openclaw/agents/<agentId>/sessions/sessions.json
    • 对话记录:~/.openclaw/agents/<agentId>/sessions/<SessionId>.jsonl

2. 上下文压缩 (Compaction)

  • 自动压缩: 当会话接近模型上下文窗口限制时自动触发
  • 手动压缩: 使用 /compact 命令强制压缩
  • 压缩过程: 将较早的对话总结为紧凑摘要,保留近期消息
  • 内存刷新: 压缩前自动触发静默回合,将持久记忆写入磁盘

3. 内存系统 (Memory)

  • 日常笔记: memory/YYYY-MM-DD.md(每日日志,追加模式)
  • 长期记忆: MEMORY.md(仅在主会话中加载)
  • 内存刷新阈值: contextWindow - reserveTokensFloor - softThresholdTokens

二、主要命令列表

会话管理命令

命令 别名 功能描述
/new /reset 开始新的会话(可选模型提示)
/compact [instructions] - 手动压缩上下文(可附加指令)
/status - 显示当前状态(包括提供者用量/配额)
/context [list|detail|json] - 查看上下文详情
/export-session [path] /export 导出当前会话为HTML

会话控制命令

命令 功能描述
/stop 立即中止当前运行的任务
/restart 重启(默认启用,可配置关闭)
/dock-telegram 切换回复到Telegram
/dock-discord 切换回复到Discord
/dock-slack 切换回复到Slack

模型与推理控制

命令 别名 参数 功能描述
/think /thinking, /t off|minimal|low|medium|high|xhigh 控制思考级别
/verbose /v on|full|off 控制详细输出
/reasoning /reason on|off|stream 控制推理显示
/elevated /elev on|off|ask|full 控制提升权限
/model /models <name><#> 切换模型
/queue - <mode> 加选项 控制队列行为

系统与配置命令

命令 功能描述 启用要求
/help 显示帮助信息 默认启用
/commands 列出可用命令 默认启用
/whoami 显示发送者ID(别名 /id 默认启用
/bash <command> 运行主机Shell命令 commands.bash: true
/config show|get|set|unset 持久化配置到磁盘 commands.config: true
/debug show|set|unset|reset 运行时配置覆盖 commands.debug: true
/allowlist 管理允许列表 commands.config: true

子代理管理

命令 功能描述
/subagents list|kill|log|info|send|steer|spawn 管理子代理运行
/acp spawn|cancel|steer|close|status|... 管理ACP运行时会话
/agents 列出此会话的线程绑定代理
/focus <target> 绑定线程到会话/子代理目标
/unfocus 移除当前线程绑定
/kill <id|#|all> 立即中止一个或所有运行中的子代理
/steer <id|#> <message> 立即引导运行中的子代理

技能命令

命令 功能描述
/skill <name> [input] 按名称运行技能
原生技能命令 每个用户可调用技能都有对应的 / 命令

三、命令系统功能

1. 命令类型

文本命令 (Text Commands)
  • 在聊天消息中以 / 开头
  • 适用于所有平台(包括不支持原生命令的平台)
  • 配置项:commands.text(默认 true
原生命令 (Native Commands)
  • 在支持的平台注册为原生斜杠命令
  • Discord、Telegram、Slack 支持
  • 配置项:commands.native(默认 "auto"
指令 (Directives)
  • 控制会话设置:/think/verbose/reasoning/elevated/exec/model/queue
  • 仅在消息只包含指令时持久化到会话
  • 授权发送者才能应用
内联快捷方式 (Inline Shortcuts)
  • 允许在正常消息中嵌入:/help/commands/status/whoami
  • 触发后立即运行并从消息中剥离,剩余文本继续正常流程

2. 权限控制

授权来源
  • commands.allowFrom:按提供者设置允许列表(优先)
  • commands.useAccessGroups:使用访问组(默认 true
  • 通道允许列表/配对
未授权处理
  • 命令专用消息:静默忽略
  • 内联 /... 标记:视为纯文本

3. 配置示例

{
  commands: {
    native: "auto",           // 自动注册原生命令
    nativeSkills: "auto",     // 自动注册技能命令
    text: true,               // 启用文本命令
    bash: false,              // 禁用bash命令
    config: false,            // 禁用config命令
    debug: false,             // 禁用debug命令
    restart: false,           // 禁用restart命令
    useAccessGroups: true,    // 使用访问组进行授权
  },
}

4. 平台特定说明

Discord
  • 原生命令:自动注册
  • 语音控制:/vc join|leave|status
  • 线程绑定:需要启用 session.threadBindings.enabled
Telegram
  • 原生命令:自动注册
  • 会话目标:telegram:slash:<userId>
Slack
  • 原生命令:需要手动为每个命令创建Slack斜杠命令
  • 会话前缀:可配置 channels.slack.slashCommand.sessionPrefix

四、重要注意事项

安全建议

  1. 多用户环境:启用安全DM模式(dmScope: "per-channel-peer"
  2. 敏感命令/bash/config/debug 需谨慎启用
  3. 群组设置/reasoning/verbose 可能暴露内部推理,建议关闭

性能优化

  1. 自动压缩:保持对话在上下文窗口内
  2. 内存刷新:在压缩前保存重要记忆
  3. 会话维护:定期清理旧会话(openclaw sessions cleanup

使用技巧

  1. 快速路径:允许列表发送者的命令专用消息立即处理(绕过队列+模型)
  2. 群组提及门控:命令专用消息绕过提及要求
  3. 模型选择:使用 /model 交互式选择器
  4. 技能调用:使用 /skill <name> 或原生技能命令
Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐