메인 콘텐츠로 건너뛰기

슬래시 명령

명령은 Gateway에서 처리됩니다. 대부분의 명령은 /로 시작하는 독립 실행형 메시지로 보내야 합니다. 호스트 전용 bash 채팅 명령은 ! <cmd>를 사용합니다( /bash <cmd>는 별칭). 관련된 시스템은 두 가지입니다:
  • 명령: 독립 실행형 /... 메시지
  • 지시어: /think, /fast, /verbose, /reasoning, /elevated, /exec, /model, /queue
    • 지시어는 모델이 메시지를 보기 전에 제거됩니다.
    • 일반 채팅 메시지(지시어만 있는 메시지가 아님)에서는 “인라인 힌트”로 처리되며 세션 설정을 유지하지 않습니다.
    • 지시어만 있는 메시지(메시지에 지시어만 포함된 경우)에서는 세션에 유지되며 확인 응답을 반환합니다.
    • 지시어는 권한이 있는 발신자에게만 적용됩니다. commands.allowFrom이 설정되어 있으면 이것이 사용되는 유일한 허용 목록입니다. 그렇지 않으면 권한은 채널 허용 목록/페어링과 commands.useAccessGroups에서 가져옵니다. 권한이 없는 발신자에게는 지시어가 일반 텍스트로 처리됩니다.
또한 몇 가지 인라인 바로가기도 있습니다(허용 목록에 있고 권한이 있는 발신자만): /help, /commands, /status, /whoami (/id). 이들은 즉시 실행되고, 모델이 메시지를 보기 전에 제거되며, 남은 텍스트는 정상 흐름으로 계속 처리됩니다.

구성

{
  commands: {
    native: "auto",
    nativeSkills: "auto",
    text: true,
    bash: false,
    bashForegroundMs: 2000,
    config: false,
    mcp: false,
    plugins: false,
    debug: false,
    restart: false,
    allowFrom: {
      "*": ["user1"],
      discord: ["user:123"],
    },
    useAccessGroups: true,
  },
}
  • commands.text(기본값 true)는 채팅 메시지에서 /... 구문 분석을 활성화합니다.
    • 기본 제공 명령이 없는 표면(WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams)에서는 이를 false로 설정해도 텍스트 명령이 계속 동작합니다.
  • commands.native(기본값 "auto")는 기본 제공 명령을 등록합니다.
    • 자동: Discord/Telegram에서는 켜짐, Slack에서는 꺼짐(슬래시 명령을 추가할 때까지), 기본 지원이 없는 공급자에서는 무시됨.
    • 공급자별 재정의를 위해 channels.discord.commands.native, channels.telegram.commands.native, channels.slack.commands.native를 설정하세요(bool 또는 "auto").
    • false는 시작 시 Discord/Telegram에서 이전에 등록된 명령을 제거합니다. Slack 명령은 Slack 앱에서 관리되며 자동으로 제거되지 않습니다.
  • commands.nativeSkills(기본값 "auto")는 지원되는 경우 Skill 명령을 기본 제공 방식으로 등록합니다.
    • 자동: Discord/Telegram에서는 켜짐, Slack에서는 꺼짐(Slack은 Skill마다 슬래시 명령을 하나씩 만들어야 함).
    • 공급자별 재정의를 위해 channels.discord.commands.nativeSkills, channels.telegram.commands.nativeSkills, channels.slack.commands.nativeSkills를 설정하세요(bool 또는 "auto").
  • commands.bash(기본값 false)는 ! <cmd>로 호스트 셸 명령 실행을 활성화합니다( /bash <cmd>는 별칭이며 tools.elevated 허용 목록이 필요).
  • commands.bashForegroundMs(기본값 2000)는 bash가 백그라운드 모드로 전환되기 전에 얼마나 기다릴지 제어합니다(0이면 즉시 백그라운드로 전환).
  • commands.config(기본값 false)는 /config를 활성화합니다(openclaw.json 읽기/쓰기).
  • commands.mcp(기본값 false)는 /mcp를 활성화합니다(mcp.servers 아래의 OpenClaw 관리 MCP 구성 읽기/쓰기).
  • commands.plugins(기본값 false)는 /plugins를 활성화합니다(plugin 검색/상태 및 설치 + 활성화/비활성화 제어).
  • commands.debug(기본값 false)는 /debug를 활성화합니다(런타임 전용 재정의).
  • commands.allowFrom(선택 사항)은 명령 권한 부여를 위한 공급자별 허용 목록을 설정합니다. 구성되면 이것이 명령과 지시어의 유일한 권한 소스가 되며(채널 허용 목록/페어링 및 commands.useAccessGroups는 무시됨), 전역 기본값에는 "*"를 사용하고 공급자별 키가 이를 재정의합니다.
  • commands.useAccessGroups(기본값 true)는 commands.allowFrom이 설정되지 않았을 때 명령에 허용 목록/정책을 적용합니다.

