콘텐츠로 이동

OpenClaw 슬래시 커맨드 및 지시어 설정 가이드

슬래시 명령어는 Gateway에서 처리해요. 대부분의 명령어는 /로 시작하는 독립된 메시지로 보내야 하죠. 호스트 전용 bash chat 명령어는 ! <cmd>를 사용하며, /bash <cmd>를 별칭으로 쓸 수도 있어요.

여기에는 두 가지 관련 시스템이 있어요:

  • 명령어 (Commands): 독립적인 /... 메시지예요.
  • 디렉티브 (Directives): /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: true,
ownerAllowFrom: ["discord:123456789012345678"],
ownerDisplay: "raw",
ownerDisplaySecret: "${OWNER_ID_HASH_SECRET}",
allowFrom: {
"*": ["user1"],
discord: ["user:123"],
},
useAccessGroups: true,
},
}
  • commands.text (기본값 true): 채팅 메시지에서 /... 파싱을 활성화해요.
    • 네이티브 명령어를 지원하지 않는 환경(WhatsApp, WebChat, Signal, iMessage, Google Chat, Microsoft Teams)에서는 이 설정을 false로 해도 텍스트 명령어는 여전히 작동해요.
  • commands.native (기본값 "auto"): 네이티브 명령어를 등록해요.
    • Auto: Discord와 Telegram은 활성화, Slack은 비활성화(슬래시 명령어를 직접 추가하기 전까지) 상태이며, 네이티브 지원이 없는 제공자는 무시해요.
    • 제공자별로 설정을 덮어쓰려면 channels.discord.commands.native, channels.telegram.commands.native, 또는 channels.slack.commands.native를 설정하세요 (불리언 또는 "auto").
    • false로 설정하면 시작 시 Discord/Telegram에 이전에 등록된 명령어를 삭제해요. Slack 명령어는 Slack 앱에서 관리되므로 자동으로 삭제되지 않아요.
  • commands.nativeSkills (기본값 "auto"): 지원되는 경우 skill 명령어를 네이티브로 등록해요.
    • Auto: Discord와 Telegram은 활성화, Slack은 비활성화(Slack은 스킬당 슬래시 명령어를 생성해야 함) 상태예요.
    • 제공자별로 설정을 덮어쓰려면 channels.discord.commands.nativeSkills 등을 사용하세요.
  • 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 명령어를 활성화해요 (플러그인 검색, 상태 확인, 설치 및 활성화/비활성화 제어).
  • commands.debug (기본값 false): /debug 명령어를 활성화해요 (런타임 전용 오버라이드).
  • commands.restart (기본값 true): /restart 명령어와 gateway 재시작 도구 액션을 활성화해요.
  • commands.ownerAllowFrom (선택 사항): 소유자 전용 명령어/도구에 대한 명시적 소유자 화이트리스트를 설정해요. 이는 commands.allowFrom과는 별개예요.
  • commands.ownerDisplay: 시스템 프롬프트에 소유자 ID가 표시되는 방식을 제어해요 (raw 또는 hash).
  • commands.ownerDisplaySecret: commands.ownerDisplay="hash"일 때 사용할 HMAC 비밀키를 선택적으로 설정해요.
  • commands.allowFrom (선택 사항): 명령어 권한 부여를 위한 제공자별 화이트리스트를 설정해요. 이 설정이 있으면 명령어와 디렉티브에 대한 유일한 권한 소스가 돼요 (채널 화이트리스트나 commands.useAccessGroups는 무시돼요). 전역 기본값은 "*"를 사용하고, 제공자별 키로 이를 덮어쓸 수 있어요.
  • commands.useAccessGroups (기본값 true): commands.allowFrom이 설정되지 않았을 때 명령어에 대한 화이트리스트와 정책을 강제해요.

