Novapaw 调用novamax 模型报错

01 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] common_init_result: fitting params to device memory, for bugs during this step try to reproduce them with -fit off, or provide --verbose logs if the bug only occurs with -fit on

2026/4/10 07:29:01 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] llama_params_fit_impl: projected to use 13862 MiB of device memory vs. 89599 MiB of free device memory
llama_params_fit_impl: will leave 75737 >= 1024 MiB of free device memory, no changes needed
llama_params_fit: successfully fit params to free device memory
llama_params_fit: fitting params to free memory took 0.61 seconds
llama_model_loader: - kv 0: general.architecture str = qwen35
llama_model_loader: - kv 1: general.type str = model
llama_model_loader: - kv 2: general.sampling.top_k i32 = 20
llama_model_loader: - kv 3: general.sampling.top_p f32 = 0.950000
llama_model_loader: - kv 4: general.sampling.min_p f32 = 0.000000
llama_model_loader: - kv 5: general.sampling.temp f32 = 1.000000
llama_model_loader: - kv 6: general.name str = Copaw Flash 9b
llama_model_loader: - kv 7: general.basename str = copaw-flash
llama_model_loader: - kv 8: general.size_label str = 9B
llama_model_loader: - kv 9: general.license str = apache-2.0
llama_model_loader: - kv 10: general.base_model.count u32 = 1
llama_model_loader: - kv 11: general.base_model.0.name str = Qwen3.5 9B
llama_model_loader: - kv 12: general.base_model.0.organization str = Qwen
llama_model_loader: - kv 13: general.base_model.0.repo_url str = https://huggingface.co/Qwen/Qwen3.5-9B
llama_model_loader: - kv 14: general.languages arr[str,2] = [“en”, “zh”]

2026/4/10 07:29:01 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] llama_model_loader: - kv 15: qwen35.block_count u32 = 32
llama_model_loader: - kv 16: qwen35.context_length u32 = 262144
llama_model_loader: - kv 17: qwen35.embedding_length u32 = 4096
llama_model_loader: - kv 18: qwen35.feed_forward_length u32 = 12288
llama_model_loader: - kv 19: qwen35.attention.head_count u32 = 16
llama_model_loader: - kv 20: qwen35.attention.head_count_kv u32 = 4
llama_model_loader: - kv 21: qwen35.rope.dimension_sections arr[i32,4] = [11, 11, 10, 0]
llama_model_loader: - kv 22: qwen35.rope.freq_base f32 = 10000000.000000
llama_model_loader: - kv 23: qwen35.attention.layer_norm_rms_epsilon f32 = 0.000001
llama_model_loader: - kv 24: qwen35.attention.key_length u32 = 256
llama_model_loader: - kv 25: qwen35.attention.value_length u32 = 256
llama_model_loader: - kv 26: qwen35.ssm.conv_kernel u32 = 4
llama_model_loader: - kv 27: qwen35.ssm.state_size u32 = 128
llama_model_loader: - kv 28: qwen35.ssm.group_count u32 = 16
llama_model_loader: - kv 29: qwen35.ssm.time_step_rank u32 = 32
llama_model_loader: - kv 30: qwen35.ssm.inner_size u32 = 4096
llama_model_loader: - kv 31: qwen35.full_attention_interval u32 = 4
llama_model_loader: - kv 32: qwen35.rope.dimension_count u32 = 64
llama_model_loader: - kv 33: tokenizer.ggml.model str = gpt2
llama_model_loader: - kv 34: tokenizer.ggml.pre str = qwen35

2026/4/10 07:29:01 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] llama_model_loader: - kv 35: tokenizer.ggml.tokens arr[str,248320] = [“!”, “"”, “#”, “$”, “%”, “&”, “'”, …

2026/4/10 07:29:01 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] llama_model_loader: - kv 36: tokenizer.ggml.token_type arr[i32,248320] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …

2026/4/10 07:29:01 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] llama_model_loader: - kv 37: tokenizer.ggml.merges arr[str,247587] = [“Ġ Ġ”, “ĠĠ ĠĠ”, “i n”, “Ġ t”,…
llama_model_loader: - kv 38: tokenizer.ggml.eos_token_id u32 = 248046
llama_model_loader: - kv 39: tokenizer.ggml.padding_token_id u32 = 248044
llama_model_loader: - kv 40: tokenizer.chat_template str = {%- set image_count = namespace(value…
llama_model_loader: - kv 41: general.quantization_version u32 = 2
llama_model_loader: - kv 42: general.file_type u32 = 15
llama_model_loader: - type f32: 177 tensors
llama_model_loader: - type q4_K: 217 tensors
llama_model_loader: - type q6_K: 33 tensors
print_info: file format = GGUF V3 (latest)
print_info: file type = Q4_K - Medium
print_info: file size = 5.23 GiB (5.02 BPW)

2026/407:29:02 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] load_tensors: offloading output layer to GPU
load_tensors: offloading 31 repeating layers to GPU
load_tensors: offloaded 33/33 layers to GPU
load_tensors: CPU model buffer size = 545.62 MiB
load_tensors: ROCm0 model buffer size = 4812.25 MiB

2026/4/10 07:29:02 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] .
2026/4/10 07:29:02 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] .

2026/4/10 0-GGUF] common_init_result: added <|endoftext|> logit bias = -inf
common_init_result: added <|im_end|> logit bias = -inf
common_init_result: added <|fim_pad|> logit bias = -inf
common_init_result: added <|repo_name|> logit bias = -inf
common_init_result: added <|file_sep|> logit bias = -inf

2026/4/10 07:29:03 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] llama_context: constructing llama_context
llama_context: n_seq_max = 1
llama_context: n_ctx = 262144
llama_context: n_ctx_seq = 262144
llama_context: n_batch = 2048
llama_context: n_ubatch = 512
llama_context: causal_attn = 1
llama_context: flash_attn = auto
llama_context: kv_unified = false

2026/4/10 07:29:03 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] llama_context: freq_base = 10000000.0
llama_context: freq_scale = 1
sched_reserve: reserving …

2026/4/10 07:29:03 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] sched_reserve: Flash Attention was auto, set to enabled
sched_reserve: resolving fused Gated Delta Net support:

2026/4/10 07:29:03 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] sched_reserve: fused Gated Delta Net (autoregressive) enabled

2026/4/10 07:29:03 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] sched_reserve: fused Gated Delta Net (chunked) enabled

2026/4/10 07:29:03 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] sched_reserve: ROCm0 compute buffer size = 808.02 MiB
sched_reserve: ROCm_Host compute buffer size = 528.02 MiB
sched_reserve: graph nodes = 1833
sched_reserve: graph splits = 2
sched_reserve: reserve took 134.10 ms, sched copies = 1

2026/4/10 07:29:03 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] common_init_from_params: warming up the model with an empty run - please wait … (–no-warmup to disable)

2026/4/10 07:29:03 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] srv load_model: initializing slots, n_slots = 1

2026/4/10 07:29:03 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] common_speculative_is_compat: the target context does not support partial sequence removal

2026/4/10 07:29:04 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] srv load_model: speculative decoding not supported by this context
slot load_model: id 0 | task -1 | new slot, n_ctx = 262144

2026/4/10 07:29:04 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] srv load_model: prompt cache is enabled, size limit: 8192 MiB
srv load_model: use --cache-ram 0 to disable the prompt cache
srv load_model: for more info see server : host-memory prompt caching by ggerganov · Pull Request #16391 · ggml-org/llama.cpp · GitHub

2026/4/10 07:29:04 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] init: chat template, example_format: '<|im_start|>system
You are a helpful assistant<|im_end|>
<|im_start|>user
Hello<|im_end|>
<|im_start|>assistant
Hi there<|im_end|>
<|im_start|>user
How are you?<|im_end|>
<|im_start|>assistant

2026/4/10 07:29:04 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] srv init: init: chat template, thinking = 0
main: model loaded
main: server is listening on http://0.0.0.0:1234
main: starting the main loop…

2026/4/10 07:29:04 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] 模型已就绪
2026/4/10 07:29:04 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] srv update_slots: all slots are idle

2026/4/10 07:29:15 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] srv params_from_: Chat format: peg-native

2026/4/10 07:29:15 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] slot get_availabl: id 0 | task -1 | selected slot by LRU, t_last = -1

2026/4/10 07:29:15 [INFO] [marksverdhei_CoPaw-Flash-9B-GGUF] parse: error parsing grammar: number of rules that are going to be repeated multiplied by the new repetition exceeds sane defaults, please reduce the number of repetitions or rule complexity