명령 목록

텍스트 + 기본 제공(활성화된 경우):
  • /help
  • /commands
  • /tools [compact|verbose] (현재 에이전트가 지금 바로 무엇을 사용할 수 있는지 표시; verbose는 설명 추가)
  • /skill <name> [input] (이름으로 Skill 실행)
  • /status (현재 상태 표시; 가능한 경우 현재 모델 공급자의 공급자 usage/할당량 포함)
  • /tasks (현재 세션의 백그라운드 작업 나열; 활성 및 최근 작업 세부 정보와 에이전트 로컬 폴백 개수 표시)
  • /allowlist (허용 목록 항목 나열/추가/제거)
  • /approve <id> <decision> (exec 승인 프롬프트 해결; 사용 가능한 결정은 대기 중인 승인 메시지를 사용)
  • /context [list|detail|json] (“context” 설명; detail은 파일별 + 도구별 + Skill별 + system 프롬프트 크기 표시)
  • /btw <question> (향후 세션 컨텍스트를 변경하지 않고 현재 세션에 대한 임시 사이드 질문; /tools/btw 참조)
  • /export-session [path] (별칭: /export) (전체 system 프롬프트와 함께 현재 세션을 HTML로 내보내기)
  • /whoami (발신자 ID 표시; 별칭: /id)
  • /session idle <duration|off> (포커스된 스레드 바인딩에 대한 비활성 자동 unfocus 관리)
  • /session max-age <duration|off> (포커스된 스레드 바인딩에 대한 하드 max-age 자동 unfocus 관리)
  • /subagents list|kill|log|info|send|steer|spawn (현재 세션의 하위 에이전트 실행을 검사, 제어 또는 생성)
  • /acp spawn|cancel|steer|close|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|sessions (ACP 런타임 세션 검사 및 제어)
  • /agents (이 세션에 스레드 바인딩된 에이전트 나열)
  • /focus <target> (Discord: 이 스레드 또는 새 스레드를 세션/하위 에이전트 대상에 바인딩)
  • /unfocus (Discord: 현재 스레드 바인딩 제거)
  • /kill <id|#|all> (이 세션의 하나 또는 모든 실행 중인 하위 에이전트를 즉시 중단; 확인 메시지 없음)
  • /steer <id|#> <message> (실행 중인 하위 에이전트를 즉시 조정: 가능하면 실행 중 조정, 그렇지 않으면 현재 작업을 중단하고 조정 메시지로 재시작)
  • /tell <id|#> <message> (/steer의 별칭)
  • /config show|get|set|unset (디스크에 구성 유지, 소유자 전용; commands.config: true 필요)
  • /mcp show|get|set|unset (OpenClaw MCP 서버 구성 관리, 소유자 전용; commands.mcp: true 필요)
  • /plugins list|show|get|install|enable|disable (검색된 plugin 검사, 새 plugin 설치, 활성화 토글; 쓰기는 소유자 전용; commands.plugins: true 필요)
    • /plugin/plugins의 별칭입니다.
    • /plugin install <spec>openclaw plugins install과 동일한 plugin 사양을 받습니다: 로컬 경로/아카이브, npm 패키지 또는 clawhub:<pkg>.
    • 활성화/비활성화 쓰기는 여전히 재시작 힌트와 함께 응답합니다. watched foreground gateway에서는 OpenClaw가 쓰기 직후 해당 재시작을 자동 수행할 수 있습니다.
  • /debug show|set|unset|reset (런타임 재정의, 소유자 전용; commands.debug: true 필요)
  • /usage off|tokens|full|cost (응답별 usage 푸터 또는 로컬 비용 요약)
  • /tts off|always|inbound|tagged|status|provider|limit|summary|audio (TTS 제어; /tts 참조)
    • Discord: 기본 제공 명령은 /voice입니다(Discord는 /tts를 예약함); 텍스트 /tts는 여전히 동작합니다.
  • /stop
  • /restart
  • /dock-telegram (별칭: /dock_telegram) (응답을 Telegram으로 전환)
  • /dock-discord (별칭: /dock_discord) (응답을 Discord로 전환)
  • /dock-slack (별칭: /dock_slack) (응답을 Slack으로 전환)
  • /activation mention|always (그룹 전용)
  • /send on|off|inherit (소유자 전용)
  • /reset 또는 /new [model] (선택적 모델 힌트; 나머지는 그대로 전달됨)
  • /think <off|minimal|low|medium|high|xhigh> (모델/공급자별 동적 선택지; 별칭: /thinking, /t)
  • /fast status|on|off (인자를 생략하면 현재 유효한 fast-mode 상태 표시)
  • /verbose on|full|off (별칭: /v)
  • /reasoning on|off|stream (별칭: /reason; on이면 Reasoning:으로 시작하는 별도 메시지 전송, stream = Telegram 초안 전용)
  • /elevated on|off|ask|full (별칭: /elev; full은 exec 승인을 건너뜀)
  • /exec host=<auto|sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id> (현재 상태를 보려면 /exec 전송)
  • /model <name> (별칭: /models; 또는 agents.defaults.models.*.alias/<alias>)
  • /queue <mode> (debounce:2s cap:25 drop:summarize 같은 옵션 포함; 현재 설정을 보려면 /queue 전송)
  • /bash <command> (호스트 전용; ! <command>의 별칭; commands.bash: true + tools.elevated 허용 목록 필요)
  • /dreaming [off|core|rem|deep|status|help] (dreaming 모드 토글 또는 상태 표시; Dreaming 참조)
