sherpa_onnx
Speech recognition, speech synthesis, speaker diarization, and speaker recognition using next-gen Kaldi with onnxruntime without Internet connection.
Open-source, local-first AI journal app for iOS and Android. Capture text, photos, and voice — AI agents organize them into timeline cards and insights. Your data stays on your device. Bring your own LLM (OpenAI, Claude, Gemini, Ollama, and more).
Speech recognition, speech synthesis, speaker diarization, and speaker recognition using next-gen Kaldi with onnxruntime without Internet connection.
A Flutter plugin for controlling the camera. Supports previewing the camera feed, capturing images and video, and streaming image buffers to Dart.
Easily set up drift databases across platforms in Flutter apps.
v8.3.0Flutter's №1 non-commercially aimed map client: it's easy-to-use, versatile, vendor-free, fully cross-platform, and 100% pure-Flutter
v1.14.1A video player for Flutter with Cupertino and Material play controls
v10.1.2An image picker (also with videos and audio) for Flutter projects based on WeChat's UI, with full support for customization.
Geolocation plugin for Flutter. This plugin provides a cross-platform (iOS, Android) API for generic location (GPS etc.) functions.
A Flutter plugin to use Google's ML Kit Image Labeling to detect and extract information about entities in an image across a broad group of categories.
A Flutter plugin to use Google's ML Kit Text Recognition to recognize text in any Chinese, Devanagari, Japanese, Korean and Latin character set.
StreamChannel wrappers for WebSockets. Provides a cross-platform WebSocketChannel API, a cross-platform implementation of that API that communicates over an underlying StreamChannel.
Flutter Workmanager. This plugin allows you to schedule background work on Android and iOS.
A Flutter plugin that provides album assets abstraction management APIs on Android, iOS, macOS, and OpenHarmony.
{"sdk":"flutter"}{"sdk":"flutter"}^1.0.6^6.1.0^0.66.0^3.0.0^2.2.4^6.1.0^0.9.0^6.1.1^14.6.2^1.1.2^5.4.0^3.0.1^2.2.2^2.1.1^9.0.0^1.1.0^1.0.7^6.0.0^11.1.0^3.5.0^10.1.0^4.4.4^0.20.2^4.3.3^1.18.0^3.0.7^2.9.1^1.2.0^0.0.25{"path":"plugins/agent_background_android"}^4.0.0^6.6.1^3.1.2^6.5.1^0.7.7+1^2.3.0^13.2.1^4.0.0^0.9.0^2.1.6^0.8.7^2.30.0^0.5.41^0.2.8^1.9.1^0.4.7^3.4.0^3.3.0^2.10.1^1.13.0^1.4.0^4.7.2^2.4.0^0.15.0^0.11.3+1^0.15.1^0.14.2^6.3.2^10.1.4^8.1.7^3.0.01.13.2^14.0.2{"sdk":"flutter"}^3.0.0^1.26.3^2.30.0^2.10.4^0.14.4^2.4.7^2.4.6English project snapshot. Visit GitHub for the latest content.
An open-source, local-first AI journal. Not for writing daily entries — for capturing life in fragments and letting AI organize them.
Website · App Store · Google Play · Discord
Memex is an open-source, local-first AI journal for iOS and Android. It takes a different approach from traditional journaling apps — instead of asking you to sit down and write polished entries, Memex lets you capture life in fragments (text, photos, voice) and uses a multi-agent AI system to organize them into structured cards, build your knowledge base, discover insights, and provide companionship through AI characters.
What "local-first" means here: Your records, cards, and knowledge all stay on your device. There is no Memex server storing your journal. You bring your own LLM provider (OpenAI, Claude, Gemini, DeepSeek, etc.), and your prompts go directly from your phone to that provider — we never see your data. The optional Memex AI service only proxies model requests; it does not store your journal.
[!IMPORTANT] Star Us — you'll get notified of every new release on GitHub ⭐
https://github.com/user-attachments/assets/4da8225e-945c-474c-8540-dc4d7af64a28
https://github.com/user-attachments/assets/5048a9b1-47b2-462a-99f3-6a178e183861
| Provider | API Type | Notes |
|---|---|---|
| Google Gemini | Gemini API | gemini-3.6-flash, gemini-3.1-pro-preview, etc. |
| Google Gemini | OAuth (no API key required) | Sign in with Google account. Unofficial — use at your own risk |
| OpenAI | Chat Completions / Responses API | gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, etc. |
| ChatGPT | OAuth (no API key required) | Sign in with OpenAI account. Unofficial — use at your own risk |
| Anthropic Claude | Claude API | claude-fable-5, claude-opus-5, claude-sonnet-5 |
| AWS Bedrock | Bedrock Claude | anthropic.claude-fable-5, anthropic.claude-opus-5, etc. |
| Memex AI | Managed model access | Optional account-based model access; journal data remains local |
| Kimi (Moonshot) | OpenAI-compatible | kimi-k3, kimi-k2.7-code, etc. |
| Aliyun (Qwen) | OpenAI-compatible | qwen3.8-max, qwen3.7-plus, qwen3.7-flash |
| Volcengine (Doubao) | OpenAI / Responses-compatible | doubao-seed-2-0-pro-260215, doubao-seed-2-0-mini-260428, etc. |
| Zhipu GLM | OpenAI-compatible | glm-5.2, glm-5v-turbo, glm-4.6v |
| DeepSeek | OpenAI-compatible | deepseek-v4-flash, deepseek-v4-pro |
| MiniMax | Anthropic-compatible | MiniMax-M3, MiniMax-M2.7, etc. |
| Xiaomi MIMO | Anthropic-compatible | mimo-v2.5-pro, mimo-v2.5 |
| OpenRouter | OpenAI-compatible | Access multiple providers via one API |
| Ollama | OpenAI-compatible (local) | Run models locally on your device |
Memex requires a configured model service to power its AI features. On first launch:
Memex can optionally attach your current city, district, and neighborhood context to agent conversations. This uses device GPS only; IP-based location is not used.
For local live tests of Amap reverse geocoding, pass the key through an environment variable instead of committing it:
AMAP_GEOCODING_TEST_KEY=your_key flutter test test/data/services/geocoding_service_test.dart
Memex isn't just a recording app — it's a platform that lets you build your own AI agents on your phone.
The same skill-host infrastructure used by Memex's internal workflows is available for custom agents. You can wire agents into local events, give them skills and tools, and decide whether they run inline or as background tasks.
SKILL.md file — a folder of instructions, scripts, and resources that agents discover and use on demand.fetch() for HTTP requests. Call external APIs, transform data, scrape web content — all running locally on your device.dependsOn to build complex workflows. Agent B waits for Agent A to finish before it starts.Custom Agent System
Every agent you create is a first-class citizen — it plugs into the same event bus, uses the same tool system, and has the same capabilities as the built-in agents. The only limit is your imagination.
💡 Learn more about the Skill format: Agent Skills is an open standard originally developed by Anthropic for packaging agent capabilities. Visit the site to understand how to write SKILL.md files and design agent behaviors.
Memex welcomes bug reports, feature ideas, docs improvements, localization, provider adapters, and focused code contributions. Please read CONTRIBUTING.md before opening a large PR.
Opening an issue helps us understand demand, but it does not guarantee implementation.
git clone https://github.com/memex-lab/memex.git
cd memex
flutter pub get
For iOS:
cd ios && pod install && cd ..
flutter run --flavor globalDev
For Android local development, prefer globalDev / cnDev; they use isolated package IDs and app data. global / cn are Stable builds, and globalEarly / cnEarly are Android Early builds.
| Layer | Technology |
|---|---|
| Framework | Flutter (Dart ≥ 3.6) |
| Platforms | iOS, Android |
| Database | Drift (SQLite) |
| State Management | Provider + MVVM |
| LLM Providers | Gemini, OpenAI, Claude, Bedrock, Memex AI, Kimi, Qwen, Doubao, GLM, DeepSeek, MiniMax, MIMO, OpenRouter, Ollama |
| Agent Framework | dart_agent_core |
lib/
├── agent/ # Multi-agent system
│ ├── super_agent/ # Conversational orchestrator and child agents
│ ├── skills/ # Timeline card, PKM, insight, schedule, memory skills
│ ├── comment_agent/ # Character comments
│ ├── companion_agent/ # 1v1 companion chat
│ ├── memory/ # Long-term memory services
│ ├── pure_skill_host_agent/ # Custom pure skill host
│ └── memex_skill_host_agent/ # Custom Memex-aware skill host
├── data/ # Repositories & services
├── db/ # Drift database schema
├── domain/ # Domain models
├── l10n/ # i18n (en, zh, zh_Hant, de, ja, ko, es, hi, ar, pt, fr, id, fa, vi, th, tr, ru)
├── llm_client/ # LLM client abstraction layer
├── ui/ # Presentation layer (MVVM)
└── utils/ # Shared utilities
User Input (text/image/voice/shared files)
↓
Asset preparation (transcription, document text extraction, image encoding, metadata)
↓
Memex Agent orchestration
↓
Specialist skills or child agents as needed:
- timeline_card → Cards YAML + UI config
- pkm → P.A.R.A Markdown knowledge base
- schedule → Schedule state
- knowledge_insight → Cross-record insight cards
↓
Background tasks:
- character comments
- long-term memory curation
- event-driven custom agents
↓
Local Storage (filesystem + SQLite)
Contributions are welcome. Please open an issue first to discuss what you would like to change.
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)This project is licensed under the GPL-3.0 License — see the LICENSE file for details.