TL;DR
- The Hi, Moose chat can generate images now, on a managed plan or with your own OpenRouter key, and save them straight into your library.
- Chat accepts Excel files (.xls and .xlsx), read with firm caps of 10 sheets and 2,000 rows per sheet so a monster workbook can't flood the model.
- Coverage answers got stricter: every "have I written about this?" question is checked against your real page index, and a check that doesn't resolve says "unknown" instead of inventing a gap.
- Smaller fixes landed too, including a realtime connection repair, the latest Gemini models in the model list, and an in-app note confirming Search Console data stays on your machine.
Pictures, on request
The biggest change today: you can ask the chat for an image and get one. Describe a featured image for a draft you're about to publish, or just say what you want, and it comes back as a picture you can save into your library and reuse.
The drawing itself happens on cloud image models, so it works on a managed plan or with your own OpenRouter key. Our local model does not paint. It's good at text, it knows it, and I respect that about it.
One detail I like: if you're on the free preview and ask for an image, the chat tells you up front what it would take, instead of letting a model with no image tool fumble the request and waste your message. Small thing. Feels polite.
Spreadsheets walk in the door
Chat already took documents, PDFs, and CSVs. Now it takes Excel files too, .xls and .xlsx both.
The honest fine print: the app reads up to 10 sheets and the first 2,000 rows of each, converts them into plain text, and caps the total size before anything reaches the model. Spreadsheets compress well on disk and expand alarmingly when you unroll them, so the caps are load-bearing. If your workbook has 40 tabs, the first 10 get the conversation.
A straighter answer about coverage
When you ask "have I covered this topic?", Moose now runs each topic against the index of your monitored pages and comes back with a verdict per topic: covered, partially covered, or not covered, along with the closest pages it looked at.
The part I care about is the failure case. If a check doesn't resolve, the verdict is "unknown", full stop. It is never quietly converted into "you have a gap", because a guessed gap sends you off writing a post you didn't need. I would rather say "I don't know" than be confidently wrong about your own site.
The small pile
A safety check we run on network requests inside the app turned out to be a little too enthusiastic and was blocking some legitimate realtime connections. It now lets the right ones through while keeping everything else on the same short leash.
The latest Gemini models joined the model list, and the Connections screen picked up a plain note confirming that your Search Console data is stored locally on your machine, nowhere else. That one was already true. Now it says so where you can see it.
FAQ
Can Hi, Moose generate images now?
Yes. You can ask for an image right in the chat, describe what you want, and save the result into your library. It works on a managed plan or with your own OpenRouter key.
Does the local AI model make the images?
No. The local model handles text on your machine and image generation runs on cloud image models. When you ask for a picture, that one request goes out under your plan or your own key.
What spreadsheet files can I attach in chat?
.xls and .xlsx files up to 25 MB. The app reads up to 10 sheets and the first 2,000 rows of each, turns them into plain text the model can work with, and caps the total so a giant workbook can't drown a conversation.
What does an "unknown" coverage verdict mean?
It means the check for that topic didn't finish cleanly, so Moose won't claim anything about it. You'll never be told a topic is a gap unless the check against your real pages came back and said so.
The one who's under the desk for all of it.