GitHub - finnvoor/PiDurableKit: Durable AI agents for Apple platforms: pi-durable on JavaScriptCore with a Swift API
Service

GitHub - finnvoor/PiDurableKit: Durable AI agents for Apple platforms: pi-durable on JavaScriptCore with a Swift API

finnvoor
2026.10.11
·GitHub·by Mineru
#Agent#AI#Durable#JavaScriptCore#Swift

핵심 포인트

  • 1PiDurableKit은 JavaScriptCore를 기반으로 iPhone, Mac 등 Apple 플랫폼에서 AI 에이전트의 대화와 상태를 SQLite에 영구적으로 저장하여 시스템 중단 시에도 작업 재개가 가능한 Durable AI 프레임워크를 제공합니다.
  • 2이 프레임워크는 Swift와 JavaScript 환경을 통합하여 다양한 API 모델 연동, 샌드박스 기반의 도구(Tool) 구현, 그리고 복잡한 워크플로우를 처리하는 태스크(Task) 자동화를 지원합니다.
  • 3OAuth 인증 및 Keychain을 활용한 자격 증명 관리를 통해 Claude Pro, ChatGPT 등 주요 AI 서비스와 연동할 수 있으며, 구조화된 문서와 상태 관리 기능을 통해 개발자가 안정적인 AI 에이전트를 구축할 수 있게 돕습니다.

PiDurableKit은 Apple 플랫폼(iPhone, iPad, Mac, Vision Pro)에서 Durable AI Agent를 구축하기 위한 Swift 전용 프레임워크입니다. 이 시스템은 pi-durable 엔진을 기반으로 하며, JavaScriptCore 내에서 실행되어 상태 관리, 도구 호출, 대화 흐름의 지속성(Persistence)을 보장합니다.

핵심 방법론 및 기술적 구조

  1. 지속적 실행 및 상태 복구 (Durable Execution)
    • 모든 대화, 모델 턴, 도구 호출 및 사용자 정의 상태는 가시화되기 전에 스토리지에 먼저 커밋됩니다.
    • 앱이 실행 중간에 예기치 않게 종료되더라도(Crash), 재시작 시 스토리지에서 상태를 로드하여 중단된 지점부터 즉시 작업을 재개합니다. 이는 SQLite 기반의 트랜잭션(Transaction) 시스템을 통해 구현됩니다.
    • Task 개념을 통해 비동기 작업을 체크포인트(Checkpoint) 기반으로 관리하며, Phase 전이마다 상태를 동기화하여 데이터 일관성을 유지합니다.
  1. JavaScriptCore 기반의 브리지 시스템
    • pi-durable 엔진과 pi-ai 등의 코어 로직은 JavaScript로 작성되어 JavaScriptCore 런타임에서 실행됩니다.
    • Swift와 JavaScript 간에는 JSON 브리지를 통해 통신하며, Swift에서 정의한 클로저(Closure)를 JavaScript에서 도구(Tool)로 사용할 수 있도록 매핑합니다.
    • fetch, URLSession, CryptoKit, Network.framework 등 Apple의 고유 API를 JavaScript의 시스템 환경(Polyfills)으로 주입하여 샌드박스 내부에서도 시스템 자원을 효율적으로 활용합니다.
  1. 확장 가능한 모듈화 아키텍처
    • Extensions & Tools: 사용자는 Swift 클로저나 JavaScript 소스를 사용하여 도구(Tool)와 프롬프트 섹션(PromptSection)을 정의할 수 있습니다. 런타임 중에 확장을 설치하거나 제거할 수 있는 동적 구조를 갖추고 있습니다.
    • Agent Orchestration: Harness 객체가 전체 환경을 관리하며, AgentChange를 통해 실행 중에도 모델의 설정, 명령(Instructions), 확장 기능을 동적으로 변경할 수 있습니다.
    • Atomic Transactions: harness.commit 또는 conversation.commit을 통해 여러 문서 업데이트, 태스크 생성, 대화 분기 등을 원자적으로 실행하며, 에러 발생 시 전체 롤백(Rollback)을 수행하여 데이터 무결성을 보장합니다.
  1. 다중 모델 및 인증 관리
    • Models: Anthropic, OpenAI, Google 등 다양한 공급자의 API를 통합 관리합니다.
    • OAuth 및 인증: Keychain을 활용하여 OAuth 토큰을 안전하게 관리하며, ASWebAuthenticationSession을 통해 앱 내부에서 인증 과정을 처리합니다.
    • FauxProvider: 테스트 및 SwiftUI 프리뷰를 위해 실제 API 호출 없이 응답을 시뮬레이션할 수 있는 스크립트 기반 제공자를 제공하여 개발 효율성을 높입니다.
  1. 동시성 및 반응형 UI
    • Swift Concurrency 모델을 완벽히 지원하며, AsyncSequence를 통해 대화의 상태 변화를 스트리밍하여 SwiftUI와 실시간으로 연동합니다.
    • watchEvents를 통해 커밋된 변경 사항을 이벤트 단위로 추적할 수 있어 복잡한 상태 동기화 문제를 해결합니다.

이 프레임워크는 iOS 17, macOS 14 이상의 환경에서 강력한 회복 탄력성(Resilience)을 갖춘 AI 애플리케이션 개발을 가능하게 하며, 특히 오프라인 작업이나 불안정한 환경에서의 연속적인 에이전트 업무 수행에 최적화되어 있습니다.