auto: sync OpenClaw config 2026-07-15 02:00
This commit is contained in:
@@ -271,7 +271,8 @@
|
||||
"cacheWrite": 0
|
||||
},
|
||||
"contextWindow": 131072,
|
||||
"maxTokens": 32768
|
||||
"maxTokens": 32768,
|
||||
"api": "openai-completions"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-v4-pro",
|
||||
@@ -287,7 +288,8 @@
|
||||
"cacheWrite": 0
|
||||
},
|
||||
"contextWindow": 131072,
|
||||
"maxTokens": 32768
|
||||
"maxTokens": 32768,
|
||||
"api": "openai-completions"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-v4-flash",
|
||||
@@ -303,7 +305,8 @@
|
||||
"cacheWrite": 0
|
||||
},
|
||||
"contextWindow": 131072,
|
||||
"maxTokens": 8192
|
||||
"maxTokens": 8192,
|
||||
"api": "openai-completions"
|
||||
},
|
||||
{
|
||||
"id": "glm-5.1",
|
||||
@@ -320,7 +323,8 @@
|
||||
"cacheWrite": 0
|
||||
},
|
||||
"contextWindow": 131072,
|
||||
"maxTokens": 32768
|
||||
"maxTokens": 32768,
|
||||
"api": "openai-completions"
|
||||
},
|
||||
{
|
||||
"id": "kim-k2.6",
|
||||
@@ -336,7 +340,8 @@
|
||||
"cacheWrite": 0
|
||||
},
|
||||
"contextWindow": 131072,
|
||||
"maxTokens": 32768
|
||||
"maxTokens": 32768,
|
||||
"api": "openai-completions"
|
||||
},
|
||||
{
|
||||
"id": "qwen3.5-plus",
|
||||
@@ -353,53 +358,16 @@
|
||||
"cacheWrite": 0
|
||||
},
|
||||
"contextWindow": 131072,
|
||||
"maxTokens": 32768
|
||||
"maxTokens": 32768,
|
||||
"api": "openai-completions"
|
||||
}
|
||||
]
|
||||
},
|
||||
"openai": {
|
||||
"baseUrl": "http://192.168.2.74:3000/v1",
|
||||
"apiKey": "sk-vaYyq9RwzyLlvAvHHUXzOTWkbioP76YW58vKuplq2npSkfZr",
|
||||
"api": "openai-completions"
|
||||
},
|
||||
"deepseek": {
|
||||
"baseUrl": "https://api.deepseek.com/v1",
|
||||
"apiKey": "sk-893b90b270ad4697a0b0b24969964d79",
|
||||
"api": "openai-completions",
|
||||
"models": [
|
||||
{
|
||||
"id": "deepseek-v4-pro",
|
||||
"name": "DeepSeek V4 Pro",
|
||||
"reasoning": false,
|
||||
"input": [
|
||||
"text"
|
||||
],
|
||||
"cost": {
|
||||
"input": 1,
|
||||
"output": 2,
|
||||
"cacheRead": 0,
|
||||
"cacheWrite": 0
|
||||
},
|
||||
"contextWindow": 1000000,
|
||||
"maxTokens": 384000
|
||||
},
|
||||
{
|
||||
"id": "deepseek-v4-flash",
|
||||
"name": "DeepSeek V4 Flash",
|
||||
"reasoning": false,
|
||||
"input": [
|
||||
"text"
|
||||
],
|
||||
"cost": {
|
||||
"input": 1,
|
||||
"output": 2,
|
||||
"cacheRead": 0,
|
||||
"cacheWrite": 0
|
||||
},
|
||||
"contextWindow": 1000000,
|
||||
"maxTokens": 384000
|
||||
}
|
||||
]
|
||||
"models": []
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"generatedBy": "openclaw-plugin-model-catalog-v1",
|
||||
"providers": {
|
||||
"deepseek": {
|
||||
"baseUrl": "https://api.deepseek.com/v1",
|
||||
"models": [
|
||||
{
|
||||
"id": "deepseek-v4-pro",
|
||||
"name": "DeepSeek V4 Pro",
|
||||
"reasoning": false,
|
||||
"input": [
|
||||
"text"
|
||||
],
|
||||
"cost": {
|
||||
"input": 1,
|
||||
"output": 2,
|
||||
"cacheRead": 0,
|
||||
"cacheWrite": 0
|
||||
},
|
||||
"contextWindow": 1000000,
|
||||
"maxTokens": 384000,
|
||||
"api": "openai-completions"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-v4-flash",
|
||||
"name": "DeepSeek V4 Flash",
|
||||
"reasoning": false,
|
||||
"input": [
|
||||
"text"
|
||||
],
|
||||
"cost": {
|
||||
"input": 1,
|
||||
"output": 2,
|
||||
"cacheRead": 0,
|
||||
"cacheWrite": 0
|
||||
},
|
||||
"contextWindow": 1000000,
|
||||
"maxTokens": 384000,
|
||||
"api": "openai-completions"
|
||||
}
|
||||
],
|
||||
"apiKey": "sk-893b90b270ad4697a0b0b24969964d79",
|
||||
"api": "openai-completions"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,67 +3,9 @@
|
||||
"providers": {
|
||||
"ollama": {
|
||||
"baseUrl": "http://127.0.0.1:11434/v1",
|
||||
"apiKey": "OLLAMA_API_KEY",
|
||||
"api": "ollama",
|
||||
"models": [
|
||||
{
|
||||
"id": "qwen3-coder:latest",
|
||||
"name": "qwen3-coder:latest",
|
||||
"reasoning": false,
|
||||
"input": [
|
||||
"text"
|
||||
],
|
||||
"cost": {
|
||||
"input": 0,
|
||||
"output": 0,
|
||||
"cacheRead": 0,
|
||||
"cacheWrite": 0
|
||||
},
|
||||
"contextWindow": 65535,
|
||||
"maxTokens": 8192,
|
||||
"params": {
|
||||
"num_ctx": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "huihui_ai/glm-4.7-flash-abliterated:latest",
|
||||
"name": "huihui_ai/glm-4.7-flash-abliterated:latest",
|
||||
"reasoning": false,
|
||||
"input": [
|
||||
"text"
|
||||
],
|
||||
"cost": {
|
||||
"input": 0,
|
||||
"output": 0,
|
||||
"cacheRead": 0,
|
||||
"cacheWrite": 0
|
||||
},
|
||||
"contextWindow": 65535,
|
||||
"maxTokens": 8192,
|
||||
"params": {
|
||||
"num_ctx": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "deepseek-v4-flash:cloud",
|
||||
"name": "DeepSeek V4 Flash (Cloud)",
|
||||
"reasoning": false,
|
||||
"input": [
|
||||
"text"
|
||||
],
|
||||
"cost": {
|
||||
"input": 0,
|
||||
"output": 0,
|
||||
"cacheRead": 0,
|
||||
"cacheWrite": 0
|
||||
},
|
||||
"contextWindow": 131072,
|
||||
"maxTokens": 8192,
|
||||
"params": {
|
||||
"num_ctx": 131072
|
||||
}
|
||||
}
|
||||
]
|
||||
"models": [],
|
||||
"apiKey": "ollama-local",
|
||||
"api": "ollama"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1613
-273
File diff suppressed because one or more lines are too long
+721
-250
File diff suppressed because it is too large
Load Diff
+496
-20
@@ -17,7 +17,7 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
|
||||
# Root command
|
||||
if ($commandPath -eq "") {
|
||||
$completions = @('completion','crestodian','setup','onboard','configure','config','backup','migrate','doctor','dashboard','reset','uninstall','message','mcp','transcripts','agent','agents','status','health','sessions','commitments','tasks','acp','gateway','daemon','logs','system','models','infer','approvals','exec-policy','nodes','devices','node','sandbox','tui','cron','dns','docs','proxy','hooks','webhooks','qr','clawbot','pairing','plugins','channels','directory','security','secrets','skills','update','--version','--container','--dev','--profile','--log-level','--no-color')
|
||||
$completions = @('completion','crestodian','setup','onboard','configure','config','backup','migrate','doctor','dashboard','reset','uninstall','message','mcp','transcripts','agent','agents','audit','status','health','sessions','commitments','tasks','acp','gateway','daemon','logs','system','models','promos','infer','capability','approvals','exec-approvals','exec-policy','nodes','devices','node','sandbox','worktrees','attach','tui','terminal','chat','cron','dns','docs','proxy','hooks','webhooks','qr','clawbot','pairing','plugins','channels','directory','security','secrets','skills','update','--version','--container','--dev','--profile','--log-level','--no-color')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
@@ -39,14 +39,14 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'setup') {
|
||||
$completions = @('--workspace','--wizard','--non-interactive','--accept-risk','--mode','--import-from','--import-source','--import-secrets','--remote-url','--remote-token')
|
||||
$completions = @('--workspace','--wizard','--baseline','--reset','--reset-scope','--non-interactive','--classic','--accept-risk','--flow','--mode','--auth-choice','--token-provider','--token','--token-profile-id','--token-expires-in','--secret-input-mode','--cloudflare-ai-gateway-account-id','--cloudflare-ai-gateway-gateway-id','--alibaba-model-studio-api-key','--anthropic-api-key','--byteplus-api-key','--clawrouter-api-key','--cohere-api-key','--comfy-api-key','--fal-api-key','--github-copilot-token','--gemini-api-key','--huggingface-api-key','--litellm-api-key','--lmstudio-api-key','--meta-api-key','--minimax-api-key','--mistral-api-key','--novita-api-key','--nvidia-api-key','--ollama-cloud-api-key','--openai-api-key','--opencode-zen-api-key','--opencode-go-api-key','--openrouter-api-key','--runway-api-key','--synthetic-api-key','--together-api-key','--volcengine-api-key','--vydra-api-key','--xai-api-key','--xiaomi-api-key','--xiaomi-token-plan-api-key','--deepseek-api-key','--arceeai-api-key','--cerebras-api-key','--chutes-api-key','--cloudflare-ai-gateway-api-key','--deepinfra-api-key','--featherless-api-key','--gmi-api-key','--longcat-api-key','--groq-api-key','--kilocode-api-key','--kimi-code-api-key','--pixverse-api-key','--qianfan-api-key','--modelstudio-standard-api-key-cn','--modelstudio-standard-api-key','--modelstudio-api-key-cn','--modelstudio-api-key','--qwen-oauth-token','--fireworks-api-key','--moonshot-api-key','--tokenhub-api-key','--tokenplan-api-key','--venice-api-key','--ai-gateway-api-key','--zai-api-key','--stepfun-api-key','--custom-base-url','--custom-api-key','--custom-model-id','--custom-provider-id','--custom-compatibility','--custom-image-input','--custom-text-input','--gateway-port','--gateway-bind','--gateway-auth','--gateway-token','--gateway-token-ref-env','--gateway-password','--tailscale','--tailscale-reset-on-exit','--install-daemon','--no-install-daemon','--skip-daemon','--daemon-runtime','--skip-channels','--skip-skills','--skip-bootstrap','--skip-search','--skip-health','--skip-ui','--suppress-gateway-token-output','--skip-hooks','--node-manager','--import-from','--import-source','--import-secrets','--remote-url','--remote-token','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'onboard') {
|
||||
$completions = @('--workspace','--reset','--reset-scope','--non-interactive','--modern','--accept-risk','--flow','--mode','--auth-choice','--token-provider','--token','--token-profile-id','--token-expires-in','--secret-input-mode','--cloudflare-ai-gateway-account-id','--cloudflare-ai-gateway-gateway-id','--alibaba-model-studio-api-key','--anthropic-api-key','--byteplus-api-key','--cohere-api-key','--comfy-api-key','--fal-api-key','--github-copilot-token','--gemini-api-key','--huggingface-api-key','--litellm-api-key','--lmstudio-api-key','--minimax-api-key','--mistral-api-key','--novita-api-key','--nvidia-api-key','--ollama-cloud-api-key','--openai-api-key','--opencode-zen-api-key','--opencode-go-api-key','--openrouter-api-key','--runway-api-key','--synthetic-api-key','--together-api-key','--volcengine-api-key','--vydra-api-key','--xai-api-key','--xiaomi-api-key','--xiaomi-token-plan-api-key','--deepseek-api-key','--arceeai-api-key','--cerebras-api-key','--chutes-api-key','--cloudflare-ai-gateway-api-key','--deepinfra-api-key','--gmi-api-key','--groq-api-key','--kilocode-api-key','--kimi-code-api-key','--pixverse-api-key','--qianfan-api-key','--modelstudio-standard-api-key-cn','--modelstudio-standard-api-key','--modelstudio-api-key-cn','--modelstudio-api-key','--qwen-oauth-token','--fireworks-api-key','--moonshot-api-key','--tokenhub-api-key','--venice-api-key','--ai-gateway-api-key','--zai-api-key','--stepfun-api-key','--custom-base-url','--custom-api-key','--custom-model-id','--custom-provider-id','--custom-compatibility','--custom-image-input','--custom-text-input','--gateway-port','--gateway-bind','--gateway-auth','--gateway-token','--gateway-token-ref-env','--gateway-password','--remote-url','--remote-token','--tailscale','--tailscale-reset-on-exit','--install-daemon','--no-install-daemon','--skip-daemon','--daemon-runtime','--skip-channels','--skip-skills','--skip-bootstrap','--skip-search','--skip-health','--skip-ui','--suppress-gateway-token-output','--skip-hooks','--node-manager','--import-from','--import-source','--import-secrets','--json')
|
||||
$completions = @('--workspace','--reset','--reset-scope','--non-interactive','--modern','--classic','--accept-risk','--flow','--mode','--auth-choice','--token-provider','--token','--token-profile-id','--token-expires-in','--secret-input-mode','--cloudflare-ai-gateway-account-id','--cloudflare-ai-gateway-gateway-id','--alibaba-model-studio-api-key','--anthropic-api-key','--byteplus-api-key','--clawrouter-api-key','--cohere-api-key','--comfy-api-key','--fal-api-key','--github-copilot-token','--gemini-api-key','--huggingface-api-key','--litellm-api-key','--lmstudio-api-key','--meta-api-key','--minimax-api-key','--mistral-api-key','--novita-api-key','--nvidia-api-key','--ollama-cloud-api-key','--openai-api-key','--opencode-zen-api-key','--opencode-go-api-key','--openrouter-api-key','--runway-api-key','--synthetic-api-key','--together-api-key','--volcengine-api-key','--vydra-api-key','--xai-api-key','--xiaomi-api-key','--xiaomi-token-plan-api-key','--deepseek-api-key','--arceeai-api-key','--cerebras-api-key','--chutes-api-key','--cloudflare-ai-gateway-api-key','--deepinfra-api-key','--featherless-api-key','--gmi-api-key','--longcat-api-key','--groq-api-key','--kilocode-api-key','--kimi-code-api-key','--pixverse-api-key','--qianfan-api-key','--modelstudio-standard-api-key-cn','--modelstudio-standard-api-key','--modelstudio-api-key-cn','--modelstudio-api-key','--qwen-oauth-token','--fireworks-api-key','--moonshot-api-key','--tokenhub-api-key','--tokenplan-api-key','--venice-api-key','--ai-gateway-api-key','--zai-api-key','--stepfun-api-key','--custom-base-url','--custom-api-key','--custom-model-id','--custom-provider-id','--custom-compatibility','--custom-image-input','--custom-text-input','--gateway-port','--gateway-bind','--gateway-auth','--gateway-token','--gateway-token-ref-env','--gateway-password','--remote-url','--remote-token','--tailscale','--tailscale-reset-on-exit','--install-daemon','--no-install-daemon','--skip-daemon','--daemon-runtime','--skip-channels','--skip-skills','--skip-bootstrap','--skip-search','--skip-health','--skip-ui','--suppress-gateway-token-output','--skip-hooks','--node-manager','--import-from','--import-source','--import-secrets','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
@@ -151,7 +151,7 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'doctor') {
|
||||
$completions = @('--no-workspace-suggestions','--yes','--repair','--fix','--force','--non-interactive','--generate-gateway-token','--allow-exec','--deep','--lint','--post-upgrade','--json','--severity-min','--skip','--only')
|
||||
$completions = @('--no-workspace-suggestions','--yes','--repair','--fix','--force','--non-interactive','--generate-gateway-token','--allow-exec','--deep','--lint','--post-upgrade','--json','--severity-min','--all','--skip','--only')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
@@ -633,6 +633,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'audit') {
|
||||
$completions = @('--agent','--session','--run','--kind','--status','--after','--before','--cursor','--limit','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'status') {
|
||||
$completions = @('--json','--all','--usage','--deep','--timeout','--verbose','--debug')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1144,6 +1151,27 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'promos') {
|
||||
$completions = @('list','claim')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'promos list') {
|
||||
$completions = @('--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'promos claim') {
|
||||
$completions = @('--api-key','--set-default')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer') {
|
||||
$completions = @('list','inspect','model','image','audio','tts','video','web','embedding')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1151,6 +1179,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability') {
|
||||
$completions = @('list','inspect','model','image','audio','tts','video','web','embedding')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer list') {
|
||||
$completions = @('--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1158,6 +1193,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability list') {
|
||||
$completions = @('--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer inspect') {
|
||||
$completions = @('--name','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1165,6 +1207,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability inspect') {
|
||||
$completions = @('--name','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer model') {
|
||||
$completions = @('run','list','inspect','providers','auth')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1172,6 +1221,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability model') {
|
||||
$completions = @('run','list','inspect','providers','auth')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer model run') {
|
||||
$completions = @('--prompt','--file','--model','--thinking','--local','--gateway','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1179,6 +1235,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability model run') {
|
||||
$completions = @('--prompt','--file','--model','--thinking','--local','--gateway','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer model list') {
|
||||
$completions = @('--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1186,6 +1249,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability model list') {
|
||||
$completions = @('--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer model inspect') {
|
||||
$completions = @('--model','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1193,6 +1263,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability model inspect') {
|
||||
$completions = @('--model','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer model providers') {
|
||||
$completions = @('--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1200,6 +1277,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability model providers') {
|
||||
$completions = @('--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer model auth') {
|
||||
$completions = @('login','logout','status')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1207,6 +1291,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability model auth') {
|
||||
$completions = @('login','logout','status')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer model auth login') {
|
||||
$completions = @('--provider','--method')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1214,6 +1305,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability model auth login') {
|
||||
$completions = @('--provider','--method')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer model auth logout') {
|
||||
$completions = @('--provider','--agent','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1221,6 +1319,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability model auth logout') {
|
||||
$completions = @('--provider','--agent','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer model auth status') {
|
||||
$completions = @('--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1228,6 +1333,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability model auth status') {
|
||||
$completions = @('--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer image') {
|
||||
$completions = @('generate','edit','describe','describe-many','providers')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1235,6 +1347,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability image') {
|
||||
$completions = @('generate','edit','describe','describe-many','providers')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer image generate') {
|
||||
$completions = @('--prompt','--model','--count','--size','--aspect-ratio','--resolution','--output-format','--background','--openai-background','--openai-moderation','--quality','--timeout-ms','--output','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1242,6 +1361,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability image generate') {
|
||||
$completions = @('--prompt','--model','--count','--size','--aspect-ratio','--resolution','--output-format','--background','--openai-background','--openai-moderation','--quality','--timeout-ms','--output','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer image edit') {
|
||||
$completions = @('--file','--prompt','--model','--count','--size','--aspect-ratio','--resolution','--output-format','--background','--openai-background','--openai-moderation','--quality','--timeout-ms','--output','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1249,6 +1375,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability image edit') {
|
||||
$completions = @('--file','--prompt','--model','--count','--size','--aspect-ratio','--resolution','--output-format','--background','--openai-background','--openai-moderation','--quality','--timeout-ms','--output','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer image describe') {
|
||||
$completions = @('--file','--prompt','--model','--timeout-ms','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1256,6 +1389,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability image describe') {
|
||||
$completions = @('--file','--prompt','--model','--timeout-ms','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer image describe-many') {
|
||||
$completions = @('--file','--prompt','--model','--timeout-ms','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1263,6 +1403,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability image describe-many') {
|
||||
$completions = @('--file','--prompt','--model','--timeout-ms','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer image providers') {
|
||||
$completions = @('--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1270,6 +1417,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability image providers') {
|
||||
$completions = @('--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer audio') {
|
||||
$completions = @('transcribe','providers')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1277,6 +1431,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability audio') {
|
||||
$completions = @('transcribe','providers')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer audio transcribe') {
|
||||
$completions = @('--file','--language','--prompt','--model','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1284,6 +1445,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability audio transcribe') {
|
||||
$completions = @('--file','--language','--prompt','--model','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer audio providers') {
|
||||
$completions = @('--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1291,6 +1459,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability audio providers') {
|
||||
$completions = @('--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer tts') {
|
||||
$completions = @('convert','voices','providers','personas','status','enable','disable','set-provider','set-persona')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1298,6 +1473,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability tts') {
|
||||
$completions = @('convert','voices','providers','personas','status','enable','disable','set-provider','set-persona')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer tts convert') {
|
||||
$completions = @('--text','--channel','--voice','--model','--output','--local','--gateway','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1305,6 +1487,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability tts convert') {
|
||||
$completions = @('--text','--channel','--voice','--model','--output','--local','--gateway','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer tts voices') {
|
||||
$completions = @('--provider','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1312,6 +1501,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability tts voices') {
|
||||
$completions = @('--provider','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer tts providers') {
|
||||
$completions = @('--local','--gateway','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1319,6 +1515,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability tts providers') {
|
||||
$completions = @('--local','--gateway','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer tts personas') {
|
||||
$completions = @('--local','--gateway','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1326,6 +1529,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability tts personas') {
|
||||
$completions = @('--local','--gateway','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer tts status') {
|
||||
$completions = @('--gateway','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1333,6 +1543,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability tts status') {
|
||||
$completions = @('--gateway','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer tts enable') {
|
||||
$completions = @('--local','--gateway','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1340,6 +1557,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability tts enable') {
|
||||
$completions = @('--local','--gateway','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer tts disable') {
|
||||
$completions = @('--local','--gateway','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1347,6 +1571,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability tts disable') {
|
||||
$completions = @('--local','--gateway','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer tts set-provider') {
|
||||
$completions = @('--provider','--local','--gateway','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1354,6 +1585,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability tts set-provider') {
|
||||
$completions = @('--provider','--local','--gateway','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer tts set-persona') {
|
||||
$completions = @('--persona','--off','--local','--gateway','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1361,6 +1599,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability tts set-persona') {
|
||||
$completions = @('--persona','--off','--local','--gateway','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer video') {
|
||||
$completions = @('generate','describe','providers')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1368,6 +1613,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability video') {
|
||||
$completions = @('generate','describe','providers')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer video generate') {
|
||||
$completions = @('--prompt','--model','--size','--aspect-ratio','--resolution','--duration','--audio','--watermark','--timeout-ms','--output','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1375,6 +1627,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability video generate') {
|
||||
$completions = @('--prompt','--model','--size','--aspect-ratio','--resolution','--duration','--audio','--watermark','--timeout-ms','--output','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer video describe') {
|
||||
$completions = @('--file','--model','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1382,6 +1641,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability video describe') {
|
||||
$completions = @('--file','--model','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer video providers') {
|
||||
$completions = @('--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1389,6 +1655,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability video providers') {
|
||||
$completions = @('--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer web') {
|
||||
$completions = @('search','fetch','providers')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1396,6 +1669,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability web') {
|
||||
$completions = @('search','fetch','providers')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer web search') {
|
||||
$completions = @('--query','--provider','--limit','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1403,6 +1683,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability web search') {
|
||||
$completions = @('--query','--provider','--limit','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer web fetch') {
|
||||
$completions = @('--url','--provider','--format','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1410,6 +1697,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability web fetch') {
|
||||
$completions = @('--url','--provider','--format','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer web providers') {
|
||||
$completions = @('--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1417,6 +1711,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability web providers') {
|
||||
$completions = @('--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer embedding') {
|
||||
$completions = @('create','providers')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1424,6 +1725,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability embedding') {
|
||||
$completions = @('create','providers')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer embedding create') {
|
||||
$completions = @('--text','--provider','--model','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1431,6 +1739,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability embedding create') {
|
||||
$completions = @('--text','--provider','--model','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'infer embedding providers') {
|
||||
$completions = @('--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1438,6 +1753,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'capability embedding providers') {
|
||||
$completions = @('--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'approvals') {
|
||||
$completions = @('get','set','allowlist')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1445,6 +1767,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'exec-approvals') {
|
||||
$completions = @('get','set','allowlist')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'approvals get') {
|
||||
$completions = @('--node','--gateway','--url','--token','--timeout','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1452,6 +1781,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'exec-approvals get') {
|
||||
$completions = @('--node','--gateway','--url','--token','--timeout','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'approvals set') {
|
||||
$completions = @('--node','--gateway','--file','--stdin','--url','--token','--timeout','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1459,6 +1795,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'exec-approvals set') {
|
||||
$completions = @('--node','--gateway','--file','--stdin','--url','--token','--timeout','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'approvals allowlist') {
|
||||
$completions = @('add','remove')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1466,6 +1809,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'exec-approvals allowlist') {
|
||||
$completions = @('add','remove')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'approvals allowlist add') {
|
||||
$completions = @('--node','--gateway','--agent','--url','--token','--timeout','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1473,6 +1823,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'exec-approvals allowlist add') {
|
||||
$completions = @('--node','--gateway','--agent','--url','--token','--timeout','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'approvals allowlist remove') {
|
||||
$completions = @('--node','--gateway','--agent','--url','--token','--timeout','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1480,6 +1837,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'exec-approvals allowlist remove') {
|
||||
$completions = @('--node','--gateway','--agent','--url','--token','--timeout','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'exec-policy') {
|
||||
$completions = @('show','preset','set')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1712,7 +2076,7 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'node run') {
|
||||
$completions = @('--host','--port','--tls','--tls-fingerprint','--node-id','--display-name')
|
||||
$completions = @('--host','--port','--context-path','--tls','--tls-fingerprint','--node-id','--display-name')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
@@ -1726,7 +2090,7 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'node install') {
|
||||
$completions = @('--host','--port','--tls','--tls-fingerprint','--node-id','--display-name','--runtime','--force','--json')
|
||||
$completions = @('--host','--port','--context-path','--tls','--tls-fingerprint','--node-id','--display-name','--runtime','--force','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
@@ -1788,6 +2152,55 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'worktrees') {
|
||||
$completions = @('list','create','remove','restore','gc')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'worktrees list') {
|
||||
$completions = @('--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'worktrees create') {
|
||||
$completions = @('--name','--base-ref','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'worktrees remove') {
|
||||
$completions = @('--force','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'worktrees restore') {
|
||||
$completions = @('--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'worktrees gc') {
|
||||
$completions = @('--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'attach') {
|
||||
$completions = @('--session','--ttl','--bin','--print-config')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'tui') {
|
||||
$completions = @('--local','--url','--token','--password','--session','--deliver','--thinking','--message','--timeout-ms','--history-limit')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1795,8 +2208,22 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'terminal') {
|
||||
$completions = @('--local','--url','--token','--password','--session','--deliver','--thinking','--message','--timeout-ms','--history-limit')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'chat') {
|
||||
$completions = @('--local','--url','--token','--password','--session','--deliver','--thinking','--message','--timeout-ms','--history-limit')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'cron') {
|
||||
$completions = @('status','list','add','rm','enable','disable','get','show','runs','run','edit')
|
||||
$completions = @('status','list','add','create','rm','remove','delete','enable','disable','get','show','runs','run','edit')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
@@ -1817,7 +2244,14 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'cron add') {
|
||||
$completions = @('--name','--description','--disabled','--delete-after-run','--keep-after-run','--agent','--session','--session-key','--wake','--at','--every','--cron','--tz','--stagger','--exact','--system-event','--message','--command','--command-argv','--command-cwd','--command-env','--command-input','--thinking','--model','--fallbacks','--timeout-seconds','--no-output-timeout-seconds','--output-max-bytes','--light-context','--tools','--announce','--deliver','--no-deliver','--webhook','--channel','--to','--thread-id','--account','--best-effort-deliver','--json','--url','--token','--timeout','--expect-final')
|
||||
$completions = @('--name','--declaration-key','--display-name','--description','--disabled','--delete-after-run','--keep-after-run','--agent','--session','--session-key','--wake','--at','--every','--cron','--on-exit','--on-exit-cwd','--tz','--stagger','--exact','--trigger-script','--trigger-once','--system-event','--message','--command','--command-argv','--command-cwd','--command-env','--command-input','--thinking','--model','--fallbacks','--timeout-seconds','--no-output-timeout-seconds','--output-max-bytes','--light-context','--tools','--announce','--deliver','--no-deliver','--webhook','--channel','--to','--thread-id','--account','--best-effort-deliver','--json','--url','--token','--timeout','--expect-final')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'cron create') {
|
||||
$completions = @('--name','--declaration-key','--display-name','--description','--disabled','--delete-after-run','--keep-after-run','--agent','--session','--session-key','--wake','--at','--every','--cron','--on-exit','--on-exit-cwd','--tz','--stagger','--exact','--trigger-script','--trigger-once','--system-event','--message','--command','--command-argv','--command-cwd','--command-env','--command-input','--thinking','--model','--fallbacks','--timeout-seconds','--no-output-timeout-seconds','--output-max-bytes','--light-context','--tools','--announce','--deliver','--no-deliver','--webhook','--channel','--to','--thread-id','--account','--best-effort-deliver','--json','--url','--token','--timeout','--expect-final')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
@@ -1830,6 +2264,20 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'cron remove') {
|
||||
$completions = @('--json','--url','--token','--timeout','--expect-final')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'cron delete') {
|
||||
$completions = @('--json','--url','--token','--timeout','--expect-final')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'cron enable') {
|
||||
$completions = @('--url','--token','--timeout','--expect-final')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -1873,7 +2321,7 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'cron edit') {
|
||||
$completions = @('--name','--description','--enable','--disable','--delete-after-run','--keep-after-run','--session','--agent','--clear-agent','--session-key','--clear-session-key','--wake','--at','--every','--cron','--tz','--stagger','--exact','--system-event','--message','--command','--command-argv','--command-cwd','--command-env','--command-input','--thinking','--model','--fallbacks','--clear-fallbacks','--clear-model','--timeout-seconds','--no-output-timeout-seconds','--output-max-bytes','--light-context','--no-light-context','--tools','--clear-tools','--announce','--deliver','--no-deliver','--webhook','--channel','--to','--thread-id','--account','--clear-channel','--clear-to','--clear-thread-id','--clear-account','--best-effort-deliver','--no-best-effort-deliver','--failure-alert','--no-failure-alert','--failure-alert-after','--failure-alert-channel','--failure-alert-to','--failure-alert-cooldown','--failure-alert-include-skipped','--failure-alert-exclude-skipped','--failure-alert-mode','--failure-alert-account-id','--url','--token','--timeout','--expect-final')
|
||||
$completions = @('--name','--description','--enable','--disable','--delete-after-run','--keep-after-run','--session','--agent','--clear-agent','--session-key','--clear-session-key','--wake','--at','--every','--cron','--tz','--stagger','--exact','--trigger-script','--trigger-once','--clear-trigger','--system-event','--message','--command','--command-argv','--command-cwd','--command-env','--command-input','--thinking','--clear-thinking','--model','--fallbacks','--clear-fallbacks','--clear-model','--timeout-seconds','--no-output-timeout-seconds','--output-max-bytes','--light-context','--no-light-context','--tools','--clear-tools','--announce','--deliver','--no-deliver','--webhook','--channel','--to','--thread-id','--account','--clear-channel','--clear-to','--clear-thread-id','--clear-account','--best-effort-deliver','--no-best-effort-deliver','--failure-alert','--no-failure-alert','--failure-alert-after','--failure-alert-channel','--failure-alert-to','--failure-alert-cooldown','--failure-alert-include-skipped','--failure-alert-exclude-skipped','--failure-alert-mode','--failure-alert-account-id','--url','--token','--timeout','--expect-final')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
@@ -2062,7 +2510,7 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'plugins') {
|
||||
$completions = @('list','search','inspect','enable','disable','uninstall','install','update','registry','doctor','build','validate','init','marketplace')
|
||||
$completions = @('list','search','inspect','info','enable','disable','uninstall','install','update','registry','doctor','build','validate','init','marketplace')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
@@ -2089,6 +2537,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'plugins info') {
|
||||
$completions = @('--all','--runtime','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'plugins uninstall') {
|
||||
$completions = @('--keep-files','--keep-config','--force','--dry-run')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -2097,14 +2552,14 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'plugins install') {
|
||||
$completions = @('--link','--force','--pin','--dangerously-force-unsafe-install','--marketplace')
|
||||
$completions = @('--link','--force','--pin','--dangerously-force-unsafe-install','--acknowledge-clawhub-risk','--marketplace')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'plugins update') {
|
||||
$completions = @('--all','--dry-run','--dangerously-force-unsafe-install')
|
||||
$completions = @('--all','--dry-run','--dangerously-force-unsafe-install','--acknowledge-clawhub-risk')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
@@ -2132,14 +2587,28 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'plugins init') {
|
||||
$completions = @('--directory','--name','--force')
|
||||
$completions = @('--directory','--name','--type','--force')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'plugins marketplace') {
|
||||
$completions = @('list')
|
||||
$completions = @('entries','refresh','list')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'plugins marketplace entries') {
|
||||
$completions = @('--feed-profile','--feed-url','--offline','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'plugins marketplace refresh') {
|
||||
$completions = @('--feed-profile','--feed-url','--expected-sha256','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
@@ -2321,7 +2790,7 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'skills') {
|
||||
$completions = @('search','install','update','verify','workshop','list','info','check','--agent')
|
||||
$completions = @('search','install','update','verify','curator','workshop','list','info','check','--agent')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
@@ -2335,14 +2804,14 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'skills install') {
|
||||
$completions = @('--version','--force','--force-install','--global','--agent','--as')
|
||||
$completions = @('--version','--force','--force-install','--acknowledge-clawhub-risk','--global','--agent','--as')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'skills update') {
|
||||
$completions = @('--all','--force-install','--global','--agent')
|
||||
$completions = @('--all','--force-install','--acknowledge-clawhub-risk','--global','--agent')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
@@ -2355,6 +2824,13 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'skills curator') {
|
||||
$completions = @('status','pin','unpin','restore','--json')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'skills workshop') {
|
||||
$completions = @('list','inspect','propose-create','propose-update','revise','apply','reject','quarantine','--agent')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
@@ -2440,21 +2916,21 @@ Register-ArgumentCompleter -Native -CommandName openclaw -ScriptBlock {
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'update') {
|
||||
$completions = @('repair','finalize','wizard','status','--json','--no-restart','--dry-run','--channel','--tag','--timeout','--yes')
|
||||
$completions = @('repair','finalize','wizard','status','--json','--no-restart','--dry-run','--channel','--tag','--timeout','--yes','--acknowledge-clawhub-risk')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'update repair') {
|
||||
$completions = @('--json','--channel','--timeout','--yes','--no-restart')
|
||||
$completions = @('--json','--channel','--timeout','--yes','--acknowledge-clawhub-risk','--no-restart')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
}
|
||||
|
||||
if ($commandPath -eq 'update finalize') {
|
||||
$completions = @('--json','--channel','--timeout','--yes','--no-restart')
|
||||
$completions = @('--json','--channel','--timeout','--yes','--acknowledge-clawhub-risk','--no-restart')
|
||||
$completions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)
|
||||
}
|
||||
|
||||
+334
-42
@@ -12,7 +12,7 @@ _openclaw_root_completion() {
|
||||
"--profile[Use a named profile (isolates OPENCLAW_STATE_DIR/OPENCLAW_CONFIG_PATH under ~/.openclaw-<name>)]" \
|
||||
"--log-level[Global log level override for file + console (silent|fatal|error|warn|info|debug|trace)]" \
|
||||
"--no-color[Disable ANSI colors]" \
|
||||
"1: :_values 'command' 'completion[Generate shell completion script]' 'crestodian[Open the ring-zero setup and repair helper]' 'setup[Create baseline config/workspace files; use --wizard for full onboarding]' 'onboard[Guided setup for auth, models, Gateway, workspace, channels, and skills]' 'configure[Interactive configuration for credentials, channels, gateway, and agent defaults]' 'config[Non-interactive config helpers (get/set/patch/unset/file/schema/validate). Run without subcommand for guided setup.]' 'backup[Create and verify local backup archives for OpenClaw state]' 'migrate[Import state from another agent system]' 'doctor[Health checks + quick fixes for the gateway and channels]' 'dashboard[Open the Control UI with your current token]' 'reset[Reset local config/state (keeps the CLI installed)]' 'uninstall[Uninstall the gateway service + local data (CLI remains)]' 'message[Send, read, and manage messages and channel actions]' 'mcp[Manage OpenClaw mcp.servers config and channel bridge]' 'transcripts[Inspect stored transcripts]' 'agent[Run an agent turn via the Gateway (use --local for embedded)]' 'agents[Manage isolated agents (workspaces + auth + routing)]' 'status[Show channel health and recent session recipients]' 'health[Fetch health from the running gateway]' 'sessions[List stored conversation sessions]' 'commitments[List and manage inferred follow-up commitments]' 'tasks[Inspect durable background tasks and TaskFlow state]' 'acp[Run an ACP bridge backed by the Gateway]' 'gateway[Run, inspect, and query the WebSocket Gateway]' 'daemon[Manage the Gateway service (launchd/systemd/schtasks)]' 'logs[Tail gateway file logs via RPC]' 'system[System tools (events, heartbeat, presence)]' 'models[Model discovery, scanning, and configuration]' 'infer[Run provider-backed inference commands through a stable CLI surface]' 'approvals[Manage exec approvals (gateway or node host)]' 'exec-policy[Show or synchronize requested exec policy with host approvals]' 'nodes[Manage gateway-owned nodes (pairing, status, invoke, and media)]' 'devices[Device pairing and auth tokens]' 'node[Run and manage the headless node host service]' 'sandbox[Manage sandbox containers (Docker-based agent isolation)]' 'tui[Open a terminal UI connected to the Gateway]' 'cron[Manage cron jobs (via Gateway)]' 'dns[DNS helpers for wide-area discovery (Tailscale + CoreDNS)]' 'docs[Search the live OpenClaw docs]' 'proxy[Run the OpenClaw debug proxy and inspect captured traffic]' 'hooks[Manage internal agent hooks]' 'webhooks[Webhook helpers and integrations]' 'qr[Generate a mobile pairing QR code and setup code]' 'clawbot[Legacy clawbot command aliases]' 'pairing[Secure DM pairing (approve inbound requests)]' 'plugins[Manage OpenClaw plugins and extensions]' 'channels[Manage connected chat channels and accounts]' 'directory[Lookup contact and group IDs (self, peers, groups) for supported chat channels]' 'security[Audit local config and state for common security foot-guns]' 'secrets[Secrets runtime controls]' 'skills[List and inspect available skills]' 'update[Update OpenClaw and inspect update channel status]'" \
|
||||
"1: :_values 'command' 'completion[Generate shell completion script]' 'crestodian[Open the ring-zero setup and repair helper]' 'setup[Alias for openclaw onboard]' 'onboard[Guided setup for auth, models, Gateway, workspace, channels, and skills]' 'configure[Interactive configuration for credentials, channels, gateway, and agent defaults]' 'config[Non-interactive config helpers (get/set/patch/unset/file/schema/validate). Run without subcommand for guided setup.]' 'backup[Create and verify local backup archives for OpenClaw state]' 'migrate[Import state from another agent system]' 'doctor[Health checks + quick fixes for the gateway and channels]' 'dashboard[Open the Control UI with your current token]' 'reset[Reset local config/state (keeps the CLI installed)]' 'uninstall[Uninstall the gateway service + local data (CLI remains)]' 'message[Send, read, and manage messages and channel actions]' 'mcp[Manage OpenClaw mcp.servers config and channel bridge]' 'transcripts[Inspect stored transcripts]' 'agent[Run an agent turn via the Gateway (use --local for embedded)]' 'agents[Manage isolated agents (workspaces + auth + routing)]' 'audit[Inspect metadata-only agent run and tool action records]' 'status[Show channel health and recent session recipients]' 'health[Fetch health from the running gateway]' 'sessions[List stored conversation sessions]' 'commitments[List and manage inferred follow-up commitments]' 'tasks[Inspect durable background tasks and TaskFlow state]' 'acp[Run an ACP bridge backed by the Gateway]' 'gateway[Run, inspect, and query the WebSocket Gateway]' 'daemon[Manage the Gateway service (launchd/systemd/schtasks)]' 'logs[Tail gateway file logs via RPC]' 'system[System tools (events, heartbeat, presence)]' 'models[Model discovery, scanning, and configuration]' 'promos[Discover and claim promotional model offers from ClawHub]' 'infer[Run provider-backed inference commands through a stable CLI surface]' 'capability[Run provider-backed inference commands through a stable CLI surface]' 'approvals[Manage exec approvals (gateway or node host)]' 'exec-approvals[Manage exec approvals (gateway or node host)]' 'exec-policy[Show or synchronize requested exec policy with host approvals]' 'nodes[Manage gateway-owned nodes (pairing, status, invoke, and media)]' 'devices[Device pairing and auth tokens]' 'node[Run and manage the headless node host service]' 'sandbox[Manage sandbox containers (Docker-based agent isolation)]' 'worktrees[Create, inspect, restore, and clean up managed worktrees]' 'attach[Attach Claude Code to a gateway session with scoped MCP tools]' 'tui[Open a terminal UI connected to the Gateway]' 'terminal[Open a terminal UI connected to the Gateway]' 'chat[Open a terminal UI connected to the Gateway]' 'cron[Manage cron jobs (via Gateway)]' 'dns[DNS helpers for wide-area discovery (Tailscale + CoreDNS)]' 'docs[Search the live OpenClaw docs]' 'proxy[Run the OpenClaw debug proxy and inspect captured traffic]' 'hooks[Manage internal agent hooks]' 'webhooks[Webhook helpers and integrations]' 'qr[Generate a mobile pairing QR code and setup code]' 'clawbot[Legacy clawbot command aliases]' 'pairing[Secure DM pairing (approve inbound requests)]' 'plugins[Manage OpenClaw plugins and extensions]' 'channels[Manage connected chat channels and accounts]' 'directory[Lookup contact and group IDs (self, peers, groups) for supported chat channels]' 'security[Audit local config and state for common security foot-guns]' 'secrets[Secrets runtime controls]' 'skills[List and inspect available skills]' 'update[Update OpenClaw and inspect update channel status]'" \
|
||||
"*::arg:->args"
|
||||
|
||||
case $state in
|
||||
@@ -35,6 +35,7 @@ _openclaw_root_completion() {
|
||||
(transcripts) _openclaw_transcripts ;;
|
||||
(agent) _openclaw_agent ;;
|
||||
(agents) _openclaw_agents ;;
|
||||
(audit) _openclaw_audit ;;
|
||||
(status) _openclaw_status ;;
|
||||
(health) _openclaw_health ;;
|
||||
(sessions) _openclaw_sessions ;;
|
||||
@@ -46,14 +47,17 @@ _openclaw_root_completion() {
|
||||
(logs) _openclaw_logs ;;
|
||||
(system) _openclaw_system ;;
|
||||
(models) _openclaw_models ;;
|
||||
(infer) _openclaw_infer ;;
|
||||
(approvals) _openclaw_approvals ;;
|
||||
(promos) _openclaw_promos ;;
|
||||
(infer|capability) _openclaw_infer ;;
|
||||
(approvals|exec-approvals) _openclaw_approvals ;;
|
||||
(exec-policy) _openclaw_exec_policy ;;
|
||||
(nodes) _openclaw_nodes ;;
|
||||
(devices) _openclaw_devices ;;
|
||||
(node) _openclaw_node ;;
|
||||
(sandbox) _openclaw_sandbox ;;
|
||||
(tui) _openclaw_tui ;;
|
||||
(worktrees) _openclaw_worktrees ;;
|
||||
(attach) _openclaw_attach ;;
|
||||
(tui|terminal|chat) _openclaw_tui ;;
|
||||
(cron) _openclaw_cron ;;
|
||||
(dns) _openclaw_dns ;;
|
||||
(docs) _openclaw_docs ;;
|
||||
@@ -95,27 +99,15 @@ _openclaw_setup() {
|
||||
_arguments -C \
|
||||
"--workspace[Agent workspace directory (default: ~/.openclaw/workspace; stored as agents.defaults.workspace)]" \
|
||||
"--wizard[Run interactive onboarding]" \
|
||||
"--non-interactive[Run onboarding without prompts]" \
|
||||
"--accept-risk[Acknowledge that agents are powerful and full system access is risky (required for --non-interactive)]" \
|
||||
"--mode[Onboard mode: local|remote]" \
|
||||
"--import-from[Migration provider to run during onboarding]" \
|
||||
"--import-source[Source agent home for --import-from]" \
|
||||
"--import-secrets[Import supported secrets during onboarding migration]" \
|
||||
"--remote-url[Remote Gateway WebSocket URL]" \
|
||||
"--remote-token[Remote Gateway token (optional)]"
|
||||
}
|
||||
|
||||
_openclaw_onboard() {
|
||||
_arguments -C \
|
||||
"--workspace[Agent workspace directory (default: ~/.openclaw/workspace)]" \
|
||||
"--reset[Reset config + credentials + sessions before running onboard (workspace only with --reset-scope full)]" \
|
||||
"--baseline[Create baseline config/workspace/session folders without onboarding]" \
|
||||
"--reset[Reset config + credentials + sessions before running onboarding (workspace only with --reset-scope full)]" \
|
||||
"--reset-scope[Reset scope: config|config+creds+sessions|full]" \
|
||||
"--non-interactive[Run without prompts]" \
|
||||
"--modern[Use the conversational setup/repair assistant]" \
|
||||
"--non-interactive[Run onboarding without prompts]" \
|
||||
"--classic[Use the classic multi-step setup wizard]" \
|
||||
"--accept-risk[Acknowledge that agents are powerful and full system access is risky (required for --non-interactive)]" \
|
||||
"--flow[Onboard flow: quickstart|advanced|manual|import]" \
|
||||
"--mode[Onboard mode: local|remote]" \
|
||||
"--auth-choice[Auth: custom-api-key|skip|claude-cli|apiKey|anthropic-cli|setup-token|arceeai-api-key|byteplus-api-key|cerebras-api-key|openai-device-code|openai|chutes|chutes-api-key|cloudflare-ai-gateway-api-key|zai-cn|codex|qwen-api-key-cn|qwen-api-key|zai-coding-cn|zai-coding-global|cohere-api-key|copilot-proxy|deepinfra-api-key|deepseek-api-key|fireworks-api-key|google-gemini-cli|github-copilot|zai-global|gmi-api-key|gemini-api-key|google-vertex-api-key|groq-api-key|huggingface-api-key|kilocode-api-key|kimi-code-api-key|litellm-api-key|lmstudio|microsoft-foundry-apikey|microsoft-foundry-entra|minimax-cn-api|minimax-global-api|minimax-cn-oauth|minimax-global-oauth|mistral-api-key|moonshot-api-key|moonshot-api-key-cn|novita-api-key|nvidia-api-key|ollama|ollama-cloud|openai-api-key|opencode-go|opencode-zen|arceeai-openrouter|openrouter-api-key|openrouter-oauth|qianfan-api-key|qwen-oauth|sglang|qwen-standard-api-key-cn|qwen-standard-api-key|stepfun-standard-api-key-cn|stepfun-standard-api-key-intl|stepfun-plan-api-key-cn|stepfun-plan-api-key-intl|synthetic-api-key|tokenhub-api-key|together-api-key|venice-api-key|ai-gateway-api-key|vllm|volcengine-api-key|xai-api-key|xai-device-code|xai-oauth|xiaomi-api-key|xiaomi-token-plan-cn|xiaomi-token-plan-ams|xiaomi-token-plan-sgp|zai-api-key]" \
|
||||
"--auth-choice[Auth: custom-api-key|skip|claude-cli|apiKey|anthropic-cli|setup-token|arceeai-api-key|byteplus-api-key|cerebras-api-key|openai-device-code|openai|chutes|chutes-api-key|clawrouter-api-key|cloudflare-ai-gateway-api-key|zai-cn|codex|qwen-api-key-cn|qwen-api-key|zai-coding-cn|zai-coding-global|cohere-api-key|copilot-proxy|deepinfra-api-key|deepseek-api-key|featherless-api-key|fireworks-api-key|google-gemini-cli|github-copilot|zai-global|gmi-api-key|gemini-api-key|google-vertex-api-key|groq-api-key|huggingface-api-key|kilocode-api-key|kimi-code-api-key|litellm-api-key|lmstudio|longcat-api-key|meta-api-key|microsoft-foundry-apikey|microsoft-foundry-entra|minimax-cn-api|minimax-global-api|minimax-cn-oauth|minimax-global-oauth|mistral-api-key|moonshot-api-key|moonshot-api-key-cn|novita-api-key|nvidia-api-key|ollama|ollama-cloud|openai-api-key|opencode-go|opencode-zen|arceeai-openrouter|openrouter-api-key|openrouter-oauth|qianfan-api-key|qwen-oauth|sglang|qwen-standard-api-key-cn|qwen-standard-api-key|stepfun-standard-api-key-cn|stepfun-standard-api-key-intl|stepfun-plan-api-key-cn|stepfun-plan-api-key-intl|synthetic-api-key|tokenhub-api-key|tokenplan-api-key|together-api-key|venice-api-key|ai-gateway-api-key|vllm|volcengine-api-key|xai-api-key|xai-device-code|xai-oauth|xiaomi-api-key|xiaomi-token-plan-cn|xiaomi-token-plan-ams|xiaomi-token-plan-sgp|zai-api-key]" \
|
||||
"--token-provider[Token provider id (non-interactive; used with --auth-choice token)]" \
|
||||
"--token[Token value (non-interactive; used with --auth-choice token)]" \
|
||||
"--token-profile-id[Auth profile id (non-interactive; default: <provider>:manual)]" \
|
||||
@@ -126,6 +118,7 @@ _openclaw_onboard() {
|
||||
"--alibaba-model-studio-api-key[Alibaba Model Studio API key]" \
|
||||
"--anthropic-api-key[Anthropic API key]" \
|
||||
"--byteplus-api-key[BytePlus API key]" \
|
||||
"--clawrouter-api-key[ClawRouter proxy key]" \
|
||||
"--cohere-api-key[Cohere API key]" \
|
||||
"--comfy-api-key[Comfy Cloud API key]" \
|
||||
"--fal-api-key[fal API key]" \
|
||||
@@ -134,6 +127,7 @@ _openclaw_onboard() {
|
||||
"--huggingface-api-key[Hugging Face API key (HF token)]" \
|
||||
"--litellm-api-key[LiteLLM API key]" \
|
||||
"--lmstudio-api-key[LM Studio API key]" \
|
||||
"--meta-api-key[Meta API key]" \
|
||||
"--minimax-api-key[MiniMax API key]" \
|
||||
"--mistral-api-key[Mistral API key]" \
|
||||
"--novita-api-key[NovitaAI API key]" \
|
||||
@@ -157,7 +151,9 @@ _openclaw_onboard() {
|
||||
"--chutes-api-key[Chutes API key]" \
|
||||
"--cloudflare-ai-gateway-api-key[Cloudflare AI Gateway API key]" \
|
||||
"--deepinfra-api-key[DeepInfra API key]" \
|
||||
"--featherless-api-key[Featherless AI API key]" \
|
||||
"--gmi-api-key[GMI Cloud API key]" \
|
||||
"--longcat-api-key[LongCat API key]" \
|
||||
"--groq-api-key[Groq API key]" \
|
||||
"--kilocode-api-key[Kilo Gateway API key]" \
|
||||
"--kimi-code-api-key[Kimi Code API key (subscription)]" \
|
||||
@@ -171,6 +167,119 @@ _openclaw_onboard() {
|
||||
"--fireworks-api-key[Fireworks API key]" \
|
||||
"--moonshot-api-key[Moonshot API key]" \
|
||||
"--tokenhub-api-key[Tencent TokenHub API key]" \
|
||||
"--tokenplan-api-key[Tencent TokenPlan API key]" \
|
||||
"--venice-api-key[Venice API key]" \
|
||||
"--ai-gateway-api-key[Vercel AI Gateway API key]" \
|
||||
"--zai-api-key[Z.AI API key]" \
|
||||
"--stepfun-api-key[StepFun API key]" \
|
||||
"--custom-base-url[Custom provider base URL]" \
|
||||
"--custom-api-key[Custom provider API key (optional)]" \
|
||||
"--custom-model-id[Custom provider model ID]" \
|
||||
"--custom-provider-id[Custom provider ID (optional; auto-derived by default)]" \
|
||||
"--custom-compatibility[Custom provider API compatibility: openai|openai-responses|anthropic (default: openai)]" \
|
||||
"--custom-image-input[Mark the custom provider model as image-capable]" \
|
||||
"--custom-text-input[Mark the custom provider model as text-only]" \
|
||||
"--gateway-port[Gateway port]" \
|
||||
"--gateway-bind[Gateway bind: loopback|tailnet|lan|auto|custom]" \
|
||||
"--gateway-auth[Gateway auth: token|password]" \
|
||||
"--gateway-token[Gateway token (token auth)]" \
|
||||
"--gateway-token-ref-env[Gateway token SecretRef env var name (token auth; e.g. OPENCLAW_GATEWAY_TOKEN)]" \
|
||||
"--gateway-password[Gateway password (password auth)]" \
|
||||
"--tailscale[Tailscale: off|serve|funnel]" \
|
||||
"--tailscale-reset-on-exit[Reset tailscale serve/funnel on exit]" \
|
||||
"--install-daemon[Install gateway service]" \
|
||||
"--no-install-daemon[Skip gateway service install]" \
|
||||
"--skip-daemon[Skip gateway service install]" \
|
||||
"--daemon-runtime[Daemon runtime: node]" \
|
||||
"--skip-channels[Skip channel setup]" \
|
||||
"--skip-skills[Skip skills setup]" \
|
||||
"--skip-bootstrap[Skip creating default agent workspace files]" \
|
||||
"--skip-search[Skip search provider setup]" \
|
||||
"--skip-health[Skip health check]" \
|
||||
"--skip-ui[Skip Control UI/TUI launch]" \
|
||||
"--suppress-gateway-token-output[Suppress token-bearing Gateway/UI output]" \
|
||||
"--skip-hooks[Accepted for onboard compatibility; hooks setup is skipped]" \
|
||||
"--node-manager[Node manager for skills: npm|pnpm|bun]" \
|
||||
"--import-from[Migration provider to run during onboarding]" \
|
||||
"--import-source[Source agent home for --import-from]" \
|
||||
"--import-secrets[Import supported secrets during onboarding migration]" \
|
||||
"--remote-url[Remote Gateway WebSocket URL]" \
|
||||
"--remote-token[Remote Gateway token (optional)]" \
|
||||
"--json[Output JSON summary]"
|
||||
}
|
||||
|
||||
_openclaw_onboard() {
|
||||
_arguments -C \
|
||||
"--workspace[Agent workspace directory (default: ~/.openclaw/workspace)]" \
|
||||
"--reset[Reset config + credentials + sessions before running onboard (workspace only with --reset-scope full)]" \
|
||||
"--reset-scope[Reset scope: config|config+creds+sessions|full]" \
|
||||
"--non-interactive[Run without prompts]" \
|
||||
"--modern[Alias for the default bootstrap onboarding (kept for compatibility)]" \
|
||||
"--classic[Use the classic multi-step setup wizard]" \
|
||||
"--accept-risk[Acknowledge that agents are powerful and full system access is risky (required for --non-interactive)]" \
|
||||
"--flow[Onboard flow: quickstart|advanced|manual|import]" \
|
||||
"--mode[Onboard mode: local|remote]" \
|
||||
"--auth-choice[Auth: custom-api-key|skip|claude-cli|apiKey|anthropic-cli|setup-token|arceeai-api-key|byteplus-api-key|cerebras-api-key|openai-device-code|openai|chutes|chutes-api-key|clawrouter-api-key|cloudflare-ai-gateway-api-key|zai-cn|codex|qwen-api-key-cn|qwen-api-key|zai-coding-cn|zai-coding-global|cohere-api-key|copilot-proxy|deepinfra-api-key|deepseek-api-key|featherless-api-key|fireworks-api-key|google-gemini-cli|github-copilot|zai-global|gmi-api-key|gemini-api-key|google-vertex-api-key|groq-api-key|huggingface-api-key|kilocode-api-key|kimi-code-api-key|litellm-api-key|lmstudio|longcat-api-key|meta-api-key|microsoft-foundry-apikey|microsoft-foundry-entra|minimax-cn-api|minimax-global-api|minimax-cn-oauth|minimax-global-oauth|mistral-api-key|moonshot-api-key|moonshot-api-key-cn|novita-api-key|nvidia-api-key|ollama|ollama-cloud|openai-api-key|opencode-go|opencode-zen|arceeai-openrouter|openrouter-api-key|openrouter-oauth|qianfan-api-key|qwen-oauth|sglang|qwen-standard-api-key-cn|qwen-standard-api-key|stepfun-standard-api-key-cn|stepfun-standard-api-key-intl|stepfun-plan-api-key-cn|stepfun-plan-api-key-intl|synthetic-api-key|tokenhub-api-key|tokenplan-api-key|together-api-key|venice-api-key|ai-gateway-api-key|vllm|volcengine-api-key|xai-api-key|xai-device-code|xai-oauth|xiaomi-api-key|xiaomi-token-plan-cn|xiaomi-token-plan-ams|xiaomi-token-plan-sgp|zai-api-key]" \
|
||||
"--token-provider[Token provider id (non-interactive; used with --auth-choice token)]" \
|
||||
"--token[Token value (non-interactive; used with --auth-choice token)]" \
|
||||
"--token-profile-id[Auth profile id (non-interactive; default: <provider>:manual)]" \
|
||||
"--token-expires-in[Optional token expiry duration (e.g. 365d, 12h)]" \
|
||||
"--secret-input-mode[API key persistence mode: plaintext|ref (default: plaintext)]" \
|
||||
"--cloudflare-ai-gateway-account-id[Cloudflare Account ID]" \
|
||||
"--cloudflare-ai-gateway-gateway-id[Cloudflare AI Gateway ID]" \
|
||||
"--alibaba-model-studio-api-key[Alibaba Model Studio API key]" \
|
||||
"--anthropic-api-key[Anthropic API key]" \
|
||||
"--byteplus-api-key[BytePlus API key]" \
|
||||
"--clawrouter-api-key[ClawRouter proxy key]" \
|
||||
"--cohere-api-key[Cohere API key]" \
|
||||
"--comfy-api-key[Comfy Cloud API key]" \
|
||||
"--fal-api-key[fal API key]" \
|
||||
"--github-copilot-token[GitHub Copilot OAuth token]" \
|
||||
"--gemini-api-key[Gemini API key]" \
|
||||
"--huggingface-api-key[Hugging Face API key (HF token)]" \
|
||||
"--litellm-api-key[LiteLLM API key]" \
|
||||
"--lmstudio-api-key[LM Studio API key]" \
|
||||
"--meta-api-key[Meta API key]" \
|
||||
"--minimax-api-key[MiniMax API key]" \
|
||||
"--mistral-api-key[Mistral API key]" \
|
||||
"--novita-api-key[NovitaAI API key]" \
|
||||
"--nvidia-api-key[NVIDIA API key]" \
|
||||
"--ollama-cloud-api-key[Ollama Cloud API key]" \
|
||||
"--openai-api-key[OpenAI API Key]" \
|
||||
"--opencode-zen-api-key[OpenCode API key (Zen catalog)]" \
|
||||
"--opencode-go-api-key[OpenCode API key (Go catalog)]" \
|
||||
"--openrouter-api-key[OpenRouter API key]" \
|
||||
"--runway-api-key[Runway API key]" \
|
||||
"--synthetic-api-key[Synthetic API key]" \
|
||||
"--together-api-key[Together AI API key]" \
|
||||
"--volcengine-api-key[Volcano Engine API key]" \
|
||||
"--vydra-api-key[Vydra API key]" \
|
||||
"--xai-api-key[xAI API key]" \
|
||||
"--xiaomi-api-key[Xiaomi MiMo pay-as-you-go API key]" \
|
||||
"--xiaomi-token-plan-api-key[Xiaomi MiMo Token Plan API key]" \
|
||||
"--deepseek-api-key[DeepSeek API key]" \
|
||||
"--arceeai-api-key[Arcee AI API key]" \
|
||||
"--cerebras-api-key[Cerebras API key]" \
|
||||
"--chutes-api-key[Chutes API key]" \
|
||||
"--cloudflare-ai-gateway-api-key[Cloudflare AI Gateway API key]" \
|
||||
"--deepinfra-api-key[DeepInfra API key]" \
|
||||
"--featherless-api-key[Featherless AI API key]" \
|
||||
"--gmi-api-key[GMI Cloud API key]" \
|
||||
"--longcat-api-key[LongCat API key]" \
|
||||
"--groq-api-key[Groq API key]" \
|
||||
"--kilocode-api-key[Kilo Gateway API key]" \
|
||||
"--kimi-code-api-key[Kimi Code API key (subscription)]" \
|
||||
"--pixverse-api-key[PixVerse API key]" \
|
||||
"--qianfan-api-key[QIANFAN API key]" \
|
||||
"--modelstudio-standard-api-key-cn[Qwen Cloud standard API key (China)]" \
|
||||
"--modelstudio-standard-api-key[Qwen Cloud standard API key (Global/Intl)]" \
|
||||
"--modelstudio-api-key-cn[Qwen Cloud Coding Plan API key (China)]" \
|
||||
"--modelstudio-api-key[Qwen Cloud Coding Plan API key (Global/Intl)]" \
|
||||
"--qwen-oauth-token[Qwen OAuth token]" \
|
||||
"--fireworks-api-key[Fireworks API key]" \
|
||||
"--moonshot-api-key[Moonshot API key]" \
|
||||
"--tokenhub-api-key[Tencent TokenHub API key]" \
|
||||
"--tokenplan-api-key[Tencent TokenPlan API key]" \
|
||||
"--venice-api-key[Venice API key]" \
|
||||
"--ai-gateway-api-key[Vercel AI Gateway API key]" \
|
||||
"--zai-api-key[Z.AI API key]" \
|
||||
@@ -195,7 +304,7 @@ _openclaw_onboard() {
|
||||
"--install-daemon[Install gateway service]" \
|
||||
"--no-install-daemon[Skip gateway service install]" \
|
||||
"--skip-daemon[Skip gateway service install]" \
|
||||
"--daemon-runtime[Daemon runtime: node|bun]" \
|
||||
"--daemon-runtime[Daemon runtime: node]" \
|
||||
"--skip-channels[Skip channel setup]" \
|
||||
"--skip-skills[Skip skills setup]" \
|
||||
"--skip-bootstrap[Skip creating default agent workspace files]" \
|
||||
@@ -431,6 +540,7 @@ _openclaw_doctor() {
|
||||
"--post-upgrade[Emit plugin-compat findings only (machine-readable with --json)]" \
|
||||
"--json[With --lint or --post-upgrade: emit machine-readable JSON output]" \
|
||||
"--severity-min[With --lint: drop findings below this severity (info|warning|error)]" \
|
||||
"--all[With --lint: run all registered checks, including opt-in checks]" \
|
||||
"--skip[With --lint: skip a specific check id (repeatable)]" \
|
||||
"--only[With --lint: run only the specified check id (repeatable)]"
|
||||
}
|
||||
@@ -1358,6 +1468,20 @@ _openclaw_agents() {
|
||||
esac
|
||||
}
|
||||
|
||||
_openclaw_audit() {
|
||||
_arguments -C \
|
||||
"--agent[Filter by agent id]" \
|
||||
"--session[Filter by exact session key]" \
|
||||
"--run[Filter by run id]" \
|
||||
"--kind[Filter by kind (agent_run or tool_action)]" \
|
||||
"--status[Filter by status (started, succeeded, failed, cancelled, timed_out, blocked, unknown)]" \
|
||||
"--after[Include records at/after ISO time or Unix milliseconds]" \
|
||||
"--before[Include records at/before ISO time or Unix milliseconds]" \
|
||||
"--cursor[Continue from a previous result cursor]" \
|
||||
"--limit[Maximum records (1-500)]" \
|
||||
"--json[Output a bounded JSON page]"
|
||||
}
|
||||
|
||||
_openclaw_status() {
|
||||
_arguments -C \
|
||||
"--json[Output JSON instead of text]" \
|
||||
@@ -1429,7 +1553,7 @@ _openclaw_sessions_compact() {
|
||||
"--url[Gateway WebSocket URL (defaults to gateway.remote.url when configured)]" \
|
||||
"--token[Gateway token (if required)]" \
|
||||
"--password[Gateway password (password auth)]" \
|
||||
"--timeout[RPC timeout in milliseconds (summarization can be slow)]" \
|
||||
"--timeout[RPC timeout in milliseconds (defaults to no client deadline)]" \
|
||||
"--json[Output JSON]"
|
||||
}
|
||||
|
||||
@@ -1670,7 +1794,7 @@ _openclaw_gateway_status() {
|
||||
_openclaw_gateway_install() {
|
||||
_arguments -C \
|
||||
"--port[Gateway port]" \
|
||||
"--runtime[Daemon runtime (node|bun). Default: node]" \
|
||||
"--runtime[Daemon runtime (node). Default: node]" \
|
||||
"--token[Gateway token (token auth)]" \
|
||||
"--wrapper[Executable wrapper for generated service ProgramArguments]" \
|
||||
"--force[Reinstall/overwrite if already installed]" \
|
||||
@@ -1696,9 +1820,9 @@ _openclaw_gateway_stop() {
|
||||
_openclaw_gateway_restart() {
|
||||
_arguments -C \
|
||||
"--force[Restart immediately without waiting for active gateway work]" \
|
||||
"--safe[Request an OpenClaw-aware restart after active work drains]" \
|
||||
"--safe[Request an OpenClaw-aware restart after active work drains (bounded wait; may force after gateway.reload.deferralTimeoutMs expires; set deferralTimeoutMs=0 for indefinite wait)]" \
|
||||
"--skip-deferral[Bypass the safe-restart deferral gate; requires --safe]" \
|
||||
"--wait[Wait duration before forcing restart (ms, 10s, 5m; 0 waits indefinitely)]" \
|
||||
"--wait[Wait duration before restart (ms, 10s, 5m; 0 waits indefinitely). For non-safe restarts (plain restart); not compatible with --force or --safe]" \
|
||||
"--json[Output JSON]"
|
||||
}
|
||||
|
||||
@@ -1867,7 +1991,7 @@ _openclaw_daemon_status() {
|
||||
_openclaw_daemon_install() {
|
||||
_arguments -C \
|
||||
"--port[Gateway port]" \
|
||||
"--runtime[Daemon runtime (node|bun). Default: node]" \
|
||||
"--runtime[Daemon runtime (node). Default: node]" \
|
||||
"--token[Gateway token (token auth)]" \
|
||||
"--wrapper[Executable wrapper for generated service ProgramArguments]" \
|
||||
"--force[Reinstall/overwrite if already installed]" \
|
||||
@@ -1893,9 +2017,9 @@ _openclaw_daemon_stop() {
|
||||
_openclaw_daemon_restart() {
|
||||
_arguments -C \
|
||||
"--force[Restart immediately without waiting for active gateway work]" \
|
||||
"--safe[Request an OpenClaw-aware restart after active work drains]" \
|
||||
"--safe[Request an OpenClaw-aware restart after active work drains (bounded wait; may force after gateway.reload.deferralTimeoutMs expires; set deferralTimeoutMs=0 for indefinite wait)]" \
|
||||
"--skip-deferral[Bypass the safe-restart deferral gate; requires --safe]" \
|
||||
"--wait[Wait duration before forcing restart (ms, 10s, 5m; 0 waits indefinitely)]" \
|
||||
"--wait[Wait duration before restart (ms, 10s, 5m; 0 waits indefinitely). For non-safe restarts (plain restart); not compatible with --force or --safe]" \
|
||||
"--json[Output JSON]"
|
||||
}
|
||||
|
||||
@@ -2334,6 +2458,36 @@ _openclaw_models() {
|
||||
esac
|
||||
}
|
||||
|
||||
_openclaw_promos_list() {
|
||||
_arguments -C \
|
||||
"--json[Output JSON]"
|
||||
}
|
||||
|
||||
_openclaw_promos_claim() {
|
||||
_arguments -C \
|
||||
"--api-key[Provider API key for non-interactive setup]" \
|
||||
"--set-default[Set the promotion's suggested model as default without asking]"
|
||||
}
|
||||
|
||||
_openclaw_promos() {
|
||||
local -a commands
|
||||
local -a options
|
||||
|
||||
_arguments -C \
|
||||
\
|
||||
"1: :_values 'command' 'list[List active promotions]' 'claim[Claim a promotion: set up provider auth and register its models]'" \
|
||||
"*::arg:->args"
|
||||
|
||||
case $state in
|
||||
(args)
|
||||
case $line[1] in
|
||||
(list) _openclaw_promos_list ;;
|
||||
(claim) _openclaw_promos_claim ;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
_openclaw_infer_list() {
|
||||
_arguments -C \
|
||||
"--json[Output JSON]"
|
||||
@@ -3274,6 +3428,7 @@ _openclaw_node_run() {
|
||||
_arguments -C \
|
||||
"--host[Gateway host]" \
|
||||
"--port[Gateway port]" \
|
||||
"--context-path[Gateway WebSocket context path (e.g. /openclaw-gw)]" \
|
||||
"--tls[Use TLS for the gateway connection]" \
|
||||
"--tls-fingerprint[Expected TLS certificate fingerprint (sha256)]" \
|
||||
"--node-id[Override node id (clears pairing token)]" \
|
||||
@@ -3289,11 +3444,12 @@ _openclaw_node_install() {
|
||||
_arguments -C \
|
||||
"--host[Gateway host]" \
|
||||
"--port[Gateway port]" \
|
||||
"--context-path[Gateway WebSocket context path (e.g. /openclaw-gw)]" \
|
||||
"--tls[Use TLS for the gateway connection]" \
|
||||
"--tls-fingerprint[Expected TLS certificate fingerprint (sha256)]" \
|
||||
"--node-id[Override node id (clears pairing token)]" \
|
||||
"--display-name[Override node display name]" \
|
||||
"--runtime[Service runtime (node|bun). Default: node]" \
|
||||
"--runtime[Service runtime (node). Default: node]" \
|
||||
"--force[Reinstall/overwrite if already installed]" \
|
||||
"--json[Output JSON]"
|
||||
}
|
||||
@@ -3384,6 +3540,64 @@ _openclaw_sandbox() {
|
||||
esac
|
||||
}
|
||||
|
||||
_openclaw_worktrees_list() {
|
||||
_arguments -C \
|
||||
"--json[Output JSON]"
|
||||
}
|
||||
|
||||
_openclaw_worktrees_create() {
|
||||
_arguments -C \
|
||||
"--name[Managed worktree name]" \
|
||||
"--base-ref[Git ref to branch from]" \
|
||||
"--json[Output JSON]"
|
||||
}
|
||||
|
||||
_openclaw_worktrees_remove() {
|
||||
_arguments -C \
|
||||
"--force[Remove even if snapshot creation fails]" \
|
||||
"--json[Output JSON]"
|
||||
}
|
||||
|
||||
_openclaw_worktrees_restore() {
|
||||
_arguments -C \
|
||||
"--json[Output JSON]"
|
||||
}
|
||||
|
||||
_openclaw_worktrees_gc() {
|
||||
_arguments -C \
|
||||
"--json[Output JSON]"
|
||||
}
|
||||
|
||||
_openclaw_worktrees() {
|
||||
local -a commands
|
||||
local -a options
|
||||
|
||||
_arguments -C \
|
||||
\
|
||||
"1: :_values 'command' 'list[List active and restorable managed worktrees]' 'create[Create a managed worktree]' 'remove[Snapshot and remove a managed worktree]' 'restore[Restore a managed worktree from its snapshot]' 'gc[Run managed worktree cleanup now]'" \
|
||||
"*::arg:->args"
|
||||
|
||||
case $state in
|
||||
(args)
|
||||
case $line[1] in
|
||||
(list) _openclaw_worktrees_list ;;
|
||||
(create) _openclaw_worktrees_create ;;
|
||||
(remove) _openclaw_worktrees_remove ;;
|
||||
(restore) _openclaw_worktrees_restore ;;
|
||||
(gc) _openclaw_worktrees_gc ;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
_openclaw_attach() {
|
||||
_arguments -C \
|
||||
"--session[Gateway session key to bind (default: main session)]" \
|
||||
"--ttl[Grant TTL in milliseconds (default: gateway policy)]" \
|
||||
"--bin[Claude Code binary to spawn]" \
|
||||
"--print-config[Mint the grant + write the .mcp.json, print how to launch it, and exit without spawning]"
|
||||
}
|
||||
|
||||
_openclaw_tui() {
|
||||
_arguments -C \
|
||||
"--local[Run against the local embedded agent runtime]" \
|
||||
@@ -3421,6 +3635,8 @@ _openclaw_cron_list() {
|
||||
_openclaw_cron_add() {
|
||||
_arguments -C \
|
||||
"--name[Job name]" \
|
||||
"--declaration-key[Idempotent declaration identity key]" \
|
||||
"--display-name[Human-readable declarative job label]" \
|
||||
"--description[Optional description]" \
|
||||
"--disabled[Create job disabled]" \
|
||||
"--delete-after-run[Delete one-shot job after it succeeds]" \
|
||||
@@ -3432,9 +3648,13 @@ _openclaw_cron_add() {
|
||||
"--at[Run once at time (ISO with offset, or +duration). Use --tz for offset-less datetimes]" \
|
||||
"--every[Run every duration (e.g. 10m, 1h)]" \
|
||||
"--cron[Cron expression (5-field or 6-field with seconds)]" \
|
||||
"--on-exit[Fire once when this watched command exits (event trigger; survives turn teardown)]" \
|
||||
"--on-exit-cwd[Working directory for the --on-exit watched command]" \
|
||||
"--tz[Timezone for cron expressions (IANA; cron default: Gateway host local timezone)]" \
|
||||
"--stagger[Cron stagger window (e.g. 30s, 5m)]" \
|
||||
"--exact[Disable cron staggering (set stagger to 0)]" \
|
||||
"(--trigger-script ->)"{--trigger-script,->}"[Condition script file, or - for stdin]" \
|
||||
"--trigger-once[Disable after the first successful triggered run]" \
|
||||
"--system-event[System event payload (main session)]" \
|
||||
"--message[Agent message payload]" \
|
||||
"--command[Command payload run as sh -lc <shell> on the Gateway]" \
|
||||
@@ -3442,7 +3662,7 @@ _openclaw_cron_add() {
|
||||
"--command-cwd[Working directory for command payloads]" \
|
||||
"--command-env[Environment override for command payloads (repeatable)]" \
|
||||
"--command-input[stdin for command payloads]" \
|
||||
"--thinking[Thinking level for agent jobs (off|minimal|low|medium|high|xhigh)]" \
|
||||
"--thinking[Thinking level for agent jobs (off|minimal|low|medium|high|xhigh|adaptive|max|ultra)]" \
|
||||
"--model[Model override for agent jobs (provider/model or alias)]" \
|
||||
"--fallbacks[Fallback model list for agent jobs]" \
|
||||
"--timeout-seconds[Timeout seconds for agent or command jobs]" \
|
||||
@@ -3551,6 +3771,9 @@ _openclaw_cron_edit() {
|
||||
"--tz[Timezone for cron expressions (IANA; cron default: Gateway host local timezone)]" \
|
||||
"--stagger[Cron stagger window (e.g. 30s, 5m)]" \
|
||||
"--exact[Disable cron staggering (set stagger to 0)]" \
|
||||
"(--trigger-script ->)"{--trigger-script,->}"[Set condition script from file, or - for stdin]" \
|
||||
"--trigger-once[Disable after the first successful triggered run]" \
|
||||
"--clear-trigger[Remove the condition trigger]" \
|
||||
"--system-event[Set systemEvent payload]" \
|
||||
"--message[Set agentTurn payload message]" \
|
||||
"--command[Set command payload run as sh -lc <shell> on the Gateway]" \
|
||||
@@ -3558,7 +3781,8 @@ _openclaw_cron_edit() {
|
||||
"--command-cwd[Set command payload working directory]" \
|
||||
"--command-env[Set command payload environment overrides (repeatable)]" \
|
||||
"--command-input[Set command payload stdin]" \
|
||||
"--thinking[Thinking level for agent jobs (off|minimal|low|medium|high|xhigh)]" \
|
||||
"--thinking[Thinking level for agent jobs (off|minimal|low|medium|high|xhigh|adaptive|max|ultra)]" \
|
||||
"--clear-thinking[Remove the per-job thinking override (restore normal cron thinking precedence)]" \
|
||||
"--model[Model override for agent jobs]" \
|
||||
"--fallbacks[Fallback model list for agent jobs]" \
|
||||
"--clear-fallbacks[Remove per-job fallback override]" \
|
||||
@@ -3606,7 +3830,7 @@ _openclaw_cron() {
|
||||
|
||||
_arguments -C \
|
||||
\
|
||||
"1: :_values 'command' 'status[Show cron scheduler status]' 'list[List cron jobs]' 'add[Add a cron job]' 'rm[Remove a cron job]' 'enable[Enable a cron job]' 'disable[Disable a cron job]' 'get[Get a cron job as JSON]' 'show[Show a cron job]' 'runs[Show cron run history]' 'run[Run a cron job now (debug)]' 'edit[Edit a cron job (patch fields)]'" \
|
||||
"1: :_values 'command' 'status[Show cron scheduler status]' 'list[List cron jobs]' 'add[Add a cron job]' 'create[Add a cron job]' 'rm[Remove a cron job]' 'remove[Remove a cron job]' 'delete[Remove a cron job]' 'enable[Enable a cron job]' 'disable[Disable a cron job]' 'get[Get a cron job as JSON]' 'show[Show a cron job]' 'runs[Show cron run history]' 'run[Run a cron job now (debug)]' 'edit[Edit a cron job (patch fields)]'" \
|
||||
"*::arg:->args"
|
||||
|
||||
case $state in
|
||||
@@ -3614,8 +3838,8 @@ _openclaw_cron() {
|
||||
case $line[1] in
|
||||
(status) _openclaw_cron_status ;;
|
||||
(list) _openclaw_cron_list ;;
|
||||
(add) _openclaw_cron_add ;;
|
||||
(rm) _openclaw_cron_rm ;;
|
||||
(add|create) _openclaw_cron_add ;;
|
||||
(rm|remove|delete) _openclaw_cron_rm ;;
|
||||
(enable) _openclaw_cron_enable ;;
|
||||
(disable) _openclaw_cron_disable ;;
|
||||
(get) _openclaw_cron_get ;;
|
||||
@@ -3930,14 +4154,14 @@ _openclaw_clawbot() {
|
||||
|
||||
_openclaw_pairing_list() {
|
||||
_arguments -C \
|
||||
"--channel[Channel ()]" \
|
||||
"--channel[Channel (none configured)]" \
|
||||
"--account[Account id (for multi-account channels)]" \
|
||||
"--json[Print JSON]"
|
||||
}
|
||||
|
||||
_openclaw_pairing_approve() {
|
||||
_arguments -C \
|
||||
"--channel[Channel ()]" \
|
||||
"--channel[Channel (none configured)]" \
|
||||
"--account[Account id (for multi-account channels)]" \
|
||||
"--notify[Notify the requester on the same channel]"
|
||||
}
|
||||
@@ -4005,6 +4229,7 @@ _openclaw_plugins_install() {
|
||||
"--force[Overwrite an existing installed plugin or hook pack]" \
|
||||
"--pin[Record npm installs as exact resolved <name>@<version>]" \
|
||||
"--dangerously-force-unsafe-install[Deprecated no-op; security.installPolicy may still block]" \
|
||||
"--acknowledge-clawhub-risk[Acknowledge ClawHub release trust warnings without prompting]" \
|
||||
"--marketplace[Install a Claude marketplace plugin from a local repo/path or git/GitHub source]"
|
||||
}
|
||||
|
||||
@@ -4012,7 +4237,8 @@ _openclaw_plugins_update() {
|
||||
_arguments -C \
|
||||
"--all[Update all tracked plugins and hook packs]" \
|
||||
"--dry-run[Show what would change without writing]" \
|
||||
"--dangerously-force-unsafe-install[Deprecated no-op; security.installPolicy may still block]"
|
||||
"--dangerously-force-unsafe-install[Deprecated no-op; security.installPolicy may still block]" \
|
||||
"--acknowledge-clawhub-risk[Acknowledge ClawHub release trust warnings without prompting]"
|
||||
}
|
||||
|
||||
_openclaw_plugins_registry() {
|
||||
@@ -4043,9 +4269,26 @@ _openclaw_plugins_init() {
|
||||
_arguments -C \
|
||||
"--directory[Output directory]" \
|
||||
"--name[Display name]" \
|
||||
"--type[Scaffold type (tool or provider)]" \
|
||||
"--force[Overwrite an existing output directory]"
|
||||
}
|
||||
|
||||
_openclaw_plugins_marketplace_entries() {
|
||||
_arguments -C \
|
||||
"--feed-profile[Configured marketplace feed profile to list]" \
|
||||
"--feed-url[Explicit hosted marketplace feed URL]" \
|
||||
"--offline[Read the latest accepted snapshot without fetching the feed]" \
|
||||
"--json[Print JSON]"
|
||||
}
|
||||
|
||||
_openclaw_plugins_marketplace_refresh() {
|
||||
_arguments -C \
|
||||
"--feed-profile[Configured marketplace feed profile to refresh]" \
|
||||
"--feed-url[Explicit hosted marketplace feed URL]" \
|
||||
"--expected-sha256[Expected hosted feed SHA-256 payload checksum]" \
|
||||
"--json[Print JSON]"
|
||||
}
|
||||
|
||||
_openclaw_plugins_marketplace_list() {
|
||||
_arguments -C \
|
||||
"--json[Print JSON]"
|
||||
@@ -4057,12 +4300,14 @@ _openclaw_plugins_marketplace() {
|
||||
|
||||
_arguments -C \
|
||||
\
|
||||
"1: :_values 'command' 'list[List plugins published by a marketplace source]'" \
|
||||
"1: :_values 'command' 'entries[List entries from the configured OpenClaw marketplace feed]' 'refresh[Refresh the configured OpenClaw marketplace feed snapshot]' 'list[List plugins published by a marketplace source]'" \
|
||||
"*::arg:->args"
|
||||
|
||||
case $state in
|
||||
(args)
|
||||
case $line[1] in
|
||||
(entries) _openclaw_plugins_marketplace_entries ;;
|
||||
(refresh) _openclaw_plugins_marketplace_refresh ;;
|
||||
(list) _openclaw_plugins_marketplace_list ;;
|
||||
esac
|
||||
;;
|
||||
@@ -4075,7 +4320,7 @@ _openclaw_plugins() {
|
||||
|
||||
_arguments -C \
|
||||
\
|
||||
"1: :_values 'command' 'list[List discovered plugins]' 'search[Search ClawHub plugin packages]' 'inspect[Inspect plugin details]' 'enable[Enable a plugin in config]' 'disable[Disable a plugin in config]' 'uninstall[Uninstall a plugin]' 'install[Install a plugin or hook pack (path, archive, npm spec, git repo, clawhub:package, or marketplace entry)]' 'update[Update installed plugins and tracked hook packs]' 'registry[Inspect or rebuild the persisted plugin registry]' 'doctor[Report plugin load issues]' 'build[Generate simple tool plugin metadata]' 'validate[Validate simple tool plugin metadata]' 'init[Create a simple tool plugin project]' 'marketplace[Inspect Claude-compatible plugin marketplaces]'" \
|
||||
"1: :_values 'command' 'list[List discovered plugins]' 'search[Search ClawHub plugin packages]' 'inspect[Inspect plugin details]' 'info[Inspect plugin details]' 'enable[Enable a plugin in config]' 'disable[Disable a plugin in config]' 'uninstall[Uninstall a plugin]' 'install[Install a plugin or hook pack (path, archive, npm spec, git repo, clawhub:package, or marketplace entry)]' 'update[Update installed plugins and tracked hook packs]' 'registry[Inspect or rebuild the persisted plugin registry]' 'doctor[Report plugin load issues]' 'build[Generate simple tool plugin metadata]' 'validate[Validate simple tool plugin metadata]' 'init[Create a plugin project]' 'marketplace[Inspect Claude-compatible plugin marketplaces]'" \
|
||||
"*::arg:->args"
|
||||
|
||||
case $state in
|
||||
@@ -4083,7 +4328,7 @@ _openclaw_plugins() {
|
||||
case $line[1] in
|
||||
(list) _openclaw_plugins_list ;;
|
||||
(search) _openclaw_plugins_search ;;
|
||||
(inspect) _openclaw_plugins_inspect ;;
|
||||
(inspect|info) _openclaw_plugins_inspect ;;
|
||||
(enable) _openclaw_plugins_enable ;;
|
||||
(disable) _openclaw_plugins_disable ;;
|
||||
(uninstall) _openclaw_plugins_uninstall ;;
|
||||
@@ -4394,6 +4639,7 @@ _openclaw_skills_install() {
|
||||
"--version[Install a specific version]" \
|
||||
"--force[Overwrite an existing workspace skill]" \
|
||||
"--force-install[Install a pending GitHub-backed skill before ClawHub scan completes]" \
|
||||
"--acknowledge-clawhub-risk[Acknowledge ClawHub release trust warnings without prompting]" \
|
||||
"--global[Install into the shared managed skills directory]" \
|
||||
"--agent[Target agent workspace (defaults to cwd-inferred, then default agent)]" \
|
||||
"--as[Install a git/local skill under this slug]"
|
||||
@@ -4403,6 +4649,7 @@ _openclaw_skills_update() {
|
||||
_arguments -C \
|
||||
"--all[Update all tracked ClawHub skills]" \
|
||||
"--force-install[Install a pending GitHub-backed skill before ClawHub scan completes]" \
|
||||
"--acknowledge-clawhub-risk[Acknowledge ClawHub release trust warnings without prompting]" \
|
||||
"--global[Update skills in the shared managed skills directory]" \
|
||||
"--agent[Target agent workspace (defaults to cwd-inferred, then default agent)]"
|
||||
}
|
||||
@@ -4416,6 +4663,47 @@ _openclaw_skills_verify() {
|
||||
"--agent[Target agent workspace (defaults to cwd-inferred, then default agent)]"
|
||||
}
|
||||
|
||||
_openclaw_skills_curator_status() {
|
||||
_arguments -C \
|
||||
|
||||
}
|
||||
|
||||
_openclaw_skills_curator_pin() {
|
||||
_arguments -C \
|
||||
|
||||
}
|
||||
|
||||
_openclaw_skills_curator_unpin() {
|
||||
_arguments -C \
|
||||
|
||||
}
|
||||
|
||||
_openclaw_skills_curator_restore() {
|
||||
_arguments -C \
|
||||
|
||||
}
|
||||
|
||||
_openclaw_skills_curator() {
|
||||
local -a commands
|
||||
local -a options
|
||||
|
||||
_arguments -C \
|
||||
"--json[Output as JSON]" \
|
||||
"1: :_values 'command' 'status[Show curator run and lifecycle status]' 'pin[pin a curated skill]' 'unpin[unpin a curated skill]' 'restore[restore a curated skill]'" \
|
||||
"*::arg:->args"
|
||||
|
||||
case $state in
|
||||
(args)
|
||||
case $line[1] in
|
||||
(status) _openclaw_skills_curator_status ;;
|
||||
(pin) _openclaw_skills_curator_pin ;;
|
||||
(unpin) _openclaw_skills_curator_unpin ;;
|
||||
(restore) _openclaw_skills_curator_restore ;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
_openclaw_skills_workshop_list() {
|
||||
_arguments -C \
|
||||
"--json[Output as JSON]"
|
||||
@@ -4525,7 +4813,7 @@ _openclaw_skills() {
|
||||
|
||||
_arguments -C \
|
||||
"--agent[Target agent workspace (defaults to cwd-inferred, then default agent)]" \
|
||||
"1: :_values 'command' 'search[Search ClawHub skills]' 'install[Install a skill from ClawHub, git, or a local directory]' 'update[Update ClawHub-installed skills in the active or shared managed directory]' 'verify[Verify a ClawHub skill with ClawHub]' 'workshop[Manage pending skill proposals]' 'list[List all available skills]' 'info[Show detailed information about a skill]' 'check[Check which skills are ready, visible, or missing requirements]'" \
|
||||
"1: :_values 'command' 'search[Search ClawHub skills]' 'install[Install a skill from ClawHub, git, or a local directory]' 'update[Update ClawHub-installed skills in the active or shared managed directory]' 'verify[Verify a ClawHub skill with ClawHub]' 'curator[Inspect and manage skill lifecycle curation]' 'workshop[Manage pending skill proposals]' 'list[List all available skills]' 'info[Show detailed information about a skill]' 'check[Check which skills are ready, visible, or missing requirements]'" \
|
||||
"*::arg:->args"
|
||||
|
||||
case $state in
|
||||
@@ -4535,6 +4823,7 @@ _openclaw_skills() {
|
||||
(install) _openclaw_skills_install ;;
|
||||
(update) _openclaw_skills_update ;;
|
||||
(verify) _openclaw_skills_verify ;;
|
||||
(curator) _openclaw_skills_curator ;;
|
||||
(workshop) _openclaw_skills_workshop ;;
|
||||
(list) _openclaw_skills_list ;;
|
||||
(info) _openclaw_skills_info ;;
|
||||
@@ -4550,6 +4839,7 @@ _openclaw_update_repair() {
|
||||
"--channel[Persist update channel before repair]" \
|
||||
"--timeout[Timeout for update repair steps in seconds (default: 1800)]" \
|
||||
"--yes[Skip confirmation prompts (non-interactive)]" \
|
||||
"--acknowledge-clawhub-risk[Acknowledge ClawHub release trust warnings during post-update plugin sync]" \
|
||||
"--no-restart[Accepted for update command parity; repair never restarts]"
|
||||
}
|
||||
|
||||
@@ -4559,6 +4849,7 @@ _openclaw_update_finalize() {
|
||||
"--channel[Persist update channel before repair]" \
|
||||
"--timeout[Timeout for update repair steps in seconds (default: 1800)]" \
|
||||
"--yes[Skip confirmation prompts (non-interactive)]" \
|
||||
"--acknowledge-clawhub-risk[Acknowledge ClawHub release trust warnings during post-update plugin sync]" \
|
||||
"--no-restart[Accepted for update command parity; repair never restarts]"
|
||||
}
|
||||
|
||||
@@ -4585,6 +4876,7 @@ _openclaw_update() {
|
||||
"--tag[Override the package target for this update (dist-tag, version, or package spec)]" \
|
||||
"--timeout[Timeout for each update step in seconds (default: 1800)]" \
|
||||
"--yes[Skip confirmation prompts (non-interactive)]" \
|
||||
"--acknowledge-clawhub-risk[Acknowledge ClawHub release trust warnings during post-update plugin sync]" \
|
||||
"1: :_values 'command' 'repair[Repair post-update doctor and plugin convergence]' 'finalize[Repair post-update doctor and plugin convergence]' 'wizard[Interactive update wizard]' 'status[Show update channel and version status]'" \
|
||||
"*::arg:->args"
|
||||
|
||||
|
||||
+18
-18
@@ -1,18 +1,18 @@
|
||||
{
|
||||
"version": 1,
|
||||
"deviceId": "e8510d8b751c9065aebddecb8951b0283fce5457af923f81b6d4a6bd72d421e7",
|
||||
"tokens": {
|
||||
"operator": {
|
||||
"token": "2720025facf8497986551236793037ea",
|
||||
"role": "operator",
|
||||
"scopes": [
|
||||
"operator.admin",
|
||||
"operator.approvals",
|
||||
"operator.pairing",
|
||||
"operator.read",
|
||||
"operator.write"
|
||||
],
|
||||
"updatedAtMs": 1784020866140
|
||||
}
|
||||
}
|
||||
}
|
||||
{
|
||||
"version": 1,
|
||||
"deviceId": "e8510d8b751c9065aebddecb8951b0283fce5457af923f81b6d4a6bd72d421e7",
|
||||
"tokens": {
|
||||
"operator": {
|
||||
"token": "2720025facf8497986551236793037ea",
|
||||
"role": "operator",
|
||||
"scopes": [
|
||||
"operator.admin",
|
||||
"operator.approvals",
|
||||
"operator.pairing",
|
||||
"operator.read",
|
||||
"operator.write"
|
||||
],
|
||||
"updatedAtMs": 1784041767489
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"o9cq80w6ZnnPGItW-GGACkwd69bA@im.wechat":"AARzJWAFAAABAAAAAADnWa6hDk0cPgsSki9WaiAAAAB+9905Q6UiugPBawU3n3cyzQX+LkN8ofRzsCZYN0mt7q9eCAAeR8baA7WhPXDxUIECaODc0KoTdZxSoxc3Wt+hpmx5XICY"}
|
||||
{"o9cq80w6ZnnPGItW-GGACkwd69bA@im.wechat":"AARzJWAFAAABAAAAAAAYm4Qoror18kSCZVJWaiAAAAB+9905Q6UiugPBawU3n3cyzQX+LkN8ofRzsCZYN0mt7qJZVqRz/AiX/G5khUmJnRs/tZh4gb85vUgIMhrlaP4B5cdv2b95"}
|
||||
@@ -1 +1 @@
|
||||
{"get_updates_buf":"ChAIAhCcrKeF9jMYmp6chfYzEjplNDhhY2U5ODE0ZjBAaW0uYm90OjA2MDAwMGQ0ZmYwNzg5NWY2NDFlMmZjNmIzNGUzMzNkZDIwMjgx"}
|
||||
{"get_updates_buf":"ChAIDhCnvceJ9jMYmp6chfYzEjplNDhhY2U5ODE0ZjBAaW0uYm90OjA2MDAwMGQ0ZmYwNzg5NWY2NDFlMmZjNmIzNGUzMzNkZDIwMjgx"}
|
||||
+20
-229
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"meta": {
|
||||
"lastTouchedVersion": "2026.7.1",
|
||||
"lastTouchedAt": "2026-07-14T12:42:57.741Z"
|
||||
"lastTouchedAt": "2026-07-14T15:09:38.855Z"
|
||||
},
|
||||
"wizard": {
|
||||
"lastRunAt": "2026-07-14T07:37:27.421Z",
|
||||
"lastRunAt": "2026-07-14T15:09:38.730Z",
|
||||
"lastRunVersion": "2026.7.1",
|
||||
"lastRunCommand": "doctor",
|
||||
"lastRunMode": "local"
|
||||
@@ -20,184 +20,6 @@
|
||||
"models": {
|
||||
"mode": "merge",
|
||||
"providers": {
|
||||
"openai": {
|
||||
"baseUrl": "http://192.168.2.74:3000/v1",
|
||||
"apiKey": "sk-vaYyq9RwzyLlvAvHHUXzOTWkbioP76YW58vKuplq2npSkfZr",
|
||||
"api": "openai-completions"
|
||||
},
|
||||
"ollama": {
|
||||
"baseUrl": "http://127.0.0.1:11434",
|
||||
"apiKey": "OLLAMA_API_KEY",
|
||||
"api": "ollama",
|
||||
"models": [
|
||||
{
|
||||
"id": "qwen3-coder:latest",
|
||||
"name": "qwen3-coder:latest",
|
||||
"reasoning": false,
|
||||
"input": [
|
||||
"text"
|
||||
],
|
||||
"cost": {
|
||||
"input": 0,
|
||||
"output": 0,
|
||||
"cacheRead": 0,
|
||||
"cacheWrite": 0
|
||||
},
|
||||
"contextWindow": 65535,
|
||||
"maxTokens": 8192,
|
||||
"params": {
|
||||
"num_ctx": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "huihui_ai/glm-4.7-flash-abliterated:latest",
|
||||
"name": "huihui_ai/glm-4.7-flash-abliterated:latest",
|
||||
"reasoning": false,
|
||||
"input": [
|
||||
"text"
|
||||
],
|
||||
"cost": {
|
||||
"input": 0,
|
||||
"output": 0,
|
||||
"cacheRead": 0,
|
||||
"cacheWrite": 0
|
||||
},
|
||||
"contextWindow": 65535,
|
||||
"maxTokens": 8192,
|
||||
"params": {
|
||||
"num_ctx": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "deepseek-v4-flash:cloud",
|
||||
"name": "DeepSeek V4 Flash (Cloud)",
|
||||
"reasoning": false,
|
||||
"input": [
|
||||
"text"
|
||||
],
|
||||
"cost": {
|
||||
"input": 0,
|
||||
"output": 0,
|
||||
"cacheRead": 0,
|
||||
"cacheWrite": 0
|
||||
},
|
||||
"contextWindow": 131072,
|
||||
"maxTokens": 8192,
|
||||
"params": {
|
||||
"num_ctx": 131072
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"new-api": {
|
||||
"baseUrl": "http://192.168.2.74:3000/v1",
|
||||
"apiKey": "sk-vaYyq9RwzyLlvAvHHUXzOTWkbioP76YW58vKuplq2npSkfZr",
|
||||
"api": "openai-completions",
|
||||
"request": {
|
||||
"allowPrivateNetwork": true
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "qwen3.7-max",
|
||||
"name": "Qwen 3.7 Max",
|
||||
"reasoning": false,
|
||||
"input": [
|
||||
"text",
|
||||
"image"
|
||||
],
|
||||
"cost": {
|
||||
"input": 0,
|
||||
"output": 0,
|
||||
"cacheRead": 0,
|
||||
"cacheWrite": 0
|
||||
},
|
||||
"contextWindow": 131072,
|
||||
"maxTokens": 32768
|
||||
},
|
||||
{
|
||||
"id": "deepseek-v4-pro",
|
||||
"name": "DeepSeek V4 Pro",
|
||||
"reasoning": false,
|
||||
"input": [
|
||||
"text"
|
||||
],
|
||||
"cost": {
|
||||
"input": 0,
|
||||
"output": 0,
|
||||
"cacheRead": 0,
|
||||
"cacheWrite": 0
|
||||
},
|
||||
"contextWindow": 131072,
|
||||
"maxTokens": 32768
|
||||
},
|
||||
{
|
||||
"id": "deepseek-v4-flash",
|
||||
"name": "DeepSeek V4 Flash",
|
||||
"reasoning": false,
|
||||
"input": [
|
||||
"text"
|
||||
],
|
||||
"cost": {
|
||||
"input": 0,
|
||||
"output": 0,
|
||||
"cacheRead": 0,
|
||||
"cacheWrite": 0
|
||||
},
|
||||
"contextWindow": 131072,
|
||||
"maxTokens": 8192
|
||||
},
|
||||
{
|
||||
"id": "glm-5.1",
|
||||
"name": "GLM 5.1",
|
||||
"reasoning": false,
|
||||
"input": [
|
||||
"text",
|
||||
"image"
|
||||
],
|
||||
"cost": {
|
||||
"input": 0,
|
||||
"output": 0,
|
||||
"cacheRead": 0,
|
||||
"cacheWrite": 0
|
||||
},
|
||||
"contextWindow": 131072,
|
||||
"maxTokens": 32768
|
||||
},
|
||||
{
|
||||
"id": "kim-k2.6",
|
||||
"name": "Kimi K2.6",
|
||||
"reasoning": false,
|
||||
"input": [
|
||||
"text"
|
||||
],
|
||||
"cost": {
|
||||
"input": 0,
|
||||
"output": 0,
|
||||
"cacheRead": 0,
|
||||
"cacheWrite": 0
|
||||
},
|
||||
"contextWindow": 131072,
|
||||
"maxTokens": 32768
|
||||
},
|
||||
{
|
||||
"id": "qwen3.5-plus",
|
||||
"name": "Qwen 3.5 Plus",
|
||||
"reasoning": false,
|
||||
"input": [
|
||||
"text",
|
||||
"image"
|
||||
],
|
||||
"cost": {
|
||||
"input": 0,
|
||||
"output": 0,
|
||||
"cacheRead": 0,
|
||||
"cacheWrite": 0
|
||||
},
|
||||
"contextWindow": 131072,
|
||||
"maxTokens": 32768
|
||||
}
|
||||
]
|
||||
},
|
||||
"deepseek": {
|
||||
"baseUrl": "https://api.deepseek.com/v1",
|
||||
"apiKey": "sk-893b90b270ad4697a0b0b24969964d79",
|
||||
@@ -300,43 +122,6 @@
|
||||
"primary": "deepseek/deepseek-v4-flash"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "storage",
|
||||
"name": "仓库",
|
||||
"workspace": "/home/yangxuan/.openclaw/workspace-storage",
|
||||
"agentDir": "/home/yangxuan/.openclaw/agents/storage/agent",
|
||||
"model": {
|
||||
"primary": "deepseek/deepseek-v4-flash"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "backend",
|
||||
"name": "后端",
|
||||
"workspace": "/home/yangxuan/.openclaw/workspace-backend",
|
||||
"agentDir": "/home/yangxuan/.openclaw/agents/backend/agent",
|
||||
"model": {
|
||||
"primary": "deepseek/deepseek-v4-flash"
|
||||
},
|
||||
"tools": {
|
||||
"alsoAllow": [
|
||||
"opencode__*"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "frontend",
|
||||
"name": "前端",
|
||||
"workspace": "/home/yangxuan/.openclaw/workspace-frontend",
|
||||
"agentDir": "/home/yangxuan/.openclaw/agents/frontend/agent",
|
||||
"model": {
|
||||
"primary": "deepseek/deepseek-v4-flash"
|
||||
},
|
||||
"tools": {
|
||||
"alsoAllow": [
|
||||
"opencode__*"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "resume",
|
||||
"name": "简历",
|
||||
@@ -355,18 +140,6 @@
|
||||
"primary": "deepseek/deepseek-v4-flash"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "planner",
|
||||
"name": "方案",
|
||||
"workspace": "/home/yangxuan/.openclaw/workspace-planner",
|
||||
"agentDir": "/home/yangxuan/.openclaw/agents/planner/agent",
|
||||
"model": {
|
||||
"primary": "deepseek/deepseek-v4-flash"
|
||||
},
|
||||
"skills": [
|
||||
"using-superpowers"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "fitness",
|
||||
"name": "健康",
|
||||
@@ -606,6 +379,24 @@
|
||||
},
|
||||
"mcporter": {
|
||||
"enabled": false
|
||||
},
|
||||
"gh-issues": {
|
||||
"enabled": false
|
||||
},
|
||||
"github": {
|
||||
"enabled": false
|
||||
},
|
||||
"MySQL": {
|
||||
"enabled": false
|
||||
},
|
||||
"sql-toolkit": {
|
||||
"enabled": false
|
||||
},
|
||||
"tmux": {
|
||||
"enabled": false
|
||||
},
|
||||
"video-frames": {
|
||||
"enabled": false
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
openclaw-workspace-attestation:v1
|
||||
2026-07-14T15:02:35.338Z
|
||||
generated:HEARTBEAT.md:ecce558615751a35aa173731e892ff3993f44bb4f5a1219c0a02994790c85528
|
||||
generated:USER.md:e418ca9a680553b3ad8f54aecb0d403330810bb77826ab5251cc1dc13368fe16
|
||||
Reference in New Issue
Block a user