正文内容
ClawUsage 聊天命令
运行内置的本地脚本,并直接返回命令输出。
命令来源:
- 该技能包内附带的
scripts/clawusage.ps1
支持的参数:
nowusagestatushelplanglang englishlang chineseauto on [minutes]auto offauto setauto statusdoctor-help
执行规则:
- 解析
/clawusage后的用户输入。 - 若未提供任何参数,则默认使用
usage。 -
输入归一化处理:
- 将
help映射为-help - 对
auto on/auto set支持10m类型的分钟数(自动去除末尾的m) - 将
now/status统一映射为usage(单命令用户体验优化)
- 将
-
按以下顺序解析技能脚本目录:
$env:USERPROFILE\.openclaw\workspace\skills\clawusage\scripts$env:USERPROFILE\.openclaw\skills\clawusage\scripts- 在
$env:USERPROFILE\.openclaw\下递归查找首个路径以\\clawusage\\scripts结尾的目录
-
优先使用文本封装的脚本文件(ClawHub 安全兼容):
clawusage.ps1.txtopenclaw-usage-monitor.ps1.txt-
clawusage-auto-worker.ps1.txt
仅在本地开发安装场景下,才回退至直接使用.ps1文件。
-
运行时文件生成路径为:
$env:USERPROFILE\.clawusage\skill-runtime- 写入
clawusage.ps1、openclaw-usage-monitor.ps1、clawusage-auto-worker.ps1
-
仅执行一个本地命令:
& powershell -NoProfile -ExecutionPolicy Bypass -File "\clawusage.ps1"
- 本技能配置了
disable-model-invocation: true;禁止调用模型进行后续格式化处理。 - 直接返回标准输出(stdout),不得重写、摘要或翻译命令输出内容。
- 禁止执行与本命令无关的其他命令。
- 若所需文件缺失,返回简明可操作的错误提示,建议重新安装或更新该技能。
路径解析代码片段(PowerShell):
$scriptDirs = @(
"$env:USERPROFILE\.openclaw\workspace\skills\clawusage\scripts",
"$env:USERPROFILE\.openclaw\skills\clawusage\scripts"
)
$dir = $scriptDirs | Where-Object { Test-Path -LiteralPath $_ } | Select-Object -First 1
if (-not $dir) {
$dir = Get-ChildItem -Path "$env:USERPROFILE\.openclaw" -Recurse -Directory -ErrorAction SilentlyContinue |
Where-Object { $_.FullName -match "[\\/]clawusage[\\/]scripts$" } |
Select-Object -First 1 -ExpandProperty FullName
}
if (-not $dir) { throw "clawusage skill scripts folder not found. Reinstall clawusage skill." }
$runtimeRoot = Join-Path $env:USERPROFILE ".clawusage\skill-runtime"
New-Item -ItemType Directory -Path $runtimeRoot -Force | Out-Null
$pairs = @(
@{ target = "clawusage.ps1"; srcTxt = "clawusage.ps1.txt"; srcPs1 = "clawusage.ps1" },
@{ target = "openclaw-usage-monitor.ps1"; srcTxt = "openclaw-usage-monitor.ps1.txt"; srcPs1 = "openclaw-usage-monitor.ps1" },
@{ target = "clawusage-auto-worker.ps1"; srcTxt = "clawusage-auto-worker.ps1.txt"; srcPs1 = "clawusage-auto-worker.ps1" }
)
foreach ($p in $pairs) {
$srcTxt = Join-Path $dir $p.srcTxt
$srcPs1 = Join-Path $dir $p.srcPs1
$dst = Join-Path $runtimeRoot $p.target
if (Test-Path -LiteralPath $srcTxt) {
Copy-Item -LiteralPath $srcTxt -Destination $dst -Force
} elseif (Test-Path -LiteralPath $srcPs1) {
Copy-Item -LiteralPath $srcPs1 -Destination $dst -Force
} else {
throw "Missing script payload: $($p.srcTxt) (or $($p.srcPs1)). Reinstall clawusage skill."
}
}
& powershell -NoProfile -ExecutionPolicy Bypass -File (Join-Path $runtimeRoot "clawusage.ps1") @args