텍스트 전용:
  • /compact [instructions] (/concepts/compaction 참조)
  • ! <command> (호스트 전용, 한 번에 하나; 장기 실행 작업에는 !poll + !stop 사용)
  • !poll (출력 / 상태 확인; 선택적 sessionId 허용; /bash poll도 동작)
  • !stop (실행 중인 bash 작업 중지; 선택적 sessionId 허용; /bash stop도 동작)
참고:
  • 명령은 명령과 인자 사이에 선택적으로 :를 허용합니다(예: /think: high, /send: on, /help:).
  • /new <model>은 모델 별칭, provider/model, 또는 공급자 이름(퍼지 매치)을 허용하며, 일치하지 않으면 텍스트가 메시지 본문으로 처리됩니다.
  • 전체 공급자 usage 분석은 openclaw status --usage를 사용하세요.
  • /allowlist add|removecommands.config=true가 필요하며 채널 configWrites를 따릅니다.
  • 다중 계정 채널에서 구성 대상 /allowlist --account <id>/config set channels.<provider>.accounts.<id>...도 대상 계정의 configWrites를 따릅니다.
  • /usage는 응답별 usage 푸터를 제어하고, /usage cost는 OpenClaw 세션 로그에서 로컬 비용 요약을 출력합니다.
  • /restart는 기본적으로 활성화되어 있으며, 비활성화하려면 commands.restart: false를 설정하세요.
  • Discord 전용 기본 제공 명령: /vc join|leave|status는 음성 채널을 제어합니다(channels.discord.voice 및 기본 제공 명령 필요, 텍스트로는 사용 불가).
  • Discord 스레드 바인딩 명령(/focus, /unfocus, /agents, /session idle, /session max-age)은 유효한 스레드 바인딩이 활성화되어 있어야 합니다(session.threadBindings.enabled 및/또는 channels.discord.threadBindings.enabled).
  • ACP 명령 참조 및 런타임 동작: ACP Agents.
  • /verbose는 디버깅 및 추가 가시성을 위한 것이므로 일반 사용에서는 꺼짐으로 유지하세요.
  • /fast on|off는 세션 재정의를 유지합니다. 이를 지우고 구성 기본값으로 되돌리려면 Sessions UI의 inherit 옵션을 사용하세요.
  • /fast는 공급자별입니다: OpenAI/OpenAI Codex는 기본 Responses 엔드포인트에서 이를 service_tier=priority로 매핑하고, 직접 공개 Anthropic 요청( api.anthropic.com으로 전송되는 OAuth 인증 트래픽 포함)은 이를 service_tier=auto 또는 standard_only로 매핑합니다. OpenAIAnthropic을 참조하세요.
  • 도구 실패 요약은 관련이 있으면 계속 표시되지만, 자세한 실패 텍스트는 /verboseon 또는 full일 때만 포함됩니다.
  • /reasoning(및 /verbose)은 그룹 설정에서 위험할 수 있습니다. 의도하지 않은 내부 추론이나 도구 출력을 노출할 수 있습니다. 특히 그룹 채팅에서는 꺼 두는 것이 좋습니다.
  • /model은 새 세션 모델을 즉시 유지합니다.
  • 에이전트가 유휴 상태이면 다음 실행에서 바로 사용됩니다.
  • 이미 실행이 활성 상태이면 OpenClaw는 라이브 전환을 대기 중으로 표시하고 깔끔한 재시도 지점에서만 새 모델로 재시작합니다.
  • 도구 활동이나 응답 출력이 이미 시작된 경우, 대기 중인 전환은 이후 재시도 기회나 다음 사용자 턴까지 큐에 남아 있을 수 있습니다.
  • 빠른 경로: 허용 목록에 있는 발신자의 명령 전용 메시지는 즉시 처리됩니다(큐 + 모델 우회).
  • 그룹 멘션 게이팅: 허용 목록에 있는 발신자의 명령 전용 메시지는 멘션 요구 사항을 우회합니다.
  • 인라인 바로가기(허용 목록에 있는 발신자만): 특정 명령은 일반 메시지에 포함되어 있어도 동작하며 모델이 나머지 텍스트를 보기 전에 제거됩니다.
    • 예: hey /status는 상태 응답을 트리거하고, 나머지 텍스트는 정상 흐름으로 계속 처리됩니다.
  • 현재: /help, /commands, /status, /whoami (/id)
  • 권한이 없는 명령 전용 메시지는 조용히 무시되며, 인라인 /... 토큰은 일반 텍스트로 처리됩니다.
  • Skill 명령: user-invocable Skill은 슬래시 명령으로 노출됩니다. 이름은 a-z0-9_로 정리되며(최대 32자), 충돌 시 숫자 접미사가 붙습니다(예: _2).
    • /skill <name> [input]은 이름으로 Skill을 실행합니다(Skill별 명령이 기본 제공 명령 제한에 걸릴 때 유용).
    • 기본적으로 Skill 명령은 일반 요청으로 모델에 전달됩니다.
    • Skill은 선택적으로 command-dispatch: tool을 선언하여 명령을 도구로 직접 라우팅할 수 있습니다(결정적이며 모델 없음).
    • 예: /prose (OpenProse plugin) — OpenProse 참조.
  • 기본 제공 명령 인자: Discord는 동적 옵션에 autocomplete를 사용합니다(필수 인자를 생략하면 버튼 메뉴도 사용). Telegram과 Slack은 명령이 선택지를 지원하고 인자를 생략하면 버튼 메뉴를 표시합니다.