boolean ::= (“true” | “false”) space
char ::= [^“\\x7F\x00-\x1F] | [\] ([”\bfnrt] | “u” [0-9a-fA-F]{4})
decimal-part ::= [0-9]{1,16}
integer ::= (“-”? integral-part) space
integral-part ::= [0] | [1-9] [0-9]{0,15}
json-array ::= “[” space (“]” | json-value (“,” space json-value)* space “]”) space
json-bool ::= (“true” | “false”) space
json-null ::= “null” space
json-number ::= “-”? (“0” | [1-9] [0-9]) (“.” [0-9]+)? ((“e” | “E”) [±]? [0-9]+)? space
json-object ::= “{” space (“}” | json-string space “:” space json-value (space “,” space json-string space “:” space json-value)
space “}”) space
json-string ::= ““” ( [^“\] | “\” ( [”\/ bfnrt] | “u” [0-9a-fA-F]{4} ) )* “”” space
json-value ::= json-object | json-array | json-string | json-number | json-bool | json-null
null ::= “null” space
number ::= (“-”? integral-part) (“.” decimal-part)? ([eE] [-+]? integral-part)? space
root ::= tool-call
space ::= | " " | “\n”{1,2} [ \t]{0,20}
string ::= ““” char* “”” space
tool-browser-use ::= (“<function=” “browser_use” “>\n”) space (space (tool-browser-use-arg-action | tool-browser-use-arg-url | tool-browser-use-arg-page-id | tool-browser-use-arg-selector | tool-browser-use-arg-text | tool-browser-use-arg-code | tool-browser-use-arg-path | tool-browser-use-arg-wait | tool-browser-use-arg-full-page | tool-browser-use-arg-width | tool-browser-use-arg-height | tool-browser-use-arg-level | tool-browser-use-arg-filename | tool-browser-use-arg-accept | tool-browser-use-arg-prompt-text | tool-browser-use-arg-ref | tool-browser-use-arg-element | tool-browser-use-arg-paths-json | tool-browser-use-arg-fields-json | tool-browser-use-arg-key | tool-browser-use-arg-submit | tool-browser-use-arg-slowly | tool-browser-use-arg-include-static | tool-browser-use-arg-screenshot-type | tool-browser-use-arg-snapshot-filename | tool-browser-use-arg-double-click | tool-browser-use-arg-button | tool-browser-use-arg-modifiers-json | tool-browser-use-arg-start-ref | tool-browser-use-arg-end-ref | tool-browser-use-arg-start-selector | tool-browser-use-arg-end-selector | tool-browser-use-arg-start-element | tool-browser-use-arg-end-element | tool-browser-use-arg-values-json | tool-browser-use-arg-tab-action | tool-browser-use-arg-index | tool-browser-use-arg-wait-time | tool-browser-use-arg-text-gone | tool-browser-use-arg-frame-selector | tool-browser-use-arg-headed | tool-browser-use-arg-cdp-port | tool-browser-use-arg-cdp-url | tool-browser-use-arg-port | tool-browser-use-arg-port-min | tool-browser-use-arg-port-max)){0,46} space “\n”
tool-browser-use-arg-accept ::= (“<parameter=” “accept” “>\n”) “” boolean space “\n”
tool-browser-use-arg-action ::= (“<parameter=” “action” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-button ::= (“<parameter=” “button” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-cdp-port ::= (“<parameter=” “cdp_port” “>\n”) “” integer space “\n”
tool-browser-use-arg-cdp-url ::= (“<parameter=” “cdp_url” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-code ::= (“<parameter=” “code” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-double-click ::= (“<parameter=” “double_click” “>\n”) “” boolean space “\n”
tool-browser-use-arg-element ::= (“<parameter=” “element” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-end-element ::= (“<parameter=” “end_element” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-end-ref ::= (“<parameter=” “end_ref” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-end-selector ::= (“<parameter=” “end_selector” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-fields-json ::= (“<parameter=” “fields_json” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-filename ::= (“<parameter=” “filename” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-frame-selector ::= (“<parameter=” “frame_selector” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-full-page ::= (“<parameter=” “full_page” “>\n”) “” boolean space “\n”
tool-browser-use-arg-headed ::= (“<parameter=” “headed” “>\n”) “” boolean space “\n”
tool-browser-use-arg-height ::= (“<parameter=” “height” “>\n”) “” integer space “\n”
tool-browser-use-arg-include-static ::= (“<parameter=” “include_static” “>\n”) “” boolean space “\n”
tool-browser-use-arg-index ::= (“<parameter=” “index” “>\n”) “” integer space “\n”
tool-browser-use-arg-key ::= (“<parameter=” “key” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-level ::= (“<parameter=” “level” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-modifiers-json ::= (“<parameter=” “modifiers_json” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-page-id ::= (“<parameter=” “page_id” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-path ::= (“<parameter=” “path” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-paths-json ::= (“<parameter=” “paths_json” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-port ::= (“<parameter=” “port” “>\n”) “” integer space “\n”
tool-browser-use-arg-port-max ::= (“<parameter=” “port_max” “>\n”) “” integer space “\n”
tool-browser-use-arg-port-min ::= (“<parameter=” “port_min” “>\n”) “” integer space “\n”
tool-browser-use-arg-prompt-text ::= (“<parameter=” “prompt_text” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-ref ::= (“<parameter=” “ref” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-screenshot-type ::= (“<parameter=” “screenshot_type” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-selector ::= (“<parameter=” “selector” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-slowly ::= (“<parameter=” “slowly” “>\n”) “” boolean space “\n”
tool-browser-use-arg-snapshot-filename ::= (“<parameter=” “snapshot_filename” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-start-element ::= (“<parameter=” “start_element” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-start-ref ::= (“<parameter=” “start_ref” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-start-selector ::= (“<parameter=” “start_selector” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-submit ::= (“<parameter=” “submit” “>\n”) “” boolean space “\n”
tool-browser-use-arg-tab-action ::= (“<parameter=” “tab_action” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-text ::= (“<parameter=” “text” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-text-gone ::= (“<parameter=” “text_gone” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-url ::= (“<parameter=” “url” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-values-json ::= (“<parameter=” “values_json” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-browser-use-arg-wait ::= (“<parameter=” “wait” “>\n”) “” integer space “\n”
tool-browser-use-arg-wait-time ::= (“<parameter=” “wait_time” “>\n”) “” number space “\n”
tool-browser-use-arg-width ::= (“<parameter=” “width” “>\n”) “” integer space “\n”
tool-call ::= “<tool_call>\n” space (tool-execute-shell-command | tool-read-file | tool-write-file | tool-edit-file | tool-grep-search | tool-glob-search | tool-browser-use | tool-desktop-screenshot | tool-send-file-to-user | tool-get-current-time | tool-set-user-timezone | tool-get-token-usage | tool-memory-search) space “</tool_call>”
tool-desktop-screenshot ::= (“<function=” “desktop_screenshot” “>\n”) space (space (tool-desktop-screenshot-arg-path | tool-desktop-screenshot-arg-capture-window)){0,2} space “\n”
tool-desktop-screenshot-arg-capture-window ::= (“<parameter=” “capture_window” “>\n”) “” boolean space “\n”
tool-desktop-screenshot-arg-path ::= (“<parameter=” “path” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-edit-file ::= (“<function=” “edit_file” “>\n”) space (space (tool-edit-file-arg-file-path | tool-edit-file-arg-old-text | tool-edit-file-arg-new-text)){0,3} space “\n”
tool-edit-file-arg-file-path ::= (“<parameter=” “file_path” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-edit-file-arg-new-text ::= (“<parameter=” “new_text” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-edit-file-arg-old-text ::= (“<parameter=” “old_text” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-execute-shell-command ::= (“<function=” “execute_shell_command” “>\n”) space (space (tool-execute-shell-command-arg-command | tool-execute-shell-command-arg-timeout | tool-execute-shell-command-arg-cwd)){0,3} space “\n”
tool-execute-shell-command-arg-command ::= (“<parameter=” “command” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-execute-shell-command-arg-cwd ::= (“<parameter=” “cwd” “>\n”) “” tool-execute-shell-command-arg-cwd-schema space “\n”
tool-execute-shell-command-arg-cwd-schema ::= string | null
tool-execute-shell-command-arg-timeout ::= (“<parameter=” “timeout” “>\n”) “” number space “\n”
tool-get-current-time ::= (“<function=” “get_current_time” “>\n”) space space “\n”
tool-get-token-usage ::= (“<function=” “get_token_usage” “>\n”) space (space (tool-get-token-usage-arg-days | tool-get-token-usage-arg-model-name | tool-get-token-usage-arg-provider-id)){0,3} space “\n”
tool-get-token-usage-arg-days ::= (“<parameter=” “days” “>\n”) “” integer space “\n”
tool-get-token-usage-arg-model-name ::= (“<parameter=” “model_name” “>\n”) “” tool-get-token-usage-arg-model-name-schema space “\n”
tool-get-token-usage-arg-model-name-schema ::= string | null
tool-get-token-usage-arg-provider-id ::= (“<parameter=” “provider_id” “>\n”) “” tool-get-token-usage-arg-provider-id-schema space “\n”
tool-get-token-usage-arg-provider-id-schema ::= string | null
tool-glob-search ::= (“<function=” “glob_search” “>\n”) space (space (tool-glob-search-arg-pattern | tool-glob-search-arg-path)){0,2} space “\n”
tool-glob-search-arg-path ::= (“<parameter=” “path” “>\n”) “” tool-glob-search-arg-path-schema space “\n”
tool-glob-search-arg-path-schema ::= string | null
tool-glob-search-arg-pattern ::= (“<parameter=” “pattern” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-grep-search ::= (“<function=” “grep_search” “>\n”) space (space (tool-grep-search-arg-pattern | tool-grep-search-arg-path | tool-grep-search-arg-is-regex | tool-grep-search-arg-case-sensitive | tool-grep-search-arg-context-lines | tool-grep-search-arg-include-pattern)){0,6} space “\n”
tool-grep-search-arg-case-sensitive ::= (“<parameter=” “case_sensitive” “>\n”) “” boolean space “\n”
tool-grep-search-arg-context-lines ::= (“<parameter=” “context_lines” “>\n”) “” integer space “\n”
tool-grep-search-arg-include-pattern ::= (“<parameter=” “include_pattern” “>\n”) “” tool-grep-search-arg-include-pattern-schema space “\n”
tool-grep-search-arg-include-pattern-schema ::= string | null
tool-grep-search-arg-is-regex ::= (“<parameter=” “is_regex” “>\n”) “” boolean space “\n”
tool-grep-search-arg-path ::= (“<parameter=” “path” “>\n”) “” tool-grep-search-arg-path-schema space “\n”
tool-grep-search-arg-path-schema ::= string | null
tool-grep-search-arg-pattern ::= (“<parameter=” “pattern” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-memory-search ::= (“<function=” “memory_search” “>\n”) space (space (tool-memory-search-arg-query | tool-memory-search-arg-max-results | tool-memory-search-arg-min-score)){0,3} space “\n”
tool-memory-search-arg-max-results ::= (“<parameter=” “max_results” “>\n”) “” integer space “\n”
tool-memory-search-arg-min-score ::= (“<parameter=” “min_score” “>\n”) “” number space “\n”
tool-memory-search-arg-query ::= (“<parameter=” “query” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-read-file ::= (“<function=” “read_file” “>\n”) space (space (tool-read-file-arg-file-path | tool-read-file-arg-start-line | tool-read-file-arg-end-line)){0,3} space “\n”
tool-read-file-arg-end-line ::= (“<parameter=” “end_line” “>\n”) “” tool-read-file-arg-end-line-schema space “\n”
tool-read-file-arg-end-line-schema ::= integer | null
tool-read-file-arg-file-path ::= (“<parameter=” “file_path” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-read-file-arg-start-line ::= (“<parameter=” “start_line” “>\n”) “” tool-read-file-arg-start-line-schema space “\n”
tool-read-file-arg-start-line-schema ::= integer | null
tool-send-file-to-user ::= (“<function=” “send_file_to_user” “>\n”) space (space (tool-send-file-to-user-arg-file-path))? space “\n”
tool-send-file-to-user-arg-file-path ::= (“<parameter=” “file_path” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-set-user-timezone ::= (“<function=” “set_user_timezone” “>\n”) space (space (tool-set-user-timezone-arg-timezone-name))? space “\n”
tool-set-user-timezone-arg-timezone-name ::= (“<parameter=” “timezone_name” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-write-file ::= (“<function=” “write_file” “>\n”) space (space (tool-write-file-arg-file-path | tool-write-file-arg-content)){0,2} space “\n”
tool-write-file-arg-content ::= (“<parameter=” “content” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”
tool-write-file-arg-file-path ::= (“<parameter=” “file_path” “>\n”) “” ([^<] | “<” [^/] | “</” [^p] | “</p” [^a] | “</pa” [^r] | “</par” [^a] | “</para” [^m] | “</param” [^e] | “</parame” [^t] | “</paramet” [^e] | “</paramete” [^r] | “</parameter” [^>] | “” [^\n])* “\n”

failed to parse grammar