Skip to content

Releases: APUS-AI-Lab/PhoneBuddySDK

PhoneBuddy SDK v0.2.0 — Multimodal Input & Responses Protocol Upgrade

Choose a tag to compare

@quafulz quafulz released this 25 Aug 01:59

What's New in v0.2.0

This release brings multimodal image support, a fully refactored LLM Responses protocol, improved reliability, and a richer developer toolset.


🖼️ Multimodal Image Input

  • Image input support — Pass image data directly into the agent alongside text prompts.
  • Orientation-adaptive dimension validation — Automatically validates image dimensions based on portrait/landscape orientation, ensuring API compliance without manual checks.

⚡ LLM & Responses Protocol Refactor

  • Responses protocol upgrade — Rewrote the SSE streaming transport, stream parser, and type layer to align 1:1 with the upstream Grok Responses API.
  • Prefix-continue on SSE idle timeout — The engine now automatically issues a prefix-continue request once when the SSE stream goes idle, recovering gracefully from temporary stalls.
  • Fixed duplicated tool-call JSON — Resolved a bug where Responses tool-call payloads were being emitted twice per invocation.
  • Omit placeholder args for hosted web_search — Server-side hosted tools no longer send spurious empty arguments at turn start.
  • Aligned search behavior with Grok Build — Response search flow is now in sync with the upstream reference implementation.

🔄 Reliability & Retry

  • Transient retry + multi-provider failover — The HTTP client retries on transient network errors and can automatically fail over to a secondary LLM provider, improving uptime in mobile network
    conditions.
  • DuckDuckGo connectivity probe with cooldown — The web-search tool now probes DuckDuckGo availability before use and applies a cooldown on repeated failures, with a simplified user-facing fallback
    notice.
  • Immediate turn completion for server-side tools — Pure server-side tool calls (e.g., hosted web search) no longer enter an unnecessary client-side loop, reducing latency.
  • Improved call_id parsing and web_fetch error handling — More robust parsing of Responses call_id fields and cleaner error messages from the web fetch tool.

🛠️ Developer Experience

  • EngineConfigBuilder API — New fluent builder for constructing engine configuration without manually constructing JSON.
  • 1:1 client profile emulation — The engine can now mimic specific LLM client profiles for reproducible behavior across environments.
  • Native tracing / logging callback (FFI) — Debug builds now export a native callback so iOS/Android host apps can receive structured log output directly via the C FFI layer.
  • Expanded unit test suite — New tests covering the C FFI layer, busybox applets, the Boa JS script sandbox, and file tools.

v0.1.2: Support Agent Name Customization & Packaging Fixes

Choose a tag to compare

@quafulz quafulz released this 19 Aug 16:30

What's New in v0.1.2

### 🌟 New Features                                                                                                                                                                                           
- **Configurable Agent Identity (`agent_name`)**:                                                                                                                                                             
  - Support setting a custom Agent identity in `EngineConfig` (e.g. `"agent_name": "Rivon"`), dynamically interpolated into the system prompt (`You are {agent_name}…`).                                      
  - Added runtime identity switching APIs across all platforms:                                                                                                                                               
    - **C ABI**: `void pb_engine_set_agent_name(struct PbEngine *engine, const char *name);`                                                                                                                  
    - **iOS (Swift)**: `await agent.setAgentName("Rivon")`                                                                                                                                                    
    - **Android (Kotlin)**: `agent.setAgentName("Rivon")`                                                                                                                                                     
                                                                                                                                                                                                              
### 🛠️ Bug Fixes & Improvements                                                                                                                                                                               
- **SDK Packaging & Binary Consistency**:                                                                                                                                                                     
  - Resolved an issue where iOS static libraries and header files in the prebuilt ZIP package could be out-of-sync with the latest API declarations.                                                          
  - Rebuilt all iOS (`aarch64-apple-ios`, `aarch64-apple-ios-sim`, `x86_64-apple-ios`) and Android (`arm64-v8a`, `x86_64`, `armeabi-v7a`, `x86`) release binaries.                                            
- **C Header Sanitation**:                                                                                                                                                                                    
  - Refined `cbindgen` export configuration to exclude internal Android JNI bridge declarations from the public `phone_buddy.h` header, preventing type conflicts with Android NDK `<jni.h>`.                 
- **Dynamic User-Agent Versioning**:                                                                                                                                                                          
  - Client HTTP `User-Agent` now automatically synchronizes with the workspace package version.                                                                                                               
                                                                                                                                                                                                              
---                                                                                                                                                                                                           
                                                                                                                                                                                                              
### 📦 Prebuilt Distribution Package                                                                                                                                                                          
Download the prebuilt SDK package attached below to drop straight into your Xcode / Android Studio projects without compiling Rust:                                                                           
- **`phone-buddy-sdk-v0.1.2.zip`**

PhoneBuddy SDK v0.1.1

Choose a tag to compare

@quafulz quafulz released this 18 Aug 13:51

PhoneBuddy SDK v0.1.1 — Initial Public Release 🚀

We are thrilled to announce the initial release of PhoneBuddy SDK (v0.1.1)!

PhoneBuddy SDK is a lightweight, embeddable LLM Agent runtime engine in pure Rust designed specifically for mobile operating systems (iOS and Android). Derived and ported from xAI's open-source agent engine (xai-org/grok-build), it brings desktop-class autonomous agent harness maturity down to mobile platforms with zero child processes and 100% App Store & Google Play sandbox compliance.