/tools

/tools는 구성 질문이 아니라 런타임 질문에 답합니다: 이 에이전트가 지금 이 대화에서 무엇을 사용할 수 있는가.
  • 기본 /tools는 간결하며 빠르게 훑어보기에 최적화되어 있습니다.
  • /tools verbose는 짧은 설명을 추가합니다.
  • 인자를 지원하는 기본 제공 명령 표면은 compact|verbose와 같은 모드 전환을 노출합니다.
  • 결과는 세션 범위이므로 에이전트, 채널, 스레드, 발신자 권한, 모델이 바뀌면 출력도 달라질 수 있습니다.
  • /tools에는 코어 도구, 연결된 plugin 도구, 채널 소유 도구를 포함해 런타임에서 실제로 도달 가능한 도구가 포함됩니다.
프로필 및 재정의 편집은 /tools를 정적 카탈로그로 취급하지 말고 Control UI 도구 패널이나 구성/카탈로그 표면을 사용하세요.

Usage 표면(어디에 무엇이 표시되는가)

  • 공급자 usage/할당량(예: “Claude 80% left”)은 usage 추적이 활성화되어 있을 때 현재 모델 공급자에 대해 /status에 표시됩니다. OpenClaw는 공급자 기간을 % left로 정규화합니다. MiniMax의 경우 남은 비율 전용 필드는 표시 전에 반전되며, model_remains 응답은 채팅 모델 항목과 모델 태그가 붙은 플랜 레이블을 우선 사용합니다.
  • /status토큰/캐시 줄은 실시간 세션 스냅샷이 희소할 때 최신 전사 usage 항목으로 폴백할 수 있습니다. 기존의 0이 아닌 실시간 값이 여전히 우선하며, 전사 폴백은 저장된 총합이 없거나 더 작을 때 활성 런타임 모델 레이블과 더 큰 프롬프트 중심 총합도 복구할 수 있습니다.
  • 응답별 토큰/비용/usage off|tokens|full로 제어됩니다(일반 응답에 덧붙여짐).
  • /model status는 usage가 아니라 모델/인증/엔드포인트에 관한 것입니다.

