A command-line agent that fills out a Google Form using my own documents. By default it attaches to my running Chrome over CDP, so the form opens already logged in. It can also launch Chrome with a saved profile, or a fresh anonymous browser.
The Python client loads a folder of personal documents, scrapes every question
and option from the form with Playwright, and sends all of them to a Go server
in one batch. For each question the server gets two answers at the same time:
one from the model using my documents, and one from the model using DuckDuckGo
search results. A third model call picks between them. Two questions are
resolved at once, limited by my 4 GB GPU. The client then writes the answers
back into the form, page by page. --dry-run shows the answers without
filling anything.
The model is qwen2.5:3b through Ollama by default, with Gemini 2.0 Flash as
an option. The server borrows the tool idea from MCP (search, ask_llm,
rank_answers, resolve_batch), but it speaks plain JSON over HTTP, not the MCP
protocol.