octo-ios  by Mininglamp-OSS

Native iOS client for AI-powered enterprise messaging

Created 1 month ago
272 stars

Top 94.6% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

OCTO iOS is the native iOS client for the OCTO messaging platform, designed for human-AI collaboration. It targets users and developers within the OCTO ecosystem, providing a first-class mobile user experience for interacting with AI agents ("Lobsters") and leveraging native platform features for enhanced performance and integration. The client aims to offer a seamless, secure, and customizable mobile interface for the OCTO workplace.

How It Works

This project is a native iOS application built using a hybrid UIKit and SwiftUI architecture. It communicates with the octo-server backend via REST and WebSocket protocols, ensuring feature parity with other OCTO clients like octo-web and octo-android. A key design principle is its native implementation, avoiding webview wrappers to fully utilize platform capabilities such as APNS push notifications, Share/Notification/Widget extensions, Universal Links, and Shortcuts. The app is designed to ship without embedded secrets, requiring users to provide their own Firebase configuration, Apple Developer certificates, and Bundle Identifiers.

Quick Start & Requirements

To build and run, clone the repository, navigate to the directory, and run pod install if using CocoaPods, or rely on Xcode's Swift Package Manager handling. Open OCTO.xcworkspace or OCTO.xcodeproj in Xcode. Mandatory pre-flight steps include replacing placeholder artifacts for Bundle Identifier, Firebase configuration (GoogleService-Info.plist), Apple Developer provisioning profiles and certificates, and setting up Universal Links with an apple-app-site-association file. The default server configuration points to http://localhost:8080, which can be adjusted in OCTO/Config/Config.plist.

Highlighted Details

  • Native iOS client (Swift/Objective-C) with a UIKit + SwiftUI hybrid UI.
  • Leverages platform features: APNS, Share/Notification/Widget extensions, Universal Links, Shortcuts.
  • Mirrors octo-web and octo-android functionality via consistent REST + WebSocket protocols.
  • "Ships without secrets" model requires user-provided Firebase, certificates, and Bundle ID.
  • Adheres to a "Local-first" philosophy, prioritizing user data privacy.
  • Facilitates human-AI collaboration through Lobster agents.

Maintenance & Community

The project is maintained by OCTO Contributors under Mininglamp-OSS. Community guidelines are available in CONTRIBUTING.md and CODE_OF_CONDUCT.md. Security issues should be reported via SECURITY.md. The project emphasizes a "Release-as-product" principle for its open-source cuts.

Licensing & Compatibility

The project is licensed under the Apache License 2.0. This license is permissive and generally compatible with commercial use and linking within closed-source projects.

Limitations & Caveats

The repository will not produce a signed or distributable .ipa file out-of-the-box; users must complete the mandatory pre-flight configuration steps. The default server endpoint requires modification for deployments other than a local octo-server instance. The project acknowledges its upstream origin from "TangSengDaoDaoiOS".

Health Check
Last Commit

5 days ago

Responsiveness

Inactive

Pull Requests (30d)
4
Issues (30d)
2
Star History
241 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.