Skip to content

ModalityDance/PalmClaw

简体中文

PalmClaw Line Logo (light mode) PalmClaw Line Logo (dark mode) PalmClaw

Your private AI assistant on your phone: simple, safe, and ready anytime.

⬇️ Just want to download? Jump to Quick Start

📌 Overview

PalmClaw is a personal assistant on your phone inspired by OpenClaw, but designed for direct mobile deployment: run your AI agent on your phone without a PC.

  • 📱 Deploy and operate directly on Android.
  • 🔒 Local-first runtime for a safer and more private workflow.
  • ⚡ Simpler setup and daily use, while still supporting channels, tools, and automation.

✨ Key Features

  • 📱 Mobile-native deployment
    Deploy and run directly on Android, with built-in access to local hardware and files.

  • Simple workflow
    All operations are done directly in the app UI, making setup and usage easier.

  • 🔐 Stronger safety
    Android App sandbox isolation provides a naturally safer runtime boundary.

  • 🧠 Full agent stack included
    Memory, skills, tools, and channels are all available in one mobile runtime.

🎬 Demos

Initial Setup Demo Core Features Demo Tool Usage Demo Channels Configuration Demo
Initial Setup Core Features Tool Usage Channels Setup

📰 News

  • 🌏 [2026.03.21] v0.1.1 Chinese Docs & UX Update: Added a Chinese README, improved Chinese error messages, and fixed the MiniMax API endpoint.
  • 🚀 [2026.03.16] Initial Release: PalmClaw v0.1.0 is now live! 🎉

🛣️ Roadmap

  • Integrate SkillHub.
    • Build a conversion skill: desktop skill -> mobile-ready skill.
  • More channel integrations.
  • Better tool support.
    • Stronger web search tools, like brave or tavily.
  • Expand Android-native capabilities.
    • Local app integration.
    • Screen reading and interaction.
  • Multimodal input and output.

📑 Table of Contents

🚀 Quick Start

👤 For Normal Users

  1. Download the latest APK from the Releases page.
  2. Install the APK on your Android phone.
  3. Open PalmClaw and follow the in-app onboarding guide.
  4. Finish provider setup, then start chatting in the local session!
Scan to download PalmClaw APK
Scan to download the latest APK

Important

PalmClaw does not include hosted model access by default. You need to configure your own provider API key during setup.

🛠️ For Developers

  1. Install Android Studio and JDK 17.
  2. Clone the repository:
git clone https://github.com/ModalityDance/PalmClaw.git
cd PalmClaw
  1. Open the project in Android Studio and wait for Gradle sync.
  2. Ensure local.properties points to your Android SDK path.
  3. Run the app on a physical device or emulator.

Note

local.properties is machine-specific and should not be committed.

🔌 Channels Configuration

PalmClaw currently supports these channels:

Telegram
  1. Set Channel = Telegram.
  2. Fill Telegram Bot Token and save.
  3. Send one message to your bot in Telegram.
  4. Tap Detect Chats.
  5. Select detected chat, then save binding.
Discord
  1. Set Channel = Discord.
  2. Fill Discord Bot Token.
  3. Set target Discord Channel ID.
  4. Choose response mode (mention or open), optionally set allowed user IDs.
  5. Save binding.

[!TIP] Invite the bot to the target server/channel first.

If using mention mode, mention the bot once to trigger replies in guild channels.

Slack
  1. Set Channel = Slack.
  2. Fill Slack App Token (xapp...) and Slack Bot Token (xoxb...).
  3. Set target Slack Channel ID.
  4. Choose response mode (mention or open), optionally set allowed user IDs.
  5. Save binding.

[!IMPORTANT] Slack prerequisites:

  • Socket Mode enabled
  • App token with connections:write
  • Bot token with required message/reply scopes
Feishu
  1. Set Channel = Feishu.
  2. Fill Feishu App ID and Feishu App Secret.
  3. Save once to start long connection.
  4. Send one message to the bot from Feishu.
  5. Tap Detect Chats.
  6. Select detected target (open_id for private chat, chat_id for group), then save again.
  7. Optional: set Allowed Open IDs.
Email
  1. Set Channel = Email.
  2. Enable consent.
  3. Fill IMAP settings: host, port, username, password.
  4. Fill SMTP settings: host, port, username, password, from address.
  5. Save once to start mailbox polling.
  6. Send one email to this mailbox from target sender.
  7. Tap Detect Senders.
  8. Select sender and save again.
  9. Optional: toggle auto-reply on/off.
WeCom
  1. Set Channel = WeCom.
  2. Fill WeCom Bot ID and WeCom Secret.
  3. Save once to start long connection.
  4. Send one message to the bot from WeCom.
  5. Tap Detect Chats.
  6. Select detected target and save again.
  7. Optional: set Allowed User IDs.

Note

Recommended order for any channel:

  1. Open the target session.
  2. Go to Session Settings -> Channels & Configuration.
  3. Select channel type and follow the setup instructions.

⚙️ How PalmClaw Works

PalmClaw architecture overview
  • 📩 Message in: input comes from local chat or connected channels.
  • 🤖 Agent loop: LLM decides, calls tools when needed, then generates response.
  • 🧠 Context: memory + skills guide every turn.
  • 📤 Response out: result is written to the session and sent back to the channels.

🗂️ Repository Structure

PalmClaw/
├─ app/
│  ├─ src/main/java/com/palmclaw/
│  │  ├─ ui/                # Compose UI, settings, chat, onboarding
│  │  ├─ runtime/           # agent runtime, always-on, routing
│  │  ├─ channels/          # Telegram / Discord / Slack / Feishu / Email / WeCom
│  │  ├─ config/            # config store and storage paths
│  │  ├─ cron/              # scheduled jobs
│  │  ├─ heartbeat/         # heartbeat runtime
│  │  ├─ tools/             # mobile tools exposed to the agent
│  │  └─ skills/            # skill loading and matching
│  └─ src/main/assets/
│     ├─ templates/         # AGENT / USER / TOOLS / MEMORY / HEARTBEAT
│     └─ skills/            # bundled skills and guidance
├─ docs/assets/             # docs site branding/media/fonts/icons assets
├─ gradle/                  # Gradle wrapper files
└─ README.md

🤝 Community

We welcome researchers, builders, and mobile AI practitioners to join the PalmClaw community. 🌍

Thanks to all contributors.

Contributors



Star History Chart

⚖️ License

This project is offered under a dual licensing model:

  • Open Source License: See LICENSE
    This is the default license for the project. It ensures that any modifications made to the code, when used to provide a service over a network, must also be released under the AGPLv3.

  • Commercial License: See LICENSE-COMMERCIAL
    For organizations or individuals who wish to integrate this software into proprietary products or services without being bound by the AGPLv3's copyleft requirements (e.g., keeping modifications private), a commercial license is available.

Thanks for visiting PalmClaw! Visitor Count

About

Your private AI assistant on your phone: simple, safe, and ready anytime. 你手机里的私人 AI 助手:简单、安全,随时可用。

Resources

License

AGPL-3.0, Unknown licenses found

Licenses found

AGPL-3.0
LICENSE
Unknown
LICENSE-COMMERCIAL.md

Contributing

Security policy

Stars

Watchers

Forks

Contributors