모델 선택 (/model)

/model은 지시어로 구현됩니다. 예시:
/model
/model list
/model 3
/model openai/gpt-5.4
/model opus@anthropic:default
/model status
참고:
  • /model/model list는 간결한 번호 선택기(모델 계열 + 사용 가능한 공급자)를 표시합니다.
  • Discord에서 /model/models는 공급자 및 모델 드롭다운과 Submit 단계를 포함한 대화형 선택기를 엽니다.
  • /model <#>는 해당 선택기에서 선택하며(가능하면 현재 공급자를 우선함),
  • /model status는 가능한 경우 구성된 공급자 엔드포인트(baseUrl)와 API 모드(api)를 포함한 자세한 보기를 표시합니다.

디버그 재정의

/debug를 사용하면 런타임 전용 구성 재정의(메모리, 디스크 아님)를 설정할 수 있습니다. 소유자 전용입니다. 기본적으로 비활성화되어 있으며 commands.debug: true로 활성화합니다. 예시:
/debug show
/debug set messages.responsePrefix="[openclaw]"
/debug set channels.whatsapp.allowFrom=["+1555","+4477"]
/debug unset messages.responsePrefix
/debug reset
참고:
  • 재정의는 새 구성 읽기에 즉시 적용되지만 openclaw.json에는 기록되지 않습니다.
  • /debug reset을 사용해 모든 재정의를 지우고 디스크의 구성으로 돌아가세요.

구성 업데이트