현재의 정보 소스(source-of-truth)는 다음과 같아요:

  • 핵심 빌트인은 src/auto-reply/commands-registry.shared.ts에서 가져와요.
  • 생성된 dock 명령어는 src/auto-reply/commands-registry.data.ts에서 가져와요.
  • 플러그인 명령어는 플러그인의 registerCommand() 호출을 통해 추가돼요.
  • 실제 gateway에서의 사용 가능 여부는 설정 플래그, 채널 환경, 설치 및 활성화된 플러그인에 따라 달라져요.

현재 사용 가능한 빌트인 명령어예요:

  • /new [model]: 새 세션을 시작해요. /reset은 이 명령어의 별칭이에요.
  • /compact [instructions]: 세션 컨텍스트를 압축해요. /concepts/compaction을 참고하세요.
  • /stop: 현재 실행 중인 작업을 중단해요.
  • /session idle &lt;duration|off&gt; 및 /session max-age &lt;duration|off&gt;: 스레드 바인딩 만료를 관리해요.
  • /think &lt;off|minimal|low|medium|high|xhigh&gt;: 생각 수준(thinking level)을 설정해요. 별칭: /thinking, /t.
  • /verbose on|off|full: 상세 출력 모드를 전환해요. 별칭: /v.
  • /fast [status|on|off]: fast 모드를 확인하거나 설정해요.
  • /reasoning [on|off|stream]: 추론 과정 표시 여부를 전환해요. 별칭: /reason.
  • /elevated [on|off|ask|full]: elevated 모드를 전환해요. 별칭: /elev.
  • /exec host=&lt;auto|sandbox|gateway|node&gt; security=&lt;deny|allowlist|full&gt; ask=&lt;off|on-miss|always&gt; node=&lt;id&gt;: exec 기본값을 확인하거나 설정해요.
  • /model [name|#|status]: 모델을 확인하거나 설정해요.
  • /models [provider] [page] [limit=<n>|size=<n>|all]: 제공자 또는 제공자의 모델 목록을 보여줘요.
  • /queue <mode>: 큐 동작(steer, interrupt, followup, collect, steer-backlog)과 옵션(debounce:2s cap:25 drop:summarize 등)을 관리해요.
  • /help: 간단한 도움말 요약을 보여줘요.
  • /commands: 생성된 명령어 카탈로그를 보여줘요.
  • /tools [compact|verbose]: 현재 에이전트가 지금 바로 사용할 수 있는 도구들을 보여줘요.
  • /status: 런타임 상태를 보여주며, 가능한 경우 제공자 사용량/쿼터도 포함해요.
  • /tasks: 현재 세션의 활성 또는 최근 백그라운드 태스크 목록을 보여줘요.
  • /context [list|detail|json]: 컨텍스트가 어떻게 구성되는지 설명해 줘요.
  • /export-session [path]: 현재 세션을 HTML로 내보내요. 별칭: /export.
  • /whoami: 발신자 ID를 보여줘요. 별칭: /id.
  • /skill <name> [input]: 이름으로 스킬을 실행해요.
  • /allowlist [list|add|remove] ...: 화이트리스트 항목을 관리해요. 텍스트 전용이에요.
  • /approve <id> <decision>: exec 승인 요청을 해결해요.
  • /btw <question>: 향후 세션 컨텍스트를 변경하지 않고 사이드 질문을 던져요. /tools/btw를 참고하세요.
  • /subagents list|kill|log|info|send|steer|spawn: 현재 세션의 서브 에이전트 실행을 관리해요.
  • /acp spawn|cancel|steer|close|sessions|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|help: ACP 세션과 런타임 옵션을 관리해요.
  • /focus <target>: 현재 Discord 스레드나 Telegram 토픽/대화를 세션 타겟에 바인딩해요.
  • /unfocus: 현재 바인딩을 제거해요.
  • /agents: 현재 세션에 스레드 바인딩된 에이전트 목록을 보여줘요.
  • /kill &lt;id|#|all&gt;: 하나 또는 모든 실행 중인 서브 에이전트를 중단해요.
  • /steer &lt;id|#&gt; &lt;message&gt;: 실행 중인 서브 에이전트에게 스티어링 메시지를 보내요. 별칭: /tell.
  • /config show|get|set|unset: openclaw.json을 읽거나 써요. 소유자 전용이며 commands.config: true 설정이 필요해요.
  • /mcp show|get|set|unset: mcp.servers 하위의 OpenClaw 관리 MCP 서버 설정을 읽거나 써요. 소유자 전용이며 commands.mcp: true 설정이 필요해요.
  • /plugins list|inspect|show|get|install|enable|disable: 플러그인 상태를 검사하거나 변경해요. /plugin은 별칭이에요. 쓰기 작업은 소유자 전용이며 commands.plugins: true 설정이 필요해요.
  • /debug show|set|unset|reset: 런타임 전용 설정 오버라이드를 관리해요. 소유자 전용이며 commands.debug: true 설정이 필요해요.
  • /usage off|tokens|full|cost: 응답별 사용량 푸터를 제어하거나 로컬 비용 요약을 출력해요.
  • /tts on|off|status|provider|limit|summary|audio|help: TTS를 제어해요. /tools/tts를 참고하세요.
  • /restart: 활성화된 경우 OpenClaw를 재시작해요. 기본값은 활성화이며, 비활성화하려면 commands.restart: false로 설정하세요.
  • /activation mention|always: 그룹 활성화 모드를 설정해요.
  • /send on|off|inherit: 전송 정책을 설정해요. 소유자 전용이에요.
  • /bash <command>: 호스트 쉘 명령어를 실행해요. 텍스트 전용이에요. 별칭은 ! <command>이며, commands.bash: true와 tools.elevated 화이트리스트가 필요해요.
  • !poll [sessionId]: 백그라운드 bash 작업을 확인해요.
  • !stop [sessionId]: 백그라운드 bash 작업을 중단해요.

Dock 명령어는 네이티브 명령어를 지원하는 채널 플러그인에서 생성돼요. 현재 포함된 세트는 다음과 같아요:

  • /dock-discord (별칭: /dock_discord)
  • /dock-mattermost (별칭: /dock_mattermost)
  • /dock-slack (별칭: /dock_slack)
  • /dock-telegram (별칭: /dock_telegram)

번들로 제공되는 플러그인들이 슬래시 명령어를 추가할 수 있어요. 현재 이 저장소에 포함된 명령어들입니다:

  • /dreaming [on|off|status|help]: 메모리 드리밍(memory dreaming)을 전환해요. Dreaming을 참고하세요.
  • /pair [qr|status|pending|approve|cleanup|notify]: 기기 페어링 및 설정 흐름을 관리해요. Pairing을 참고하세요.
  • /phone status|arm &lt;camera|screen|writes|all&gt; [duration]|disarm: 위험도가 높은 phone 노드 명령어를 일시적으로 승인(arm)해요.
  • /voice status|list [limit]|set &lt;voiceId|name&gt;: Talk 음성 설정을 관리해요. Discord에서 네이티브 명령어 이름은 /talkvoice예요.
  • /card ...: LINE 리치 카드 프리셋을 보내요. LINE을 참고하세요.
  • /codex status|models|threads|resume|compact|review|account|mcp|skills: 번들로 제공되는 Codex 앱 서버 하네스를 검사하고 제어해요. Codex Harness를 참고하세요.
  • QQBot 전용 명령어:
    • /bot-ping
    • /bot-version
    • /bot-help
    • /bot-upgrade
    • /bot-logs

사용자가 호출할 수 있는 스킬들도 슬래시 명령어로 노출돼요:

  • /skill <name> [input]은 언제나 일반적인 진입점으로 작동해요.
  • 스킬이나 플러그인이 직접 등록한 경우 /prose처럼 직접적인 명령어로 나타날 수도 있어요.
  • 네이티브 스킬 명령어 등록은 commands.nativeSkills 및 channels.<provider>.commands.nativeSkills 설정으로 제어해요.

참고 사항:

  • 명령어와 인자 사이에 선택적으로 :를 넣을 수 있어요 (예: /think: high, /send: on, /help:).
  • /new <model>은 모델 별칭, provider/model, 또는 제공자 이름(유사 일치)을 받아요. 일치하는 항목이 없으면 텍스트를 메시지 본문으로 취급해요.
  • 전체 제공자 사용량 내역을 보려면 openclaw status --usage를 사용하세요.
  • /allowlist add|remove는 commands.config=true가 필요하며 채널의 configWrites 설정을 준수해요.
  • 다중 계정 채널에서 특정 계정을 대상으로 하는 /allowlist --account <id> 및 /config set channels.<provider>.accounts.<id>... 역시 해당 계정의 configWrites 설정을 준수해요.
  • /usage는 응답별 사용량 푸터를 제어하고, /usage cost는 OpenClaw 세션 로그를 바탕으로 로컬 비용 요약을 출력해요.
  • /restart는 기본적으로 활성화되어 있어요. 비활성화하려면 commands.restart: false로 설정하세요.
  • /plugins install <spec>은 openclaw plugins install과 동일한 스펙(로컬 경로/아카이브, npm 패키지, 또는 clawhub:<pkg>)을 지원해요.
  • /plugins enable|disable은 플러그인 설정을 업데이트하며 재시작을 요청할 수 있어요.
  • 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는 디버깅과 가시성 확보를 위한 것이므로, 일반적인 사용 시에는 off로 두는 것이 좋아요.
  • /fast on|off는 세션 오버라이드를 유지해요. 이를 해제하고 설정 기본값으로 돌아가려면 Sessions UI의 inherit 옵션을 사용하세요.
  • /fast는 제공자별로 다르게 작동해요. OpenAI/OpenAI Codex는 네이티브 Responses 엔드포인트에서 service_tier=priority로 매핑하고, Anthropic 직접 요청(OAuth 인증 트래픽 포함)은 service_tier=auto 또는 standard_only로 매핑해요. OpenAI와 Anthropic 문서를 참고하세요.
  • 도구 실패 요약은 관련이 있을 때 표시되지만, 상세한 실패 텍스트는 /verbose가 on 또는 full일 때만 포함돼요.
  • /reasoning(및 /verbose)은 그룹 환경에서 위험할 수 있어요. 노출하고 싶지 않은 내부 추론이나 도구 출력이 드러날 수 있기 때문이죠. 특히 그룹 채팅에서는 꺼두는 것을 추천해요.
  • /model은 새 세션 모델을 즉시 유지해요.
    • 에이전트가 유휴 상태(idle)라면 다음 실행 시 즉시 적용돼요.
    • 이미 실행 중인 경우, OpenClaw는 라이브 전환을 대기 상태로 표시하고 깨끗한 재시도 시점에만 새 모델로 재시작해요.
    • 도구 활동이나 응답 출력이 이미 시작된 경우, 대기 중인 전환은 다음 재시도 기회나 다음 사용자 턴까지 큐에 머물 수 있어요.
  • 빠른 경로 (Fast path): 화이트리스트에 등록된 발신자의 명령어 전용 메시지는 즉시 처리돼요 (큐와 모델을 우회함).
  • 그룹 멘션 게이팅: 화이트리스트 발신자의 명령어 전용 메시지는 멘션 요구 사항을 우회해요.
  • 인라인 단축키 (화이트리스트 발신자 전용): 특정 명령어는 일반 메시지에 포함되어 있어도 작동하며, 모델이 보기 전에 해당 부분이 제거돼요.
    • 예: 안녕 /status라고 보내면 상태 응답이 트리거되고, 남은 텍스트는 일반적인 흐름으로 처리돼요.
    • 현재 지원: /help, /commands, /status, /whoami (/id).
  • 권한이 없는 사용자의 명령어 전용 메시지는 조용히 무시되고, 인라인 /... 토큰은 일반 텍스트로 취급돼요.
  • 스킬 명령어: user-invocable 스킬은 슬래시 명령어로 노출돼요. 이름은 a-z0-9_(최대 32자)로 정리되며, 충돌 시 숫자가 접미사로 붙어요 (예: _2).
    • /skill <name> [input]은 이름으로 스킬을 실행해요 (네이티브 명령어 제한으로 인해 스킬별 명령어를 만들 수 없을 때 유용해요).
    • 기본적으로 스킬 명령어는 일반 요청처럼 모델에게 전달돼요.
    • 스킬이 command-dispatch: tool을 선언하면 명령어를 도구로 직접 라우팅할 수 있어요 (결정론적 방식, 모델 개입 없음).
    • 예: /prose (OpenProse 플러그인) — OpenProse를 참고하세요.
  • 네이티브 명령어 인자: Discord는 동적 옵션에 자동 완성을 사용해요 (필수 인자를 누락하면 버튼 메뉴를 보여줘요). Telegram과 Slack은 선택지가 있는 명령어를 인자 없이 보낼 때 버튼 메뉴를 표시해요.

/tools는 설정에 대한 질문이 아니라, 런타임 질문에 답을 해줘요. 즉, “현재 대화에서 이 에이전트가 지금 바로 사용할 수 있는 것”이 무엇인지 알려주는 거죠.

  • 기본 /tools는 빠르게 훑어볼 수 있도록 최적화된 compact 모드로 제공돼요.
  • /tools verbose를 입력하면 짧은 설명이 추가된 내용을 볼 수 있어요.
  • 인자를 지원하는 네이티브 커맨드 화면에서도 compact|verbose 모드 전환을 똑같이 사용할 수 있어요.
  • 결과는 세션 범위(session-scoped)로 제한돼요. 그래서 에이전트, 채널, 스레드, 발신자 권한, 또는 모델을 변경하면 출력 내용이 달라질 수 있어요.
  • /tools에는 코어 도구, 연결된 플러그인 도구, 채널 소유 도구 등 런타임에 실제로 접근 가능한 도구들이 모두 포함돼요.

프로필이나 오버라이드를 수정하고 싶다면 /tools를 정적인 카탈로그처럼 사용하기보다는 Control UI Tools 패널이나 config/catalog 화면을 활용하는 것을 추천해요.

사용처 안내 (어디에 무엇이 표시되나요)

섹션 제목: “사용처 안내 (어디에 무엇이 표시되나요)”
  • Provider usage/quota (예: “Claude 80% left”): 사용량 추적 기능이 켜져 있다면, 현재 모델 Provider의 /status에서 확인할 수 있어요. OpenClaw는 Provider 윈도우를 % left 형태로 표준화해서 보여줘요. MiniMax의 경우, 남은 양 전용 퍼센트 필드는 표시되기 전에 반전 처리되며, model_remains 응답은 채팅 모델 항목과 모델 태그가 붙은 플랜 라벨을 우선적으로 선택해요.
  • Token/cache lines: 라이브 세션 스냅샷 데이터가 부족할 때, /status의 토큰/캐시 라인은 최신 트랜스크립트 사용 기록을 폴백(fallback)으로 가져와서 보여줄 수 있어요. 기존의 0이 아닌 라이브 값이 있다면 그 데이터가 우선적으로 표시돼요. 또한 트랜스크립트 폴백을 통해 활성 런타임 모델 라벨을 복구하거나, 저장된 총계가 없거나 더 작을 때 더 큰 프롬프트 중심의 총계를 찾아낼 수도 있어요.
  • Per-response tokens/cost: 일반 답변 뒤에 추가되는 /usage off|tokens|full 명령어로 이 기능을 제어할 수 있어요.
  • /model status는 사용량이 아니라 models/auth/endpoints에 관한 정보를 다루는 곳이에요.

/model은 디렉티브(directive)로 구현되어 있어요.

예시:

/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 overrides)

