Native Android app for Hermes Agent with local inference. No more Termux hell.
ChatGPT-quality mobile UX for local AI. Your conversations stay on your phone (qwen2.5:7b or whatever model you want), with smart routing to external APIs only for tasks that actually need them (image generation, heavy code analysis).
Currently running Hermes Agent through Termux sucks:
- Android kills it randomly
- Config editing on phone keyboard is pain
- Model switching requires terminal commands
- Not a product normal humans can use
This fixes that.
What exists now:
- Project structure
- FastAPI gateway
- React Native scaffold
- Chat UI
- Message streaming
- Conversation management
What's coming:
- Phase 2: Memory & skills visual editor
- Phase 3: Model manager (Ollama + HuggingFace downloads)
- Phase 4: Eliminate Termux dependency (Chaquopy)
See full roadmap for details.
- π¬ Native chat interface β Streaming responses, markdown rendering, conversation history
- π Privacy-first β Personal data stays local, APIs only for specific tasks
- π¦ Model manager β One-tap downloads from Ollama/HuggingFace, storage/RAM calculator
- π§ Memory system β Visual timeline of learned facts, edit/delete/search
- π οΈ Skills hub β Browse, enable, import custom skills
- π MCP integration β Connect external tools
- π OLED dark mode β True black for battery life
- π₯οΈ Cross-platform β Android first, desktop (Tauri) later
βββββββββββββββββββββββββββββββββββββββ
β React Native (Expo) β
β Chat UI + Model/Memory Manager β
βββββββββββββββββββββββββββββββββββββββ
β HTTP/WebSocket
βββββββββββββββββββββββββββββββββββββββ
β FastAPI Gateway (Python) β
β Routing + State Management β
βββββββββββββββββββββββββββββββββββββββ
β
ββββββββββββββββ¬βββββββββββββββ¬βββββββββ
β Hermes Agent β Ollama β SQLite β
β (Python) β (Local LLM) β (Data) β
ββββββββββββββββ΄βββββββββββββββ΄βββββββββ
Tech Stack:
- Frontend: React Native (Expo), TypeScript, Zustand
- Backend: FastAPI, Python 3.11+
- Inference: Ollama (local) + configurable API routing
- Storage: SQLite + local files
β οΈ Phase 1 is incomplete. These instructions will work once MVP is ready.
- Android phone with 8GB+ RAM
- Termux installed
- Hermes Agent installed in Termux (guide)
- Node.js 18+ (for development)
1. Clone and setup gateway:
cd gateway
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python main.py # Starts on localhost:87652. Run mobile app:
cd mobile
npm install
npm start
# Scan QR code with Expo Go app3. Connect to gateway:
Open app β Settings β Enter gateway URL: http://YOUR_PHONE_IP:8765
See CONTRIBUTING.md for development setup.
Project structure:
hermesapp/
βββ mobile/ # React Native app
βββ gateway/ # FastAPI backend
βββ desktop/ # Tauri desktop app (Phase 4)
βββ docs/ # Documentation
βββ scripts/ # Setup/deployment scripts
Run tests:
# Gateway
cd gateway && pytest
# Mobile
cd mobile && npm testHermes Agent is incredible but Termux UX is terrible for daily use. This makes it actually usable for non-terminal people while keeping the privacy benefits of local inference.
Design goals:
- Zero compromise on UX (match ChatGPT mobile app quality)
- Privacy by default (local first, APIs optional)
- No vendor lock-in (swap models/APIs anytime)
- Actually maintainable (clean architecture, not a hackathon project)
- Native chat UI with streaming
- Conversation management
- Basic settings
- Model switching
- Visual memory timeline
- Skills manager
- MCP integration
- Browse Ollama library
- One-tap downloads
- HuggingFace integration
- Storage management
- Eliminate Termux (Chaquopy)
- Desktop version (Tauri)
- Beta testing
Total timeline: ~5 months to v1.0
See detailed PRD for full specs.
This is early. Here's how you can help:
Right now:
- Try the architecture and tell me if it's stupid
- Review the PRD and suggest changes
- Open issues for must-have features I'm missing
Soon (once Phase 1 works):
- Fix bugs
- Add features
- Improve UI/UX
- Write tests
Guidelines:
- Read CONTRIBUTING.md first
- Open an issue before big PRs
- Keep PRs small and focused
- Write tests for new features
Q: Why not just use ChatGPT/Claude mobile apps?
A: Your data goes to their servers. This keeps everything local.
Q: Why not just use Termux?
A: Try editing JSON configs on a phone keyboard. Also Android kills Termux constantly.
Q: React Native or Flutter?
A: React Native for now. Might port to Flutter if performance sucks.
Q: Will this work on iOS?
A: No. Ollama doesn't run on iOS. This is Android + Desktop only.
Q: When can I install this?
A: Phase 1 MVP in ~6-8 weeks. Follow for updates.
Q: Can I use my own API keys (OpenAI, Anthropic, etc.)?
A: Yes (Phase 3). The whole point is routing: local for personal stuff, APIs for heavy tasks.
Q: Is this affiliated with Nous Research?
A: No, just a wrapper around their excellent Hermes Agent.
MIT - see LICENSE
Built on top of Hermes Agent by Nous Research.
Follow development:
- π¦ Reddit: r/androiddev (will post updates)
- π¬ Issues: GitHub Issues
- π Project Board: [Coming soon]
- Hermes Agent - The AI agent this wraps
- Ollama - Local inference engine
- Everyone who gave feedback on the initial Reddit post
Current status: Planning β Building β Testing β Shipping
Star this repo if you want local AI that doesn't suck on mobile. π
CONTRIBUTING.md (basic version):
# Contributing
This project is in early development. Here's how to help:
## Development Setup
1. **Prerequisites:**
- Node.js 18+
- Python 3.11+
- Android Studio (for emulator)
- Hermes Agent installed
2. **Clone and install:**
```bash
git clone https://github.com/DarkWingstudio/hermesapp
cd hermesapp
# Gateway
cd gateway && pip install -r requirements.txt
# Mobile
cd mobile && npm install- Run locally:
- Terminal 1:
cd gateway && python main.py - Terminal 2:
cd mobile && npm start
- Terminal 1:
- Open an issue before big features
- Keep PRs focused (one feature/fix per PR)
- Write tests for new code
- Follow existing code style
- Be nice
Open an issue or DM me on Reddit: DarkWingStudio
Ship this README as your first commit. Update it as you build. Don't wait for perfection.