I built xSignalBot: an auto-reply bot for Signal that answers with a local LLM via Ollama — zero cloud, zero cost
▲ 1 r/ollama

I built xSignalBot: an auto-reply bot for Signal that answers with a local LLM via Ollama — zero cloud, zero cost

Disclaimer: I'm the developer of this project — sharing because it might be useful to others running self-hosted AI. (Full transparency, as Reddit's self-promo etiquette expects.)

xSignalBot is an open-source auto-reply bot for Signal that answers incoming messages using a local LLM via Ollama — no cloud APIs, no costs, and no message ever leaves your machine.

How it works

Signal message → signal-cli (WSL2 daemon) → Python bridge → Ollama (qwen2.5:14b locally) → auto-send / approval → reply shown in desktop app + phone

  • signal-cli runs as a persistent JSON-RPC daemon in WSL2 (no polling, no JVM restart per message)
  • Ollama (qwen2.5:14b) generates the reply locally — works fully offline
  • Replies sync to all your Signal devices (desktop app + phone), so you always see what the bot sent

Features

  • 🤖 7 reply tones: Standard, Sad, Cheerful, Reserved, Funny, Silly (long), Financial Advisor — each with fitting emojis
  • 🧠 Per-contact chat history (last 100 messages as context) — the bot remembers the conversation
  • ⏱️ Auto-send (3 s countdown) or manual approval — your choice
  • 🛡️ Whitelist-only: replies go ONLY to contacts you explicitly allow
  • 🧪 Test mode that never actually sends
  • 💬 Typing indicator ("… is typing") while generating
  • 🖥️ Tkinter control panel: manage whitelist, pick tones, health check, single-instance protection
  • 📈 Optional "Financial Advisor" tone that gives gloriously absurd market advice (Bitcoin hamsters included 🐿️📈)

Tech stack

  • Messaging: signal-cli 0.14.7 (WSL2 daemon, JSON-RPC)
  • AI: Ollama + qwen2.5:14b (local, free)
  • UI: Python 3 / Tkinter
  • Platform: Windows + WSL2

Links

Why I built it

I wanted a free, private auto-responder for Signal that runs entirely on my own hardware — no cloud AI, no per-message costs, full control over who gets answered. It's been running stable for me, so I'm sharing it in case others find it useful.

Feedback, issues, and PRs welcome! 🙌

u/Even_Command_5636 — 16 days ago
▲ 502 r/IA_Italia+1 crossposts

I canceled Claude and coded 7 days straight with DeepSeek V4 Flash 0731 — the honest cost & quality breakdown

Two weeks ago I paid $20/month for Claude and another $20 for ChatGPT. I got tired of watching the credits burn, so I ran an experiment: 7 days, all my coding work, DeepSeek V4 Flash 0731 only (API, not the app). Here's what actually happened — the good, the bad, the numbers.

The numbers

  • Total API spend for 7 days of heavy coding: $1.87 (vs. $40/month subscriptions — and I didn't even come close to hitting limits)
  • Tokens consumed: ~24M input / ~6M output (mostly context caching — that's the real cheat code)
  • Context cache hits cut my effective cost by ~70%

What surprised me (good)

  • Long agentic sessions didn't degrade as much as I expected. The 0731 update fixed most of the context-rot I saw on the earlier Flash builds.
  • It handled a messy production refactor I was dreading — wrote the diff, I reviewed, done. No drama.

What I won't sugarcoat (bad)

  • Vision: still missing in the API I used — I had to describe screenshots by hand. (Yes, I saw the vision announcement post — the API I'm on still doesn't expose it.)
  • Some reasoning outputs still emit weird artifacts (e.g. )Skip) in longer chains — rare, but it happens.
  • It's not Claude for every task. Complex multi-file architecture thinking? Claude still wins. But for 80% of daily coding? I genuinely couldn't justify the subscription anymore.

My verdict: keep one subscription for the hard stuff, do everything else on Flash. My monthly AI bill just went from $40 → $0–5.

Anyone else run a similar week? What did your numbers look like?

reddit.com
u/Even_Command_5636 — 16 days ago

[Script] xYTDownloader – One-click YouTube downloader with audio merging (all qualities, shorts supported)

xYTDownloader is a one-click YouTube downloader userscript: open any video (or Short), click the small download button, pick a quality — done. No external download API, no API keys.

Features

  • Works on /watch and /shorts (including scrolling between Shorts)
  • All qualities up to 4K, each with audio
  • Automatic DASH merging for high resolutions (video + audio into one MP4)
  • Direct download from YouTube (ANDROID_VR Innertube client, same method JDownloader 2 uses)
  • Library-free fMP4 box merging — no ffmpeg needed
  • Flat quality list (360p → 2160p), real progress bar, correct file names
  • Small, unobtrusive button bottom-right of the player

Installation

  1. Install Tampermonkey for your browser
  2. Open this script page and click "Install" (or import the .user.js file)
  3. Reload YouTube — the download button appears

Technical note The script talks directly to YouTube's Innertube API using the ANDROID_VR client, so no third-party download service is involved. Higher resolutions are DASH streams (separate video + audio); the script merges them client-side into one MP4 with sound using a small fMP4 box merger. WEBM/Opus audio is not supported for merging (MP4 container only).

Links

reddit.com
u/Even_Command_5636 — 17 days ago

I made xLoader — a one-click media downloader for X/Twitter (images, videos, GIFs)

I'm the developer of xLoader, a free and open-source (MIT) Tampermonkey userscript that adds a download button to every tweet with media on X.com/Twitter. One click → the native "Save as" dialog opens immediately.

Features:

  • 📷 Downloads images, videos and GIFs from any tweet — multi-media posts, quoted/linked tweets and article-card images included
  • ⚡ Media URLs are prefetched in the background (only for tweets actually visible, via IntersectionObserver), so the save dialog appears instantly
  • 🔄 Live bearer-token retry: keeps working when X rotates their API tokens — no third-party servers involved
  • 🎞️ Resolves the real MP4 URLs for video posters the API hides (reads them from the browser's performance buffer)
  • 📝 Configurable filename template from the Tampermonkey menu: {handle} {id} {index} {ext} {date} {time} {type}
  • 🚫 No tracking, no analytics, no remote dependencies

Why I built it: the downloaders I tried either broke after X's API changes or missed edge cases (quoted tweets, article cards, hidden video MP4s). xLoader is actively maintained (currently v1.0.16).

Feedback, feature requests and bug reports are very welcome!

reddit.com
u/Even_Command_5636 — 18 days ago

Has Deepseek been getting dumber over the last two days?

Is this just my impression, or have Flash and Pro generally been behaving completely unacceptably for the last two days?

reddit.com
u/Even_Command_5636 — 27 days ago