Thanks to visit codestin.com
Credit goes to github.com

Skip to content
forked from rebornix/Agmente

πŸ”₯ Every AI coding agent in your pocket β€” Copilot, Gemini, Claude Code, Codex, Qwen, Vibe β€” iOS, Android & React Native

License

Notifications You must be signed in to change notification settings

friuns2/Agmente

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

59 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

πŸ”₯ Agmente

πŸš€ Your AI Coding Agents. In Your Pocket. On Every Platform. πŸš€

Swift Kotlin React Native Platform App Store APK Download License Status Stars


Every AI coding agent. Every protocol. One app. Copilot CLI. Gemini. Claude Code. Codex. Qwen. Vibe. They all work. From your phone. Yes, really.


╔═══════════════════════════════════════════════════════╗
β•‘     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—    β•‘
β•‘    β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β• β–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘    β•‘
β•‘    β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β–ˆβ–ˆβ–ˆβ–ˆβ•”β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘    β•‘
β•‘    β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘    β•‘
β•‘    β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘ β•šβ•β• β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘    β•‘
β•‘    β•šβ•β•  β•šβ•β• β•šβ•β•β•β•β•β• β•šβ•β•     β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•  β•šβ•β•β•β•    β•‘
β•‘         T E   M O B I L E   A G E N T   C L I E N T    β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

🀯 What Is This?

Every major tech company shipped an AI coding agent. Copilot CLI. Gemini CLI. Claude Code. OpenAI Codex. Qwen. Mistral Vibe. They're powerful. They're transformative. They run in your terminal.

But what if you're on your couch? On a train? In bed at 2am having a "what if I refactored the entire auth layer" moment?

Agmente is a native mobile client that connects to any AI coding agent over WebSocket. It speaks both ACP (Agent Client Protocol) and Codex app-server protocol β€” auto-detecting which one your server uses. You get the full experience: tool calls, file changes, plan mode, session history, syntax-highlighted code β€” all from your phone.

Yes, that's a full coding agent interface. Yes, that's on your iPhone. Yes, it's on the App Store right now.


πŸ“± Screenshots


🍎 iOS β€” The Full Experience
Server list with connection status. Full chat transcript with tool calls, file changes, and plan mode.

πŸ€– Android β€” Session List
Connected & initialized. Server status, sessions, New Chat button.

πŸ€– Android β€” Chat View
Tool calls, file changes, markdown rendering β€” all native Compose.

🧠 TL;DR

Connect your phone to any AI coding agent (Copilot, Gemini, Claude Code, Codex, Qwen, Vibe) over WebSocket. See tool calls, edit files, manage sessions β€” all natively on iOS, Android, and React Native. Auto-detects ACP vs Codex protocol. Ships with a full Swift ACP SDK. It just works.


🌍 What Can You Do With This?

Use Case Description
πŸ“± Mobile coding agent Run Copilot CLI / Gemini / Claude Code from your phone
πŸ”Œ Connect to any ACP server Any agent that speaks Agent Client Protocol β€” just add the WebSocket URL
πŸ€– Connect to Codex app-server OpenAI's experimental app-server protocol β€” fully supported
🧠 Plan mode Review Codex plans before execution β€” approve, reject, iterate
πŸ”§ Tool call visibility See every file read, write, terminal command the agent executes
πŸ“‚ File changes view Inline diffs for every file the agent modifies
πŸ” Remote access Cloudflare Tunnel + Access tokens for secure wss:// connections
πŸ’Ύ Session persistence Resume conversations even after app restart β€” local + server-side
🌐 Multi-protocol Auto-detects ACP vs Codex after initialize β€” zero config
πŸ“‹ Session management Create, list, load, archive sessions/threads per server
⚑ Skills & permissions Select agent skills, toggle YOLO/Auto Edit/Plan/Default modes
πŸ—οΈ Three platforms iOS (SwiftUI), Android (Compose), React Native β€” same experience everywhere