섹션 제목: “디버그 오버라이드 (Debug overrides)”

/debug를 사용하면 런타임 전용 설정 오버라이드를 지정할 수 있어요. 이 설정은 디스크가 아닌 메모리에만 유지돼요. 소유자(Owner) 전용 기능이며, 기본적으로 비활성화되어 있어요. 사용하려면 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)을 직접 수정해요. 보안을 위해 소유자(Owner)만 사용할 수 있는 기능이에요. 기본적으로는 비활성화되어 있으니, 사용하려면 commands.config: true 설정을 먼저 켜주세요.

사용 예시:

/config show
/config show messages.responsePrefix
/config get messages.responsePrefix
/config set messages.responsePrefix="[openclaw]"
/config unset messages.responsePrefix

참고 사항:

  • 설정을 저장하기 전에 유효성 검사를 먼저 진행해요. 잘못된 변경 사항은 적용되지 않고 거절돼요.
  • /config를 통해 업데이트한 내용은 프로그램을 재시작해도 그대로 유지돼요.

/mcp 명령어는 mcp.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 설정 파일에 정보를 저장해요.
  • 어떤 Transport가 실제로 실행 가능한지는 런타임 어댑터가 결정해요.

/plugins를 사용하면 운영자가 발견된 플러그인을 확인하고 설정에서 활성화 여부를 전환할 수 있어요. 읽기 전용 흐름에서는 /plugin을 별칭으로 쓸 수 있죠. 기본적으로는 비활성화되어 있으니, commands.plugins: true로 설정해서 활성화해 주세요.

예시:

/plugins
/plugins list
/plugin show context7
/plugins enable context7
/plugins disable context7

참고 사항:

  • /plugins list와 /plugins show는 현재 워크스페이스와 디스크 상의 설정을 대조해 실제 플러그인을 찾아내요.
  • /plugins enable|disable은 플러그인 설정만 업데이트할 뿐, 플러그인을 직접 설치하거나 삭제하지는 않아요.
  • 활성화 또는 비활성화 설정을 변경한 후에는 Gateway를 재시작해야 변경 사항이 적용돼요.
  • Text commands는 일반적인 채팅 세션에서 실행돼요 (DM은 main 세션을 공유하고, 그룹은 각자의 세션을 가져요).
  • Native commands는 격리된 세션을 사용해요:
    • Discord: agent:<agentId>:discord:slash:<userId>
    • Slack: agent:<agentId>:slack:slash:<userId> (접두사는 channels.slack.slashCommand.sessionPrefix를 통해 설정 가능해요)
    • Telegram: telegram:slash:<userId> (CommandTargetSessionKey를 통해 채팅 세션을 타겟팅해요)
  • **/stop**은 현재 실행 중인 작업을 중단할 수 있도록 활성화된 채팅 세션을 타겟팅해요.
  • Slack: 단일 /openclaw 스타일 명령어를 위해 channels.slack.slashCommand를 여전히 지원해요. 만약 commands.native를 활성화한다면, 빌트인 명령어마다 하나씩 Slack slash command를 만들어야 해요 (/help와 동일한 이름으로요). Slack의 명령어 인자 메뉴는 ephemeral Block Kit 버튼으로 전달돼요.
    • Slack native 예외 사항: Slack에서 /status를 예약어로 사용하기 때문에 /status 대신 /agentstatus를 등록해야 해요. Slack 메시지 내에서 텍스트로 입력하는 /status는 여전히 작동해요.

/btw는 현재 세션에 대해 빠르게 사이드 질문을 던질 때 사용해요.

일반적인 채팅과는 다음과 같은 점이 달라요:

  • 현재 세션을 배경 컨텍스트로 사용해요.
  • 별도의 tool-less 일회성(one-shot) 호출로 실행돼요.
  • 향후 세션 컨텍스트를 변경하지 않아요.
  • 대화 기록(transcript history)에 기록되지 않아요.
  • 일반적인 assistant 메시지가 아닌 실시간 사이드 결과로 전달돼요.

이런 특징 덕분에 메인 작업은 계속 진행하면서 잠깐 설명이 필요할 때 /btw를 쓰면 아주 유용해요.

예시:

/btw what are we doing right now?

전체 동작 방식과 클라이언트 UX에 대한 자세한 내용은 BTW Side Questions 문서를 참고해 주세요.

OpenClaw

OpenClaw Expert

아직 막혀 있나요?

이 문서에서 답을 못 찾았다면 OpenClaw Expert에게 바로 물어보세요.