Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MeshChat

SwiftUI chat app for iPhone, iPad, and Mac Catalyst built on the MeshLLM SDK.

What it does

  • Shared iOS app target with Mac Catalyst
  • Auto-joins a public mesh by default
  • Lets you override the default mesh with a specific invite token in Settings
  • Streams chat responses through the MeshLLM Swift SDK
  • Updates available models from SDK mesh events
  • Uses stream-chat-swift-ai for the composer, suggestions, typing indicator, and streaming markdown UI
  • Persists multiple conversations locally
  • Includes a model picker in the composer

How mesh selection works

  • If the invite token field in Settings is empty, MeshChat tries to join a public mesh automatically
  • If you enter an invite token, MeshChat uses that mesh instead
  • The connection badge in the sidebar reflects the current mesh state

Dependencies

Both packages are vendored locally because this project currently depends on local fixes:

  • MeshLLM includes the current Swift SDK + XCFramework used by the app
  • stream-chat-swift-ai includes local packaging/UI adjustments for this app

Project structure

Build

Generate the project and open it in Xcode:

xcodegen generate
open MeshChat.xcodeproj

Build from the command line for Mac Catalyst:

xcodebuild -project MeshChat.xcodeproj -scheme MeshChat -destination 'platform=macOS,variant=Mac Catalyst' build

Notes

  • The app target is iOS with Mac Catalyst, not a native macOS target
  • stream-chat-swift-ai is iOS-oriented, which is why the Mac app runs through Catalyst
  • The vendored MeshLLMFFI.xcframework currently builds and links for Catalyst, but Xcode may still print non-fatal linker warnings depending on the local SDK/toolchain version

About

Swift MacOS and iOS app for AI Chat using MeshLLM

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages