
FoundationChat
github.com/dimillian/foundationchat- Category
- AI Tools
- Rank
- No. 1518Tools index
Previous survey · No. 1524 ·
- Pricing
- Open Source
- Type
- APP
- Builder
- dimillian
- GitHub
- 347 stars
- Date
About
Dimillian's chat app powered by iOS 26 Foundation Models — runs Apple's on-device LLM with no cloud round-trips.
What it does
FoundationChat is a native chat workspace with multiple saved conversations, streamed replies, and automatic summaries. Messages persist locally. When a prompt contains a URL, the assistant can fetch the page and attach its title, description, and preview image.
Why it's ranked here
This is a useful reference implementation, not a broad assistant platform. It demonstrates structured generation, streaming updates, tool use, persistence, and modern SwiftUI in one compact app. Its narrow hardware requirements and rough context management make it better for learning and experimentation than dependable general use.
What's good
The app connects model output directly to typed message fields, including optional web metadata. Replies update while generation continues, histories survive restarts through SwiftData, and summaries keep conversation rows informative. Long chats fall back to a stored summary instead of always sending the complete transcript.
Tradeoffs
It requires current Apple operating systems, Xcode, supported hardware, and Apple Intelligence enabled. URL analysis still needs network access despite the core model working offline. Context size uses an approximate English word calculation rather than model tokenization. Several failures are reduced to visible error text, and the supplied code shows no recovery or retry flow.
How to use it well
Use it as a small working example when learning Apple Foundation Models, structured responses, streaming, tools, or SwiftData-backed chat design. Fork it to test prompts and interface ideas on supported Apple hardware. It does not provide a cross-platform client, server API, command-line interface, or general web research system.
Technical notes+
FoundationChat/Env/ChatEngine.swift creates a LanguageModelSession with WebAnalyserTool, reconstructs prompts from sorted persisted messages, estimates tokens from word count, and switches to summary plus latest-message context above safeTokenLimit. FoundationChat/Tools/WebAnalyserTool.swift uses URLSession and SwiftSoup to extract the page title, Open Graph image, and meta description. FoundationChat/Views/ConversationDetail/ConversationDetailView.swift streams partial structured output into a SwiftData Message, then separately streams a conversation summary. FoundationChat/Models/SwiftData/Message.swift accepts attachementDescription in its initializer but never assigns it, while the streaming view later assigns that property directly. ChatEngine.isAvailable, maxTokens, and prewarm() are present, but the supplied UI code does not use them.
Observed
- License
- MIT License
- Primary language
- Swift
- Packaging and install surface
- Native Xcode project opened, built, and run from Xcode 26.0 or newer
- Interface
- SwiftUI graphical chat application with conversation list and message views
- Platform support
- iOS 26.0+, iPadOS 26.0+, macOS 26.0+, and visionOS 26.0+
- Runtime requirements
- Apple Intelligence-supported device with Apple Intelligence enabled
- Persistence
- SwiftData stores conversations, messages, and generated summaries
- External dependency
- SwiftSoup parses HTML fetched by the web analysis tool
Read from README.md, FoundationChat/FoundationChatApp.swift, FoundationChat/Env/ChatEngine.swift, FoundationChat/Tools/WebAnalyserTool.swift, FoundationChat/Models/Generable/Role.swift, FoundationChat/Models/SwiftData/Message.swift, FoundationChat/Models/SwiftData/Conversation.swift, FoundationChat/Models/Generable/WebPageMetadata.swift, FoundationChat/Models/Generable/MessageGenerable.swift, FoundationChat/Views/ConversationsList/ConversationRowView.swift, FoundationChat/Views/ConversationsList/ConversationsListView.swift, FoundationChat/Views/ConversationDetail/ConversationDetailView.swift, FoundationChat/Views/ConversationDetail/ConversationDetailInputView.swift, FoundationChat/Views/ConversationDetail/Message/MessageView.swift, FoundationChat/Views/ConversationDetail/Message/MessageContentView.swift.
What it can do
Generate text responses to user queries
Natural language questions or prompts → AI-generated text responses
Conduct conversations without internet connectivity
User messages and conversation context → Contextual chat responses
Process natural language requests locally
Text-based user requests → Relevant answers or information
Maintain conversation history offline
Chat messages and responses → Persistent conversation threads
Generate creative content without cloud dependency
Creative writing prompts or requests → Stories, poems, or other creative text
Tags
Tech Stack
Media
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.