{"id":35411341,"url":"https://github.com/k-l-lambda/anthroid","last_synced_at":"2026-03-16T11:11:08.207Z","repository":{"id":330241571,"uuid":"1120132014","full_name":"k-l-lambda/anthroid","owner":"k-l-lambda","description":"An agentic android app","archived":false,"fork":false,"pushed_at":"2026-03-09T10:08:01.000Z","size":104404,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-09T12:50:27.936Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/k-l-lambda.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-20T14:57:42.000Z","updated_at":"2026-03-09T10:08:05.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/k-l-lambda/anthroid","commit_stats":null,"previous_names":["k-l-lambda/anthroid"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/k-l-lambda/anthroid","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/k-l-lambda%2Fanthroid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/k-l-lambda%2Fanthroid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/k-l-lambda%2Fanthroid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/k-l-lambda%2Fanthroid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/k-l-lambda","download_url":"https://codeload.github.com/k-l-lambda/anthroid/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/k-l-lambda%2Fanthroid/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30370330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T21:41:54.280Z","status":"online","status_checked_at":"2026-03-11T02:00:07.027Z","response_time":84,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-02T14:10:01.986Z","updated_at":"2026-03-11T04:04:43.573Z","avatar_url":"https://github.com/k-l-lambda.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Anthroid\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/logo.png\" alt=\"Anthroid logo\" width=\"480\" /\u003e\n\u003c/p\u003e\n\nAnthroid is a native Android app for **mobile agentic workflows**: a Claude Code-style agent that can work with your phone’s native capabilities (camera, voice, clipboard, notifications, app/URL launching, location/calendar, screenshots, and optional UI automation).\n\n## Demos\n\n### Cross-App Automation\nLaunch other apps and automate multi-step tasks. Here the agent opens a shopping app, searches for products, and navigates the interface.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/ClipA-eng.gif\" alt=\"Cross-app automation demo\" width=\"300\" /\u003e\n\u003c/p\u003e\n\n### Remote Server Monitoring\nUse voice commands to check server status. The agent connects via SSH, runs diagnostics, and reports back.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/ClipB-eng.gif\" alt=\"Server monitoring demo\" width=\"300\" /\u003e\n\u003c/p\u003e\n\n### Document Analysis \u0026 Local File Management\nTake a photo or pick from gallery, then ask the agent to analyze. Here it reads insurance documents and creates a comparison report. The agent can also organize, rename, and move files on your device — tasks that are typically cumbersome on mobile due to limited input methods.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/ClipC-eng.gif\" alt=\"Document analysis demo\" width=\"300\" /\u003e\n\u003c/p\u003e\n\n## When it helps\n\n- **On-call / incident triage away from your desk**: run quick diagnostics in a terminal, keep a chat thread with context, and resume the conversation later.\n- **Field work \u0026 device setup**: scan QR codes to avoid retyping tokens/URLs, open links on-device, and copy/paste between apps.\n- **Hands-busy workflows**: dictate messages with **offline** speech recognition so you can keep moving even with poor network.\n- **\"What am I looking at?\" troubleshooting**: attach photos/screenshots for visual context, then follow a short step-by-step checklist.\n- **Phone-use automation**: copy key info to clipboard, open deep links, launch apps, set reminders via notifications, and combine device context (location/calendar) with instructions.\n\n## Overview\n\nAnthroid (Android + Anthropic) is a mobile implementation of [Claude Code](https://docs.anthropic.com/claude-code), designed around mobile-native input methods and device capabilities.\n\n### Architecture Comparison\n\nUnlike typical mobile AI apps that merely serve as a frontend to remote agent systems, Anthroid runs the **full agent logic locally** on your device:\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eTypical Mobile AI Apps\u003c/th\u003e\n\u003cth\u003eAnthroid\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\n```mermaid\nflowchart TB\n    subgraph phone[\"📱 Mobile Device\"]\n        ui[\"UI Only\"]\n    end\n    subgraph server[\"☁️ Remote Server\"]\n        agent[\"Agent Logic\"]\n        tools[\"Tool Executor\"]\n    end\n    subgraph cloud[\"☁️ LLM Provider\"]\n        api[\"LLM API\"]\n    end\n    ui \u003c--\u003e|\"Every action\"| agent\n    agent --\u003e tools\n    agent \u003c--\u003e api\n```\n\n❌ Tools run on remote server\u003cbr/\u003e\n❌ Limited device access\u003cbr/\u003e\n❌ Network latency for every action\n\n\u003c/td\u003e\n\u003ctd\u003e\n\n```mermaid\nflowchart TB\n    subgraph phone[\"📱 Mobile Device\"]\n        subgraph runtime[\"Agent Runtime\"]\n            tools[\"Tool Executor\u003cbr/\u003eBash / Files / Camera / Voice\"]\n        end\n    end\n    subgraph cloud[\"☁️ Cloud\"]\n        api[\"LLM API\u003cbr/\u003e(Claude / OpenAI compatible)\"]\n    end\n    runtime \u003c--\u003e|\"Inference requests\"| api\n```\n\n✅ Tools execute locally\u003cbr/\u003e\n✅ Full device access\u003cbr/\u003e\n✅ Only LLM inference calls remote API\u003cbr/\u003e\n✅ Supports any OpenAI-compatible endpoint\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\nThis means Anthroid can directly access your camera, files, clipboard, and other device capabilities without round-tripping through a remote server.\n\n**Design goals**\n- **Device tools**: access to location, calendar, clipboard, notifications, URL/app launching, and more.\n- **Mobile input**: voice dictation (offline `sherpa-onnx`) and camera capture/QR scanning.\n- **Agent-style automation**: optional overlay shows what the agent is doing when it operates outside the app.\n- **Terminal at hand**: a full bash environment for advanced workflows.\n\n## Features\n\n### Chat Interface\n- Native Android chat UI with streaming responses\n- **Markdown rendering** - Tables, bold, italic, code blocks, links\n- **Conversation history** - Resume past conversations\n- Light blue user bubbles, gray assistant bubbles\n\n### Voice Input\n- **Offline speech recognition** using sherpa-onnx\n- Supports Chinese, English, Japanese, Korean, Cantonese\n- Press-and-hold microphone button to speak\n- Real-time transcription display\n\n### Camera \u0026 Vision\n- Take photos to add visual context to messages\n- Gallery picker for existing images\n- Multiple images per message\n- **QR code scanning** with instant text insertion and clipboard copy\n\n### AI Agent Tools\nClaude can execute tools on your device:\n\n| Tool | Description |\n|------|-------------|\n| Bash | Run terminal commands |\n| Read/Write/Edit | File operations |\n| Glob/Grep | Search files and content |\n| Notification | Show Android notifications |\n| Clipboard | Read/write clipboard |\n| Open URL | Launch browser |\n| Launch App | Open installed apps |\n| Location | Get GPS coordinates |\n| Calendar | Query calendar events |\n| Screenshot | Capture device screen |\n| Screen Tap/Swipe | UI automation |\n\n### Screen Automation Overlay\nWhen Claude launches other apps or performs actions outside Anthroid:\n- **Floating banner** appears at the top of screen showing agent status\n- **Streaming text** displays what Claude is currently doing\n- **Stop button** to cancel the operation at any time\n- **Auto-hides** after task completion (tap to return to Anthroid)\n- Requires overlay permission (Draw over other apps)\n\n### OpenClaw Agent Runtime (v1.0)\nLocal [OpenClaw](https://github.com/k-l-lambda/openclaw) agent with full tool-use, model selection, and context management:\n- **pi-embedded-runner** bundled in APK — no external agent server needed\n- **60+ Android tools** via MCP bridge (accessibility, camera, clipboard, notifications, etc.)\n- **File-based memory** — `MEMORY.md` + `memory/*.md` injected into system prompt, persists across sessions\n- **Any LLM provider** — Anthropic, OpenAI-compatible APIs, or proxy endpoints (e.g. PPIO)\n\n### Gateway Integration (Optional)\nConnect to an OpenClaw gateway server for distributed agent features:\n- **Memory sync** — automatic pull/push of `memory/` files on session start/end (git-based incremental)\n- **Profile sync** — `/sync-profile` command pulls agent identity, skills, and config files\n- **Remote agent view** — view and interact with OpenClaw sessions and SSH+tmux sessions on remote servers\n- **Pending message delivery** — 60s polling for timed messages from gateway agents\n- **System notifications** — IM-like notifications for gateway messages when app is backgrounded\n- **Gateway Settings UI** — configure host/port/token in Settings, or use `/set-gateway` command / QR code\n\n### Quick Send Candidates\n- Frequently used short messages appear as chips above the input bar\n- **Tap** to send immediately, **long-press** to insert into input for editing\n- Automatically tracked by frequency (threshold: 5 uses)\n\n### Terminal Environment\nBuilt-in Linux terminal for advanced users:\n- Full bash shell environment\n- Package manager (apt/pkg)\n- Node.js, Python, and more available\n\n## Installation\n\n### Download APK\nGet the latest release from [GitHub Releases](https://github.com/k-l-lambda/anthroid/releases).\n\n### Build from Source\n\n```bash\n# Clone repository\ngit clone https://github.com/k-l-lambda/anthroid.git\ncd anthroid\n\n# Build debug APK\n./gradlew assembleDebug\n\n# Install on device\nadb install app/build/outputs/apk/debug/anthroid-app_apt-android-7-debug_arm64-v8a.apk\n```\n\n### Requirements\n- Android 7.0+ (API 24)\n- ARM64 device recommended\n- ~200MB storage (+ optional 239MB for voice model)\n\n## Setup\n\n### API Configuration\n1. Get your Claude API key from [Anthropic Console](https://console.anthropic.com/)\n2. In Anthroid, go to **Settings** \u003e **API Configuration**\n3. Enter your API key and base URL\n\nOr use QR code for quick setup:\n1. Generate QR code with API credentials\n2. Open Camera \u003e QR scan mode\n3. Scan the QR code\n\n### Voice Input Setup\n1. Go to **Settings** \u003e **Components**\n2. Download ASR Model (239MB, one-time)\n3. Wait for model initialization\n4. Microphone button appears in chat\n\n### Gateway Setup (Optional)\nConnect to an OpenClaw gateway for memory sync and remote agent features:\n1. Go to **Settings** \u003e **Gateway Connection**\n2. Enter host, port, and token\n3. Enable the toggle\n\nOr use the chat command: `/set-gateway \u003chost:port\u003e [token]`\n\nOr scan a QR code generated from `tools/qr-generator.html`.\n\n## Architecture\n\n```\n┌──────────────────────────────────────────────────┐\n│  Anthroid App (Android)                          │\n│                                                  │\n│  ┌────────────────────────────────────────────┐  │\n│  │  Kotlin Layer                              │  │\n│  │  ├─ Chat UI (Markdown, voice, camera)      │  │\n│  │  ├─ ClaudeViewModel (CLI/API/OpenClaw)     │  │\n│  │  ├─ MCP Server (NanoHTTPD :8765)           │  │\n│  │  ├─ Gateway Manager (WebSocket + sync)     │  │\n│  │  └─ AndroidTools (60+ device tools)        │  │\n│  └──────────────┬─────────────────────────────┘  │\n│                 │ HTTP localhost:8765              │\n│  ┌──────────────┴─────────────────────────────┐  │\n│  │  Node.js Layer (OpenClaw Agent)            │  │\n│  │  ├─ pi-embedded-runner (agent runtime)     │  │\n│  │  ├─ android-tools-bridge.mjs (MCP bridge)  │  │\n│  │  └─ workspace/ (memory, skills, data)      │  │\n│  └────────────────────────────────────────────┘  │\n│                                                  │\n│  ┌────────────────────────────────────────────┐  │\n│  │  Terminal (Termux fork)                    │  │\n│  │  bash, Node.js, Python, apt/pkg            │  │\n│  └────────────────────────────────────────────┘  │\n└──────────────────────────────────────────────────┘\n         │                           │\n         ▼                           ▼\n   ☁️ LLM API              ☁️ OpenClaw Gateway\n   (Claude/OpenAI)          (optional, WebSocket)\n```\n\n### Key Technologies\n- **Kotlin** - Primary language\n- **OpenClaw pi-embedded-runner** - Local agent runtime with tool-use\n- **CameraX** - Camera capture\n- **ML Kit** - QR code scanning\n- **sherpa-onnx** - Offline speech recognition\n- **Markwon** - Markdown rendering\n- **OkHttp** - WebSocket for gateway connection\n- **BouncyCastle** - Ed25519 device authentication\n\n## License\n\nGPLv3 - Same license as Termux. See [LICENSE.md](LICENSE.md).\n\n## Credits\n\n- [Termux](https://github.com/termux/termux-app) - Terminal emulator foundation\n- [Anthropic](https://anthropic.com) - Claude AI\n- [sherpa-onnx](https://github.com/k2-fsa/sherpa-onnx) - Speech recognition\n- [Markwon](https://github.com/noties/Markwon) - Markdown rendering\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fk-l-lambda%2Fanthroid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fk-l-lambda%2Fanthroid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fk-l-lambda%2Fanthroid/lists"}