I love that I accidentally left #anvilope running on my desktop and it survived me putting the computer to sleep multiple times. That makes me feel pretty good about my reconnect loop code.

Today's #anvilope update, you can now use llama.cpp for inference! Sort those emails!

https://git.sr.ht/~dvshkn/anvilope/commit/d5ad9a3

#llamacpp #rustlang

I have more free time at the moment and am trying to get back into the groove of #anvilope development. Looking at finally adding a simple database migration system so users can smoothly upgrade from version to version.
Meta Director of AI Safety Allows AI Agent to Accidentally Delete Her Inbox

Meta Superintelligence Labs’ director of alignment called it a “rookie mistake.”

404 Media

Anvilope has gotten to the point where it can actually be somewhat useful, categorizing emails and labeling them over IMAP. There's still a lot of messy behavior scattered about, but I took the time to write up a more complete README.

Admittedly one of the hardest tasks was figuring out what kind of screenshot to post for a headless program.

Take a look and hit the mailing list if you feel like it.

https://sr.ht/~dvshkn/anvilope/

#llm #rustlang #foss #selfhosted #selfhosting #ollama #anvilope

Feels like it's been FOREVER, but I actually worked a bit on #anvilope today. Did some light refactoring to prepare for supporting llama.cpp as an additional inference backend. I also finally made it so account credentials can be loaded from environment variables.

(Always fun to add to a thread a month later!)

The first integration tests are now pushed up. Fresh eyes helped, and the tests now seem to run repeatedly without issue.

As for what's next, the temptation to yak shave is really strong. Eventually I want to try replacing rusqlite with sqlx, but I should probably try to get to a spiritual version 0.0.1 first. The basics of running emails through the prompt work okay. It's just the rough edges that need sanding down.

#anvilope

Getting back into #anvilope development after a setting it down for a while. Writing some integration tests using greenmail.

Working on #anvilope some more this weekend. Initial support for writing labels to emails after classification seems to be working, which is kind of the crux of the whole project.

The operation isn't difficult because it's just copying between IMAP folders, but I had to stop cutting corners in a couple places to get it hooked up:

a.) Reworked the IDLE handling so it can be properly interrupted when the LLM finishes the classification

b.) Got rid of a bunch of &mut self functions by being more specific with mutexes, just #rustlang things

Anyways, I need to run it overnight to make sure I didn't make things too unstable. I am very satisfied with this simple screenshot though!

For kicks I swapped out mistral 7B for a bit and tried out qwen3 1.7B for sorting emails. It seems more inconsistent but also more skeptical than mistral was. Pretty interesting, will try a larger size.

#anvilope