If this is useful, a ❤️ helps others find it. Everything I keep looking up when building Tauri v2 apps — in one place. // Define #[tauri::command] fn greet(name: String) -> String { format!("Hello, {}!", name) } // With error handling #[tauri::command] fn read_file(path: String) -> Result { std::fs::read_to_string(path).map_err(|e| e.to_string()) } // Async #[tauri::command] async fn fet
Repo: https://github.com/richer-richard/socratic-council Stack: Tauri 2 (Rust + React/TypeScript), pnpm monorepo, Apache-2.0 Latest release: v2.0.0 If you ask one frontier model a hard question, you get a confident answer. If you ask sixteen, you get an argument. Socratic Council is a desktop app that runs a structured seminar between sixteen LLM agents drawn from eight providers — OpenAI, Anthr
The previous two posts covered how events flow from the SDK to the UI. This post focuses on visualizing one specific type of event: tool calls. Tool invocations are the most frequent operations in an Agent application. A typical task might call tools twenty or thirty times—reading files, writing files, executing commands, searching code. If every tool call renders as the same gray block, it's hard
Post 1 covered how AgentBridge converts the SDK's AsyncStream<SDKMessage> into [AgentEvent]. This post looks at what [AgentEvent] becomes — how TimelineView renders 18 event types, handles scroll behavior, and stays smooth when the event count gets large. TimelineView is the main body of the workspace, filling all the space between the sidebar and the input box. Its view hierarchy is shallow: Time
All tests run on an 8-year-old MacBook Air. The default: Tauri commands When commands aren't enough: events Targeting specific windows The channel API for streaming data async fn stream_data(on_event: Channel) -> Result<(), AppError> { What I don't use The pattern I follow User action → invoke command → return result Three patterns. That's the whole IPC layer. If this was useful, a ❤️ helps more t
All tests run on an 8-year-old MacBook Air. Most AI integration tutorials assume you're paying for API access. HiyokoLogcat is built entirely on Gemini's free tier — and designed so users bring their own free API key. Here's what's possible, what the limits are, and how to design around them. Gemini 2.5 Flash Preview: 15 requests per minute (RPM) 1,000,000 tokens per day 250 requests per day For a