⚑ Quick Start

πŸ“² iOS (App Store)

# πŸŽ‰ Just download it
# https://apps.apple.com/us/app/agmente/id6756249477

πŸ€– Android (APK Download)

# πŸ“¦ Grab the latest APK from GitHub Releases
# https://github.com/friuns2/Agmente/releases/latest
# Sideload it β€” no Play Store needed. No signing drama.

πŸ—οΈ Build from Source (iOS)

# πŸ”“ Clone and build
git clone https://github.com/rebornix/Agmente.git
cd Agmente
open Agmente.xcodeproj
# πŸš€ Hit Run. You're flying. ✈️

πŸ€– Build from Source (Android)

cd AgmenteAndroid
./gradlew assembleDebug
# πŸ“± Install on device or emulator

πŸ”Œ Start a Local Agent

# πŸ§ͺ Codex app-server (direct WebSocket)
codex app-server --listen ws://127.0.0.1:8788

# 🌐 ACP agent via stdio-to-ws (Gemini, Claude Code, Copilot, etc.)
npx -y @rebornix/stdio-to-ws --persist --grace-period 604800 "npx @google/gemini-cli --experimental-acp" --port 8765

Add your server in the app β†’ Connect β†’ Initialize β†’ Start coding from your phone. 🎯


πŸ“ Project Structure

Agmente/
β”œβ”€β”€ πŸ“± Agmente/                    # iOS app (SwiftUI)
β”‚   β”œβ”€β”€ πŸ”Œ Networking/             # WebSocket, ACP/Codex clients
β”‚   β”œβ”€β”€ 🎨 UI/                     # Views, components, screens
β”‚   β”œβ”€β”€ 🧠 ViewModels/             # ACP & Codex view models
β”‚   └── πŸ’Ύ Persistence/            # Core Data session storage
β”œβ”€β”€ πŸ€– AgmenteAndroid/             # Android app (Kotlin + Compose)
β”‚   β”œβ”€β”€ πŸ“¦ app/                    # Main Android application
β”‚   β”œβ”€β”€ πŸ”Œ acpclient/              # Kotlin ACP client module
β”‚   └── πŸ”Œ appserverclient/        # Kotlin Codex client module
β”œβ”€β”€ βš›οΈ  AgmenteRN/                  # React Native app
β”‚   └── πŸ“‚ src/                    # TypeScript source
β”œβ”€β”€ πŸ”§ ACPClient/                  # Swift ACP SDK (SwiftPM)
β”‚   β”œβ”€β”€ πŸ“– Docs/                   # Protocol diagrams & logos
β”‚   └── πŸ§ͺ Tests/                  # Unit tests
β”œβ”€β”€ πŸ”§ AppServerClient/            # Swift Codex app-server client
β”œβ”€β”€ πŸ§ͺ AgmenteTests/               # iOS unit tests
β”œβ”€β”€ πŸ§ͺ AgmenteUITests/             # iOS UI tests
β”œβ”€β”€ πŸ“– docs/                       # Documentation & screenshots
β”œβ”€β”€ πŸ“‹ Scenarios/                  # User scenario guides
└── βš™οΈ  .github/                    # CI workflows & GitHub config

πŸ”Œ Supported Agents

If it speaks ACP or Codex protocol β€” it works.

