Skip to content

HyperCoherence/PocketDaemon

Repository files navigation

PocketDaemon

PocketDaemon is an experimental Android-native AI agent that can answer and place phone calls, run live voice/chat sessions, use phone tools, keep local memory, take notes, schedule tasks, and run extensible skills.

The project is built as a Flutter app with Android/Kotlin services and an optional Magisk module that installs the app as a privileged system app. That privileged path is what enables call handling, telephony audio, call recording, contacts, SMS, location, and assistant-role integration.

Status

This is research software for rooted Android devices. It is not ready for general consumer installation, app-store distribution, or use where missed calls, unwanted SMS, location exposure, or recording-law compliance would create material risk.

Features

  • AI receptionist for incoming calls
  • Live full-duplex voice conversation
  • Text chat with image input
  • Trusted caller tiers
  • Outbound calls from chat
  • Notes, notifications, recordings, and session history
  • Local memory stored under /sdcard/PocketDaemon/
  • Scheduled tasks
  • Skills loaded from Markdown files
  • Provider-selectable realtime voice through Gemini or xAI
  • Optional provider search grounding through Gemini or xAI voice sessions

See FEATURES.md for the full current feature list.

Requirements

  • Rooted Android device with Magisk
  • Flutter SDK
  • Android SDK / platform tools
  • A Gemini API key, xAI API key, or both
  • A device and jurisdiction where call handling/recording behavior is lawful

Build

flutter pub get
flutter build apk --release
powershell -File build_magisk.ps1

The release APK, Magisk zip, and SHA-256 checksums are generated locally under releases/ with versioned filenames. Keep that directory out of git; when you create a public release later, attach those generated files to the release. Do not commit generated APKs, zips, extracted firmware, local configs, recordings, notes, or skills.

Configuration

The app stores runtime data under /sdcard/PocketDaemon/. For provisioning, copy pocketdaemon_config.example.json to pocketdaemon_config.json, fill in local values, and place it in /sdcard/Download/ before launching the app. The app imports supported keys and deletes the sideload file after a successful merge.

The easier first-run path is the USB tool:

cd tools/pocketdaemonctl
go run . doctor
go run . install
go run . setup

setup opens a localhost browser editor for the voice provider, API keys, identity, CALL_PROMPT.md, memory/SOUL.md, trusted contacts, skills, scheduled tasks, and advanced memory files. Non-interactive setup is also available:

go run . setup --provider xai --api-key "$env:XAI_API_KEY" --apply

Never commit real API keys or personal config exports.

Security And Privacy

This app can access sensitive phone capabilities when installed as a privileged system app. Review SECURITY.md, PRIVACY.md, and docs/threat-model.md before publishing or installing.

License

MIT. See LICENSE.

About

Experimental Android-native AI phone agent with voice, calls, memory, tools, and Magisk-based privileged integration.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors