斜杠命令
命令由网关处理。多数命令须以 ** standalone** 消息发送,且以 / 开头。仅主机的 bash 聊天命令使用 ! <cmd>(别名 /bash <cmd>)。有两类相关机制:
- 命令:独立的
/...消息。 - 指令:
/think、/verbose、/reasoning、/elevated、/exec、/model、/queue。- 指令在模型看到消息前被剥离。
- 在普通聊天消息(非仅指令)中,它们被视为“行内提示”,不持久化会话设置。
- 在仅含指令的消息中,它们会持久化到会话并回复确认。
- 指令仅对授权发送方生效(频道白名单/配对及
commands.useAccessGroups)。未授权发送方看到的指令会被当作普通文本。
还有若干行内快捷命令(仅白名单/授权发送方):/help、/commands、/status、/whoami(/id)。它们立即执行,在模型看到消息前被剥离,剩余文本继续走正常流程。
配置
{
commands: {
native: "auto",
nativeSkills: "auto",
text: true,
bash: false,
bashForegroundMs: 2000,
config: false,
debug: false,
restart: false,
useAccessGroups: true
}
}commands.text(默认true):在聊天消息中解析/...。在无原生命令的表面(WhatsApp/WebChat/Signal/iMessage/Google Chat/MS Teams),即使设为false文本命令仍可用。commands.native(默认"auto"):注册原生命令。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"):在支持的平台上原生注册技能命令。Auto:Discord/Telegram 开启;Slack 关闭(Slack 需为每个技能创建斜杠命令)。可按提供商覆盖。commands.bash(默认false):允许! <cmd>在主机上执行 shell 命令(/bash <cmd>为别名;需tools.elevated白名单)。commands.bashForegroundMs(默认2000):bash 在切到后台前等待时长(0表示立即后台)。commands.config(默认false):启用/config(读写moltbot.json)。commands.debug(默认false):启用/debug(仅运行时覆盖)。commands.useAccessGroups(默认true):对命令强制白名单/策略。
命令列表
文本 + 原生(启用时):/help、/commands、/skill <name> [input]、/status、/allowlist、/approve <id> allow-once|allow-always|deny、/context [list|detail|json]、/whoami(/id)、/subagents list|stop|log|info|send、/config show|get|set|unset、/debug show|set|unset|reset、/usage off|tokens|full|cost、/tts(Discord 原生为 /voice)、/stop、/restart、/dock-telegram、/dock-discord、/dock-slack、/activation mention|always、/send on|off|inherit、/reset 或 /new [model]、/think、/verbose(/v)、/reasoning(/reason)、/elevated(/elev)、/exec、/model、/queue、/bash <command>。
仅文本:/compact [instructions](见 compaction)、! <command>、!poll、!stop。
说明:命令与参数之间可有可选 :(如 /think: high、/send: on)。/new <model> 接受模型别名、provider/model 或提供商名称(模糊匹配);无匹配时文本视为消息正文。完整提供商用量见 moltbot status --usage。/allowlist add|remove 需 commands.config=true 并遵循频道 configWrites。/usage 控制每条回复的用量脚注;/usage cost 从 Moltbot 会话日志打印本地成本汇总。/restart 默认关闭;设 commands.restart: true 启用。/verbose 用于调试与可见性;日常建议关闭。/reasoning(及 /verbose)在群组中有风险:可能暴露内部推理或工具输出;尤其在群聊中建议关闭。快速路径:来自白名单发送方的纯命令消息会立即处理(绕过队列与模型)。群组提及门控:白名单发送方的纯命令消息可绕过提及要求。行内快捷(仅白名单发送方):部分命令也可嵌入在普通消息中,执行前被剥离,剩余文本继续正常流程;例如 hey /status 会触发状态回复。当前支持:/help、/commands、/status、/whoami(/id)。未授权的纯命令消息会被静默忽略,行内 /... 会被当作普通文本。技能命令:user-invocable 技能会以斜杠命令形式暴露;名称规范为 a-z0-9_(最多 32 字符);冲突时加数字后缀(如 _2)。/skill <name> [input] 按名称运行技能。默认技能命令会转发给模型作为普通请求。技能可声明 command-dispatch: tool 将命令直接路由到工具(确定性,不经模型)。原生命令参数:Discord 对动态选项使用自动完成(缺省必填参数时用按钮菜单);Telegram 与 Slack 在命令支持选项且缺省参数时显示按钮菜单。
使用表面(何处显示)
- 提供商用量/配额(如“Claude 剩余 80%”)在启用用量跟踪时于
/status中显示当前模型提供商。 - 每条回复的 token/成本由
/usage off|tokens|full控制(追加到正常回复)。 /model status关于模型/认证/端点,非用量。
模型选择(/model)
/model 以指令形式实现。示例:/model、/model list、/model 3、/model openai/gpt-5.2、/model opus@anthropic:default、/model status。说明:/model 与 /model list 显示紧凑编号选择器(模型系列 + 可用提供商)。/model <#> 从该选择器选择(优先当前提供商)。/model status 显示详细视图,含已配置的提供商端点(baseUrl)与 API 模式(api)(若可用)。
调试覆盖
/debug 用于仅运行时的配置覆盖(内存,不写盘)。仅所有者。默认关闭;设 commands.debug: true 启用。示例:/debug show、/debug set messages.responsePrefix="[moltbot]"、/debug unset messages.responsePrefix、/debug reset。说明:覆盖会立即影响新配置读取,但不写入 moltbot.json。用 /debug reset 清除所有覆盖并恢复磁盘配置。
配置更新
/config 写入磁盘配置(moltbot.json)。仅所有者。默认关闭;设 commands.config: true 启用。示例:/config show、/config get messages.responsePrefix、/config set messages.responsePrefix="[moltbot]"、/config unset messages.responsePrefix。说明:写入前会校验配置;无效变更会被拒绝。/config 的更新会跨重启保留。
表面说明
- 文本命令在正常聊天会话中运行(私信共享
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仍支持单一/clawd风格命令。若启用commands.native,须在 Slack 中为每个内置命令创建一个斜杠命令(名称与/help等一致)。Slack 的命令参数菜单以临时 Block Kit 按钮形式呈现。