展示HN:Raincast – 描述一个应用,获得原生桌面应用(开源)
Show HN: Raincast – Describe an app, get a native desktop app (open source)

原始链接: https://github.com/tihiera/raincast

## Raincast:AI驱动的桌面应用构建器 Raincast 是一款原生桌面应用程序,可以直接从自然语言描述生成功能完善、可发布的 Tauri 应用。只需描述您想要的应用——从实用工具到复杂的程序,例如 AI 聊天客户端甚至游戏——Raincast 就会构建具有真实 UI、后端功能和系统集成的应用。 它利用 AI(支持 Anthropic、Google Gemini,并可集成其他 AI)生成 React 前端和 Rust 后端,提供 9 个预构建的布局模板。一个独特的实时预览功能让您可以在开发*期间*看到您的应用运行,甚至可以访问文件系统和 shell 命令,这得益于巧妙的代理系统。 Raincast 可以编译为 macOS、Windows 和 Linux 的独立二进制文件,并提供一键发布选项。它可以通过简单的安装脚本或从其 GitHub 仓库手动构建获得。它是一个欢迎贡献的开源项目。

## Raincast:AI驱动的本地应用生成 一个名为Raincast的新开源项目允许用户描述一个应用想法,并自动生成本地桌面应用程序。该工具在Hacker News上分享,被誉为“AI到软件”流程中的一项重大进展,超越了简单的Web应用创建。 讨论的中心在于什么是“本地”应用,一些用户指出像Tauri这样的工具并没有完全达到这种期望。另一些人强调Raincast处理复杂系统级API的潜力,减少样板代码。 用户对实时预览功能特别兴奋,并对底层技术感到好奇——它是否使用了像Electron/Tauri这样的框架,或者生成Rust或Python等语言的代码。该项目的简洁UI和开源特性也获得了积极的反馈。
相关文章

原文

Raincast

Describe an app. Get a native desktop app.
AI-powered app generator that builds real, shippable Tauri applications from natural language.

Node Rust Tauri React

Install · How It Works · Examples

Raincast


Raincast is a desktop application that generates other desktop applications. You describe what you want in plain English, and Raincast builds a fully functional native app:with a real UI, backend commands, file system access, and system integration. Not a mockup. Not a prototype. A compiled, shippable application.

It generates React + Tauri apps with:

  • 9 layout templates:dashboard, editor, chat, file manager, media player, data table, playground, utility, and generic
  • Rust backend:AI writes Tauri commands for file I/O, shell execution, system monitoring, network calls
  • Native window chrome:transparent backgrounds, macOS vibrancy, overlay title bars, custom window sizes
  • Live preview:see your app running as it's being built, with hot reload
  • One-click ship:compile to a standalone binary you can distribute

You describe what you want, and Raincast generates the full app: React frontend, Rust backend commands, and Tauri config.

The interesting part is how the live preview works. Generated apps call Rust backend commands via Tauri's invoke() bridge, but in dev mode the full Tauri binary isn't compiled yet. So Raincast builds a proxy binary: it parses the generated Rust source using AST extraction to find every #[tauri::command] function, then generates a standalone CLI binary that reads JSON from stdin, dispatches to the same functions, and writes JSON to stdout. The frontend's invoke() calls get routed through this proxy instead of the real Tauri runtime. This means the preview behaves like the real app: file system access, shell commands, system info all work during development, not just after shipping.

When you hit Ship, Raincast compiles the actual Tauri binary with all the real commands baked in. The proxy is only for dev.

Raincast supports multiple AI backends:

Provider Models Best For
Anthropic Claude Sonnet 4.6 (pro), Haiku 4.5 (fast) Complex apps, accurate code
Google Gemini 3.1 Pro, 3 Flash Fast iteration, multimodal

Bring your own API key. Set it in the app settings.

Want to add OpenAI Codex, xAI Grok, DeepSeek, Mistral, or another provider? PRs are welcome:or open an issue and we'll prioritize it.

curl -fsSL https://raw.githubusercontent.com/tihiera/raincast/main/scripts/install-macos.sh | bash

This checks for Rust and Node.js, installs them if missing, builds from source, and places the app in /Applications.

Or build manually:

git clone https://github.com/tihiera/raincast.git
cd raincast
npm install
npm run tauri dev     # development
npm run tauri build   # production binary

Download Raincast_x.x.x_x64-setup.exe from Releases and run it.

# Download the .deb from Releases, then:
sudo dpkg -i raincast_x.x.x_amd64.deb
sudo apt-get install -f

Or download the .AppImage from Releases, make it executable, and run.

Prerequisites (manual build only)

  • Node.js 18+
  • Rust
  • Xcode Command Line Tools (macOS): xcode-select --install
  • Linux: sudo apt install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf libgtk-3-dev libsoup-3.0-dev
Utility Apps

Compact, single-purpose tools with frosted glass windows.

"Build a VPN status utility that shows my current public IP, connection location on a minimal world map, and a one-click toggle to connect/disconnect. Show latency, upload/download speed, and connection uptime."

VPN Utility

Full Applications

"Build a local AI chat app that connects to a llama.cpp server running on my machine. Chat interface with streamed responses, a model picker, and a collapsible dev console showing connection status and server logs."

Local AI Chat

Games

"Build a side-scrolling platformer inspired by Super Mario. Pixel-art style sprites with vibrant colors, parallax scrolling backgrounds with gradient skies, a HUD with score, coins, and lives, particle effects on coin collection, and screen shake on damage."

Super Mario

Automation

"Build a compact file organizer that watches Desktop and Downloads, auto-sorts files by filename patterns into categorized folders, shows macOS-style toast notifications, and has a live feed of recently sorted files."

File Organizer

# Start dev mode (frontend + Tauri backend)
npm run tauri dev

# Frontend only (port 1420)
npm run dev

# Build production binary
npm run tauri build

# Run editkit tests
cd packages/editkit && npm test

If you want to contribute:

  1. Fork the repo
  2. Create a feature branch
  3. Make your changes
  4. Run npm run tauri dev to verify
  5. Open a PR

MIT

联系我们 contact @ memedata.com