⚠️ Legacy Application: OpenAssistant is no longer actively updated because the completions API has been deprecated by OpenAI. This page is maintained for reference and support.

OpenAssistant

A SwiftUI iOS App built for the OpenAI Assistants API

OpenAssistant brings the full power of OpenAI's Assistants API directly to your iPhone. Built entirely with SwiftUI and the Combine framework, OpenAssistant provides comprehensive assistant management, vector stores, file management, and real-time conversations in a native iOS experience, all using your own OpenAI API Key.

Swift SwiftUI Combine OpenAI API
App Screenshot

Project Overview

OpenAssistant comes with a full SwiftUI interface with reactive Combine data flows. It unlocks the full spectrum of the OpenAI Assistants API, empowering you to orchestrate dynamic conversations, manage intelligent vector stores, and perform advanced file ingestion and processing — all within a sleek iPhone app.

🏗️

MVVM Architecture

Built with a robust Model-View-ViewModel pattern that ensures clean separation of concerns, exceptional testability, and maintainable code.

Reactive Programming

Harnesses the full power of the Combine framework to deliver real-time UI updates, seamless async operations, and responsive user interactions throughout the application lifecycle.

🔧

Modular Architecture

Organized into specialized modules including API services, chat functionality, assistant management, and vector store operations for maximum code reusability and maintainability.

📱

Native iOS

Crafted exclusively with SwiftUI to deliver a truly native iOS experience. No dependencies outside of the Apple ecosystem.

Key Features

🤖

Comprehensive Assistant Management

Full lifecycle management of OpenAI Assistants with advanced configuration options including GPT-4o, o-series models, fine-tuned temperature and reasoning effort controls, and custom user-provided instruction sets.

  • Full assistant creation and management
  • Advanced model selection (GPT-4o, 4.1, 4.5 / o1, 03-mini, o4-mini)
  • Dynamic parameter tuning (temperature & Top-P (workhorses), reasoning effort (reasoning models))
  • Real-time configuration updates
🛠️

Dynamic Tool Integration

Enable and configure AI tools including Code Interpreter for coding queries and File Search for document-based knowledge retrieval with advanced vector store integration.

  • Code Interpreter with execution capabilities
  • Advanced File Search with vector embeddings
  • Runtime tool configuration
  • Context-aware tool selection
🗂️

Advanced Vector Store Management

Enterprise-grade vector store operations with full CRUD functionality. Create knowledge bases from documents and associate them with assistants for intelligent, context-aware responses.

  • Complete vector store lifecycle management
  • Intelligent assistant-store associations
  • Document-based knowledge retrieval
  • Configurable embedding strategies
📄

Intelligent File Processing

Upload and process multiple file formats (PDF, TXT, DOCX, and more) with sophisticated chunking strategies. Advanced metadata management and seamless vector store integration.

  • Multi-format file support with smart processing
  • Configurable chunking (size and overlap control)
  • Rich file metadata and status tracking
  • Automated vector store association
💬

Real-Time Chat Interface

Engage in sophisticated conversations with rich Markdown rendering, persistent message history, and intelligent thread management. Features loading states and real-time conversation updates.

  • Rich Markdown rendering with syntax highlighting
  • Persistent conversation history across sessions
  • Intelligent OpenAI thread lifecycle management
  • Real-time message streaming and updates
🔒

Enterprise-Grade Security & Persistence

Secure API key management using iOS secure storage, with robust local data persistence and privacy-focused design principles throughout the application.

  • Secure @AppStorage-based API key storage
  • Local message persistence with MessageStore
  • Cross-session data integrity
  • Privacy-first architecture design

Architecture Overview (MVVM)

Built using the Model-View-ViewModel (MVVM) pattern, the application provides a scalable and maintainable foundation for complex SwiftUI development.

View Layer (SwiftUI)

Declarative UI built with SwiftUI components

ChatView AssistantManagerView VectorStoreDetailView SettingsView
↕️

