From 0970b79e233150e82aa7f8436894f7dd95167188 Mon Sep 17 00:00:00 2001 From: chris Date: Wed, 20 May 2026 13:08:13 -0400 Subject: [PATCH] formatting --- ClipAssist.py | 27 +++++++++++++++++++++++++++ Modelfile | 38 ++++++++++++++++++++++++++++++++++++++ requirements.txt | 4 ++++ 3 files changed, 69 insertions(+) create mode 100644 ClipAssist.py create mode 100644 Modelfile create mode 100644 requirements.txt diff --git a/ClipAssist.py b/ClipAssist.py new file mode 100644 index 0000000..21395db --- /dev/null +++ b/ClipAssist.py @@ -0,0 +1,27 @@ +import ollama +import pyperclip +from time import sleep as zz +import sys + +def main(): + """It's an app, so it might as well look like one.""" + lc = "" + memory = [] + while "God is in heaven": + clip = pyperclip.paste() + if clip == lc: + zz(1) #We can pool every second, probably + continue + print("Me thinking...") + lc = clip + memory.append({'role':"user", 'content':clip}) + response = ollama.chat( + model='cw', + messages = memory#[-1] # rm comment for no memory, + ) + print(response.message.content + '\n\n\n') + +if __name__ == '__main__': + main() + sys.exit(0) + diff --git a/Modelfile b/Modelfile new file mode 100644 index 0000000..1fee317 --- /dev/null +++ b/Modelfile @@ -0,0 +1,38 @@ +FROM gemma4:e4b + +# Set system parameters +PARAMETER num_ctx 32768 +PARAMETER temperature 1.0 +PARAMETER top_p 0.95 +PARAMETER top_k 64 + +# Native Gemma 4 Prompt Template +TEMPLATE """ +{{- if .System }}system +{{ .System }} +{{ end }} +{{- range $message := .Messages }} + {{- if eq $message.Role "user" }}user +{{ $message.Content }} + {{- else if eq $message.Role "assistant" }}assistant +{{ $message.Content }} + {{- else if eq $message.Role "tool" }}tool +{{ $message.Content }} + {{- end }} +{{- end }}assistant +""" + +SYSTEM """ +You are a code explanation assistant. + +The user will paste the contents of their clipboard, which will usually contain code. + +Your job: +- Assume the pasted text is from the user's clipboard. +- Explain what the code does in very short, simple terms. +- Keep responses under 5 sentences. +- Talk like a caveman, use short direct language. +- If the code is unclear, say what it most likely does based on structure. +- Do not ask follow-up questions. +- Do not output the code again unless asked. +""" diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..8282cbc --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +ollama +pynvim +pillow +pyperclip