Agent Protocol Command
🟒 GitHub Copilot CLI ACP copilot --acp
πŸ”΅ Google Gemini CLI ACP npx @google/gemini-cli --experimental-acp
🟣 Claude Code ACP npx @zed-industries/claude-code-acp
⚫ OpenAI Codex Codex codex app-server --listen ws://...
🟠 Qwen ACP qwen --experimental-acp
πŸ”΄ Mistral Vibe ACP vibe-acp
🟑 Any ACP agent ACP Bring your own!

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        πŸ“± Agmente App                       β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  iOS (Swift)  β”‚  β”‚Android (Kt)  β”‚  β”‚  React Native    β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚         β”‚                 β”‚                    β”‚             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚              Protocol Auto-Detection                  β”‚  β”‚
β”‚  β”‚         (initialize β†’ check userAgent)                β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                 β”‚                  β”‚                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
β”‚  β”‚    ACP Client       β”‚ β”‚    Codex Client            β”‚     β”‚
β”‚  β”‚  session/new        β”‚ β”‚  thread/start              β”‚     β”‚
β”‚  β”‚  session/prompt     β”‚ β”‚  turn/start                β”‚     β”‚
β”‚  β”‚  session/cancel     β”‚ β”‚  turn/interrupt            β”‚     β”‚
β”‚  β”‚  session/list       β”‚ β”‚  thread/list               β”‚     β”‚
β”‚  β”‚  session/load       β”‚ β”‚  thread/resume             β”‚     β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
β”‚             β”‚                     β”‚                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
              β”‚    WebSocket        β”‚    WebSocket
              β–Ό                     β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  ACP Agent      β”‚   β”‚  Codex Server   β”‚
    β”‚  (stdio-to-ws)  β”‚   β”‚  (app-server)   β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🎯 Requirements

  • 🍎 iOS: Xcode (latest stable), macOS, iOS 17+
  • πŸ€– Android: Android Studio, Kotlin 2.0, API 26+
  • βš›οΈ React Native: Node.js 18+, React Native 0.84
  • πŸ”Œ Agent: Any ACP or Codex-compatible server

πŸ”’ Remote Agent Setup

Run your agent on a beefy remote machine. Control it from your phone.

# 🌐 Start agent on remote host
npx -y @rebornix/stdio-to-ws --persist --grace-period 604800 "copilot --acp" --port 8765

# πŸ” Expose via Cloudflare Tunnel
cloudflared tunnel --url http://localhost:8765

# πŸ“± Add wss:// endpoint in Agmente β†’ Connect β†’ Code from anywhere

Full guide: setup.md | Quick reference: docs/remote-agent.md


πŸ§ͺ Tests

# 🍎 iOS app tests
xcodebuild -project Agmente.xcodeproj \
  -scheme Agmente \
  -destination "platform=iOS Simulator,name=iPhone 16" \
  test

# πŸ“¦ ACPClient package tests
swift test --package-path ACPClient

# πŸ€– Android tests
cd AgmenteAndroid && ./gradlew test

πŸ› Troubleshooting

Problem Solution
πŸ”΄ Can't connect to agent Check WebSocket URL scheme (ws:// for local, wss:// for remote)
πŸ”΄ Session creation fails with ENOENT Leave working directory empty, or set a valid path on the agent host
πŸ”΄ Agent disconnects on iOS background Use --persist flag with stdio-to-ws β€” it buffers messages during disconnection
πŸ”΄ Codex protocol not detected Ensure your Codex server returns a codex/… userAgent in initialize response
πŸ”΄ Port already in use Run pkill -9 -f "stdio-to-ws.*8765" to kill stale processes

🀝 Contributing

We welcome contributions! Check the open issues and submit a PR.


⭐ Star This Repo

If you believe AI coding agents should be accessible from anywhere β€” not just your terminal β€” smash that star button. ⭐

Every agent. Every protocol. Every platform. One app.

Stars Forks


Built with SwiftUI, Kotlin Compose, and an unhealthy obsession with mobile agent UX πŸ”¬

They said "just use the terminal." We said "hold my phone." 😏

About

πŸ”₯ Every AI coding agent in your pocket β€” Copilot, Gemini, Claude Code, Codex, Qwen, Vibe β€” iOS, Android & React Native

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Swift 59.5%
  • MDX 15.7%
  • Kotlin 9.7%
  • Java 7.0%
  • HTML 6.1%
  • JavaScript 0.6%
  • Other 1.4%