/config는 디스크의 구성(openclaw.json)에 기록합니다. 소유자 전용입니다. 기본적으로 비활성화되어 있으며 commands.config: true로 활성화합니다. 예시:
/config show
/config show messages.responsePrefix
/config get messages.responsePrefix
/config set messages.responsePrefix="[openclaw]"
/config unset messages.responsePrefix
참고:
  • 쓰기 전에 구성을 검증하며, 잘못된 변경은 거부됩니다.
  • /config 업데이트는 재시작 후에도 유지됩니다.

MCP 업데이트

/mcpmcp.servers 아래의 OpenClaw 관리 MCP 서버 정의를 기록합니다. 소유자 전용입니다. 기본적으로 비활성화되어 있으며 commands.mcp: true로 활성화합니다. 예시:
/mcp show
/mcp show context7
/mcp set context7={"command":"uvx","args":["context7-mcp"]}
/mcp unset context7
참고:
  • /mcp는 Pi 소유 프로젝트 설정이 아니라 OpenClaw 구성에 저장합니다.
  • 런타임 어댑터가 실제로 실행 가능한 전송을 결정합니다.

Plugin 업데이트

/plugins를 사용하면 운영자가 검색된 plugin을 검사하고 구성에서 활성화를 전환할 수 있습니다. 읽기 전용 흐름은 /plugin을 별칭으로 사용할 수 있습니다. 기본적으로 비활성화되어 있으며 commands.plugins: true로 활성화합니다. 예시:
/plugins
/plugins list
/plugin show context7
/plugins enable context7
/plugins disable context7
참고:
  • /plugins list/plugins show는 현재 워크스페이스와 디스크 구성을 기준으로 실제 plugin 검색을 사용합니다.
  • /plugins enable|disable는 plugin 구성만 업데이트하며 plugin을 설치하거나 제거하지는 않습니다.
  • 활성화/비활성화 변경 후 적용하려면 gateway를 재시작하세요.

표면 참고 사항

  • 텍스트 명령은 일반 채팅 세션에서 실행됩니다(DM은 main을 공유하고 그룹은 자체 세션을 가짐).
  • 기본 제공 명령은 격리된 세션을 사용합니다:
    • Discord: agent:<agentId>:discord:slash:<userId>
    • Slack: agent:<agentId>:slack:slash:<userId> (접두사는 channels.slack.slashCommand.sessionPrefix로 구성 가능)
    • Telegram: telegram:slash:<userId> (CommandTargetSessionKey를 통해 채팅 세션을 대상으로 함)
  • **/stop**은 현재 채팅 세션을 대상으로 하므로 현재 실행을 중단할 수 있습니다.
  • Slack: channels.slack.slashCommand는 단일 /openclaw 스타일 명령에 대해 여전히 지원됩니다. commands.native를 활성화하면 내장 명령마다 Slack 슬래시 명령을 하나씩 만들어야 합니다(/help와 동일한 이름). Slack용 명령 인자 메뉴는 ephemeral Block Kit 버튼으로 전달됩니다.
    • Slack 기본 제공 예외: Slack이 /status를 예약하므로 /status가 아니라 /agentstatus를 등록하세요. 텍스트 /status는 Slack 메시지에서 여전히 동작합니다.

BTW 사이드 질문

/btw는 현재 세션에 대한 빠른 사이드 질문입니다. 일반 채팅과 달리:
  • 현재 세션을 배경 컨텍스트로 사용하고,
  • 별도의 도구 없는 원샷 호출로 실행되며,
  • 향후 세션 컨텍스트를 변경하지 않고,
  • 전사 기록에 기록되지 않으며,
  • 일반 어시스턴트 메시지가 아니라 실시간 사이드 결과로 전달됩니다.
이 때문에 /btw는 기본 작업을 계속 유지하면서 일시적인 명확화가 필요할 때 유용합니다. 예시:
/btw 지금 우리는 무엇을 하고 있나요?
전체 동작과 클라이언트 UX 세부 정보는 BTW 사이드 질문을 참조하세요.