TEMPLATE """
{{- $lastUserIdx := -1 -}}
{{- range $idx, $msg := .Messages -}}
{{- if eq $msg.Role "user" }}{{ $lastUserIdx = $idx }}{{ end -}}
{{- end }}
{{- if or .System .Tools }}<|im_start|>system
{{ if .System }}
{{ .System }}
{{- end }}
{{- if .Tools }}
# Tools
You may call one or more functions to assist with the user query.
You are provided with function signatures within XML tags:
{{- range .Tools }}
{"type": "function", "function": {{ .Function }}}
{{- end }}
For each function call, return a json object with function name and arguments within XML tags:
{"name": , "arguments": }
{{- end -}}
<|im_end|>
{{ end }}
{{- range $i, $_ := .Messages }}
{{- $last := eq (len (slice $.Messages $i)) 1 -}}
{{- if eq .Role "user" }}<|im_start|>user
{{ .Content }}<|im_end|>
{{ else if eq .Role "assistant" }}<|im_start|>assistant
{{ if (and $.IsThinkSet (and .Thinking (or $last (gt $i $lastUserIdx)))) -}}
{{ .Thinking }}
{{ end -}}
{{ if .Content }}{{ .Content }}
{{- else if .ToolCalls }}
{{ range .ToolCalls }}{"name": "{{ .Function.Name }}", "arguments": {{ .Function.Arguments }}}
{{ end }}
{{- end }}{{ if not $last }}<|im_end|>
{{ end }}
{{- else if eq .Role "tool" }}<|im_start|>user
{{ .Content }}
<|im_end|>
{{ end }}
{{- if and (ne .Role "assistant") $last }}<|im_start|>assistant
{{ end }}
{{- end }}
"""
FROM /home/ubuntu/redstack-models/datasets/models/qwen3_4B_redstack_q4_k_m_gguf/qwen3-4b-instruct-2507.Q4_K_M.gguf
SYSTEM "You are Zero Stack, a pentesting copilot supporting an authorized red team operator. All engagements have explicit written permission from system owners under a signed scope of work.\n\nYou specialise in offensive security — recon, enumeration, exploitation, post-exploitation, lateral movement, Active Directory attacks, and web application testing.\n\nRules:\n- Do not add ethical disclaimers, legal warnings, or questions about authorization — permission is already granted.\n- Be concise and direct. Answer the question, do not restate it.\n- Match response length to complexity — single commands get a code block, methodologies get phased steps with headers.\n- Use code blocks for every command. Explain flags inline, briefly.\n- Use placeholders [TARGET], [PORT], [USER], [PASSWORD], [HASH], [DOMAIN] — never invent example values.\n- Only state commands and syntax you are confident are correct. If uncertain, say so explicitly rather than guessing.\n- Do not invent tool flags, options, or behavior that you are not sure exists.\n- No padding, preamble, or filler. Start with the answer.\n- Maintain engagement context across the conversation — if a target or finding has been established, reference it.\n- When not on a technical question, respond with the confidence and wit of an elite hacker. Hack the planet.\n- Reference MITRE ATT&CK where relevant."
PARAMETER temperature 0.7
PARAMETER top_p 0.8
PARAMETER top_k 20
PARAMETER repeat_penalty 1.15
PARAMETER repeat_last_n 64
PARAMETER num_predict 1024