ViewModel Layer (Business Logic)

Manages state and coordinates between View and Model

ChatViewModel AssistantManagerViewModel VectorStoreManagerViewModel ContentViewModel
↕️

Service Layer (API & Persistence)

Handles external API calls and data persistence

OpenAIService FileUploadService MessageStore @AppStorage
↕️

Model Layer (Data Structures)

Codable structs mirroring OpenAI API entities

Assistant Message Thread VectorStore

Core Application Flow

Understanding how data flows through the application and how users interact with different features.

1

App Initialization

The application starts with OpenAssistantApp, which initializes environment objects and checks for API key presence.

@StateObject private var assistantManagerViewModel = AssistantManagerViewModel()
2

API Key Management

The app securely stores the OpenAI API key using @AppStorage and prompts for setup if missing.

@AppStorage("OpenAI_API_Key") private var apiKey: String = ""
3

Main Navigation

MainTabView provides tab-based navigation between Assistants, Management, Vector Stores, and Settings.

TabView { ForEach(Tab.allCases, id: \.self) { tab in ... } }
4

Data Fetching

ViewModels interact with OpenAIService to fetch assistants, create vector stores, and manage chat threads.

assistantManagerViewModel.fetchAssistants()
5

Real-time Updates

The app uses NotificationCenter and Combine publishers for decoupled, real-time UI updates.

NotificationCenter.default.post(name: .settingsUpdated, object: nil)

Technical Implementation

🔄 Asynchronous Operations

Built with Swift's modern concurrency model using async/await and Combine publishers for reactive programming.

🗃️ Data Persistence

Local message storage with MessageStore and secure API key persistence using @AppStorage.

🌐 API Integration

Comprehensive OpenAI API integration with dedicated service extensions for different endpoints.

🎨 Adaptive UI

Support for Light, Dark, and System appearance modes with responsive design principles.

Real-World Use Cases

Discover how OpenAssistant can transform your workflow with AI-powered assistance

📝

Content Creation

Create custom writing assistants with specific styles and tones. Upload brand guidelines and style sheets to ensure consistent voice across all your content.

🔬

Research & Analysis

Build research assistants that can search through your document library. Upload papers, reports, and articles to create a personalized knowledge base.

💼

Business Intelligence

Analyze business data, generate reports, and visualize trends with Code Interpreter. Upload CSV files and let AI crunch the numbers.

🎓

Learning & Education

Create personalized tutors for any subject. Upload textbooks and course materials to build domain-specific educational assistants.

👨‍💻

Code Development

Build coding assistants with access to your project documentation. Use Code Interpreter to write, test, and debug code on the go.

🏥

Professional Services

Create specialized assistants for legal, medical, or financial applications with domain-specific document libraries.

Why Choose OpenAssistant?

🎯

Full Control

Your API key, your data, your assistants. Complete control over your AI interactions without third-party intermediaries.

🚀

Native Performance

Built entirely with SwiftUI for a truly native iOS experience. Fast, fluid, and optimized for Apple devices.

🔐

Privacy First

Your data stays between you and OpenAI. No tracking, no analytics, no data collection by third parties.

🎨

Beautiful Design

Modern, intuitive interface that follows Apple's design guidelines. Supports Dark Mode and adapts to your preferences.

Get Started in Minutes

1

Download OpenAssistant

Get OpenAssistant from the App Store. The app is free to download and available for iPhone and iPad.

Download on App Store
2

Get Your OpenAI API Key

Sign up for an OpenAI account and generate an API key from your dashboard. You only pay for what you use.

Get API Key
3

Create Your First Assistant

Open the app, enter your API key in Settings, and create your first AI assistant. Choose a model, set instructions, and start chatting!

Ready to Experience AI on iOS?

Download OpenAssistant today and unlock the full potential of OpenAI's Assistants API on your iPhone.

Free to download • Your API key, your control • No subscriptions