今日精选
HOT最新资讯
共 28482 篇Telechat: self-host Claude AI across Telegram/WhatsApp/Slack with one npm install
Built something the r/selfhosted crowd might appreciate: Telechat — a self-hosted Claude AI bot that connects to Telegram, WhatsApp, Slack, and web chat from a single process. Why self-hosted matters here Anthropic launched Claude Code Channels recently — Claude on Telegram/Discord, managed by Anthropic. It works great, but every message goes through their cloud. Telechat takes the opposite approach: Runs on your machine (laptop, VPS, RPi, NAS — anything that runs Node.js or Python) Messages flow: phone → your server → Anthropic API → back to phone No relay server, no telemetry, no analytics SQLite for conversation history, stored locally The only external call is to Anthropic's chat-completions API for inference Your messages, your hardware, your data. Install # npm npm install -g telechatai && telechat init # pip pip install telechatai && telechat init # Docker docker run -v ~/.telechat:/config telechatai/telechat telechat init walks you through an interactive setup — API key, bot tokens for whichever platforms you want, model preferences, budget limits. What it does Multi-platform — Telegram, WhatsApp, Slack, Web Chat. All running simultaneously from one process. Smart model routing — Routes queries to the cheapest Claude model that handles them. Saves ~60% on API costs vs always using Sonnet. Budget caps — Per-user daily and monthly limits. Set $5/day and forget about it. Persistent memory — SQLite-backed. Context carries across conversations. Desktop Bridge — If you run Claude Code on your desktop and it needs approval for a destructive action, you get a push notification on your phone. Approve/deny remotely. Media support — Send images for analysis, generate images if you have DALL-E configured. Resource usage Light. Single process, ~50MB RSS idle, spikes briefly during inference calls. SQLite means no database server. The bottleneck is always the Anthropic API latency, not local compute. Self-hosting tips Run behind a reverse proxy (Caddy/nginx) for HTTPS if
We added mobile approvals to our CLI AI tool -- approve Claude's destructive commands from your phone
Quick share of a feature we built into Telechat (self-hosted Claude AI bot) that's been surprisingly useful for devops workflows: Desktop Bridge with mobile approvals . The problem You're running Claude Code (or any Claude-powered agent) on your workstation. It's refactoring a module, running tests, deploying to staging. You step away for coffee, a meeting, or just to stretch. Claude hits a tool call that needs human approval: rm -rf build/ (wants to clean the build directory) git push --force (rebase gone wrong) kubectl delete pod (scaling decision) Without you at the keyboard, it just... waits. For however long you're gone. The solution Telechat's Desktop Bridge connects your Claude Code session to your phone via Telegram, WhatsApp, or Slack. When Claude needs approval: You get a push notification with exactly what Claude wants to execute You see the full command and context You tap Approve or Deny Claude continues (or backs off) All from your phone. No VPN, no SSH, no laptop. Why this matters for devops Unattended CI/CD with a human gate. Run Claude as part of your pipeline for code review, test generation, or deployment prep. Gate the destructive steps on mobile approval instead of blocking the pipeline until someone checks Slack. Overnight tasks. Kick off a large refactoring or migration analysis before bed. If Claude needs a decision at 2 AM, you'll see it in the morning and approve from your phone. It doesn't lose context while waiting. Pair programming while mobile. Reviewing Claude's work from your phone between meetings. Approve the good stuff, deny the risky stuff, add context via chat. How it works Telechat runs on your workstation alongside Claude Code. It acts as a bridge between Claude's approval prompts and your messaging app. When Claude's tool-use loop hits a human-approval checkpoint, Telechat intercepts it, formats the request, and sends it to your Telegram/WhatsApp/Slack. Your response flows back and unblocks the agent. No cloud relay — the brid
Nice post explaining the small bits about local RAG!
Building a 100% Local RAG System on Kubernetes — No API Keys Required Ahmed Nafies Ahmed Nafies Ahmed Nafies Follow Jul 30 Building a 100% Local RAG System on Kubernetes — No API Keys Required # kubernetes # rag # llm # postgres 1 reaction Add Comment 8 min read
Mastering Python Futures: From Basic Submissions to Event-Driven Concurrency
When building modern Python applications—whether scraping web pages, fetching data from external APIs, or querying databases—IO-bound operations often slow down execution. Python’s concurrent.futures module provides a high-level, elegant interface for running tasks asynchronously. In this guide, we'll break down what Futures are, why you need them, and how to use them effectively using a practical e-commerce product service. What is a Future? A Future represents an eventual result of an asynchronous operation. When you launch an expensive, long-running task concurrently, your program doesn't pause to wait for the output. Instead, it instantly gets back a Future object —a low-cost proxy or standard "claim ticket." The Future acts as a placeholder for a result that hasn't been computed yet. It keeps track of the task's execution state ( PENDING , RUNNING , CANCELLED , or FINISHED ). Once the task finishes, the Future stores the return value or any exception thrown during execution. Why are Futures Needed? In standard synchronous Python execution, calling a function blocks your main thread until that function finishes: Task 1 (2s) ──> Task 2 (3s) ──> Task 3 (1s) = 6 seconds total When dealing with IO-bound operations (like waiting for network responses or reading disks), your CPU sits completely idle during those delays. By offloading tasks into background threads or processes via Futures, your application can run multiple IO operations simultaneously: Task 1 (2s) [████████] Task 2 (3s) [████████████] Task 3 (1s) [████] ----------------------------------------- Total Time: 3 seconds (time of longest task) When Should You Use Futures? IO-Bound Workloads: Scraping multiple web pages, batch-calling microservices, querying multiple databases, or fetching images concurrently ( ThreadPoolExecutor ). CPU-Bound Parallelism: Performing heavy mathematical operations or image processing across multiple CPU cores ( ProcessPoolExecutor ). Decoupled Workflows: When you want to trigg
Building Production AI Systems(Final)
Designing AI Systems That Outlive Today's Models If there's one lesson this series has taught me, it's this: Don't build your application around a model. Build it around a capability. That might sound like a small distinction. It isn't. Because models change. Constantly. A few months ago everyone was talking about GPT-4. Then Claude. Then Gemini. Then DeepSeek. Then Qwen. By the time you're reading this, there's probably another model making headlines. Imagine rewriting your application every time that happens. That's not innovation. That's technical debt. One mistake I see quite often is developers tightly coupling their applications to one provider. Your business logic knows it's talking to GPT-4. Your prompts are written specifically for GPT-4. Your output parsing assumes GPT-4. Your error handling assumes GPT-4. Now imagine your company decides to switch providers. What should have been a configuration change suddenly becomes weeks of refactoring. That's avoidable. Your application shouldn't know who answered the request. It should only know that the capability it asked for was delivered. Summarize this document. Generate this code. Classify this text. Translate this paragraph. Those are capabilities. The provider is simply an implementation detail. One thing I regret not doing earlier was versioning prompts. Most developers version everything else. Source code. Database migrations. Infrastructure. Configuration. Then prompts end up looking like this: typescript id = " a8fj21 " const prompt = " You are a helpful assistant... " ; Three months later someone tweaks a sentence. Responses change. Nobody knows why. Sound familiar? Prompts deserve the same engineering discipline as code. Version them. Review them. Document why changes were made. Roll them back when needed. Prompt engineering isn't magic. It's software development. Imagine you've found a brand-new reasoning model that performs better than your current one. Do you deploy it to every user immediately? Pro
I built a self-hosted alternative to Claude Code Channels -- here's why
When Claude Code Channels launched, I was stoked — Claude on my phone, finally. Then I hit the limitations: Only Telegram and Discord. I live in WhatsApp (most of the world does). Everything routes through Anthropic's servers. Fine for most people, but I work with clients who have strict data policies. Requires Pro subscription. I was already spending less via API keys for my usage pattern. No budget controls. I wanted to give Claude access to my team without worrying about runaway costs. So I built Telechat — same idea (Claude on your phone), completely different architecture. It's self-hosted. Runs as one process on your machine. Messages go from your phone → your server → Anthropic API → back. No relay, no middleware, no telemetry. Your conversations never touch any server I control. 4 platforms, not 2. Telegram, WhatsApp, Slack, and web chat. All from one process. Smart model routing. This is the cost killer. Telechat looks at each message and routes it to the cheapest model that can handle it. "What time is it in Tokyo?" → Haiku ($0.001). "Review this PR" → Opus. In practice, ~70% of my messages hit Haiku or Sonnet. Saves about 60% vs always using Sonnet. Per-user budget caps. Daily and monthly limits. 80% warning, hard cutoff at 100%. Essential when you're sharing with a team. Desktop Bridge — this is the feature that keeps surprising people. When Claude Code is running on your desktop and wants to do something destructive (delete a file, run a risky command), you get a push notification on your phone. Tap approve or deny. Keep working from the couch while Claude codes at your desk. Setup is literally: npm install -g telechatai && telechat init Walk through the interactive setup, add your API key and bot tokens, done. I'm not going to pretend it's better than Channels in every way. Channels wins on zero-setup convenience and being a first-party Anthropic product. But if you need WhatsApp, want self-hosted privacy, or care about cost control, give Telechat a lo
Anthropic says its AI models also hacked three organizations on their own
After OpenAI's admission that its models broke into Hugging Face, Anthropic has now admitted that the models it was testing also hacked other organizations.
Show HN: Gander, an Android file viewer that asks for no permissions at all
Hi HN, I built an Android file viewer that opens PDF, Word, Excel, PowerPoint, images, video, audio, Markdown and code, and asks for no permissions at all. I have always been uneasy about opening files people send me. On Android you either install a 400 MB office suite and sign in or use a small free viewer that wants storage access and ends up uploading your file to a server to render it. Also the hassle of having to download different apps for different file formats was really annoying. Gander
Show HN: What should the GUI for AI agents look like?
Hi HN! We’re Akilan and Miguel, the creators of MarbleOS. The inspiration for Marble comes from the GUI work at Xerox PARC, the 1984 Macintosh, and later NeXTSTEP, which became the foundation for Mac OS X. Before GUIs, interacting with a computer was limited to strange terminal commands: C:\> DIR C:\> COPY FILE.TXT A: You had to remember the command, syntax, paths, and parameters. The GUI made those capabilities visible. Instead of remembering commands, you could point at files, drag them, click
🍎Doraemon & Apple: A Little Dose of Childhood Comfort
This is a submission for Frontend Challenge - Comfort Food Edition, CSS Art. Inspiration Comfort...
Alo Discount Code: Save on Activewear August 2026
Refresh your workout wardrobe. Save on buttery-soft leggings, chic streetwear, and activewear essentials with verified Alo Yoga discount codes, free shipping, and loyalty program perks.
SelectBlinds Promo Codes & Coupons: Save on Custom Window Treatments
Redecorate your home for less with our expert tips on applying SelectBlinds coupons, maximizing holiday sales, and locking in new customer discounts.