feat(commands): add /usage alias for /status
This commit is contained in:
@@ -377,7 +377,7 @@ Options:
|
|||||||
Clawdbot can surface provider usage/quota when OAuth/API creds are available.
|
Clawdbot can surface provider usage/quota when OAuth/API creds are available.
|
||||||
|
|
||||||
Surfaces:
|
Surfaces:
|
||||||
- `/status` (adds a short usage line when available)
|
- `/status` (alias: `/usage`; adds a short usage line when available)
|
||||||
- `clawdbot status --usage` (prints full provider breakdown)
|
- `clawdbot status --usage` (prints full provider breakdown)
|
||||||
- macOS menu bar (Usage section under Context)
|
- macOS menu bar (Usage section under Context)
|
||||||
|
|
||||||
|
|||||||
@@ -35,8 +35,7 @@ Directives (`/think`, `/verbose`, `/reasoning`, `/elevated`) are parsed even whe
|
|||||||
|
|
||||||
Text + native (when enabled):
|
Text + native (when enabled):
|
||||||
- `/help`
|
- `/help`
|
||||||
- `/status`
|
- `/status` (alias: `/usage`)
|
||||||
- `/debug show|set|unset|reset` (runtime overrides, owner-only)
|
|
||||||
- `/cost on|off` (toggle per-response usage line)
|
- `/cost on|off` (toggle per-response usage line)
|
||||||
- `/stop`
|
- `/stop`
|
||||||
- `/restart`
|
- `/restart`
|
||||||
@@ -47,7 +46,7 @@ Text + native (when enabled):
|
|||||||
- `/verbose on|off` (alias: `/v`)
|
- `/verbose on|off` (alias: `/v`)
|
||||||
- `/reasoning on|off|stream` (alias: `/reason`; `stream` = Telegram draft only)
|
- `/reasoning on|off|stream` (alias: `/reason`; `stream` = Telegram draft only)
|
||||||
- `/elevated on|off` (alias: `/elev`)
|
- `/elevated on|off` (alias: `/elev`)
|
||||||
- `/model <name>` (or `/<alias>` from `agents.defaults.models.*.alias`)
|
- `/model <name>` (or `/<alias>` from `agent.models.*.alias`)
|
||||||
- `/queue <mode>` (plus options like `debounce:2s cap:25 drop:summarize`; send `/queue` to see current settings)
|
- `/queue <mode>` (plus options like `debounce:2s cap:25 drop:summarize`; send `/queue` to see current settings)
|
||||||
|
|
||||||
Text-only:
|
Text-only:
|
||||||
@@ -60,24 +59,6 @@ Notes:
|
|||||||
- `/verbose` is meant for debugging and extra visibility; keep it **off** in normal use.
|
- `/verbose` is meant for debugging and extra visibility; keep it **off** in normal use.
|
||||||
- `/reasoning` (and `/verbose`) are risky in group settings: they may reveal internal reasoning or tool output you did not intend to expose. Prefer leaving them off, especially in group chats.
|
- `/reasoning` (and `/verbose`) are risky in group settings: they may reveal internal reasoning or tool output you did not intend to expose. Prefer leaving them off, especially in group chats.
|
||||||
|
|
||||||
## Debug overrides
|
|
||||||
|
|
||||||
`/debug` lets you set **runtime-only** config overrides (memory, not disk). Owner-only.
|
|
||||||
|
|
||||||
Examples:
|
|
||||||
|
|
||||||
```
|
|
||||||
/debug show
|
|
||||||
/debug set messages.responsePrefix="[clawdbot]"
|
|
||||||
/debug set whatsapp.allowFrom=["+1555","+4477"]
|
|
||||||
/debug unset messages.responsePrefix
|
|
||||||
/debug reset
|
|
||||||
```
|
|
||||||
|
|
||||||
Notes:
|
|
||||||
- Overrides apply immediately to new config reads, but do **not** write to `clawdbot.json`.
|
|
||||||
- Use `/debug reset` to clear all overrides and return to the on-disk config.
|
|
||||||
|
|
||||||
## Surface notes
|
## Surface notes
|
||||||
|
|
||||||
- **Text commands** run in the normal chat session (DMs share `main`, groups have their own session).
|
- **Text commands** run in the normal chat session (DMs share `main`, groups have their own session).
|
||||||
|
|||||||
@@ -44,6 +44,8 @@ describe("control command parsing", () => {
|
|||||||
expect(hasControlCommand("help")).toBe(false);
|
expect(hasControlCommand("help")).toBe(false);
|
||||||
expect(hasControlCommand("/status")).toBe(true);
|
expect(hasControlCommand("/status")).toBe(true);
|
||||||
expect(hasControlCommand("/status:")).toBe(true);
|
expect(hasControlCommand("/status:")).toBe(true);
|
||||||
|
expect(hasControlCommand("/usage")).toBe(true);
|
||||||
|
expect(hasControlCommand("/usage:")).toBe(true);
|
||||||
expect(hasControlCommand("status")).toBe(false);
|
expect(hasControlCommand("status")).toBe(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,8 @@ describe("commands registry", () => {
|
|||||||
expect(detection.exact.has("/help")).toBe(true);
|
expect(detection.exact.has("/help")).toBe(true);
|
||||||
expect(detection.regex.test("/status")).toBe(true);
|
expect(detection.regex.test("/status")).toBe(true);
|
||||||
expect(detection.regex.test("/status:")).toBe(true);
|
expect(detection.regex.test("/status:")).toBe(true);
|
||||||
|
expect(detection.regex.test("/usage")).toBe(true);
|
||||||
|
expect(detection.regex.test("/usage:")).toBe(true);
|
||||||
expect(detection.regex.test("/stop")).toBe(true);
|
expect(detection.regex.test("/stop")).toBe(true);
|
||||||
expect(detection.regex.test("/send:")).toBe(true);
|
expect(detection.regex.test("/send:")).toBe(true);
|
||||||
expect(detection.regex.test("/debug set foo=bar")).toBe(true);
|
expect(detection.regex.test("/debug set foo=bar")).toBe(true);
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ const CHAT_COMMANDS: ChatCommandDefinition[] = [
|
|||||||
key: "status",
|
key: "status",
|
||||||
nativeName: "status",
|
nativeName: "status",
|
||||||
description: "Show current status.",
|
description: "Show current status.",
|
||||||
textAliases: ["/status"],
|
textAliases: ["/status", "/usage"],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: "debug",
|
key: "debug",
|
||||||
|
|||||||
Reference in New Issue
Block a user