sherpa_onnx
使用下一代 Kaldi 和 onnxruntime 实现离线语音识别、语音合成、说话人分离和说话人识别。
开源的本地优先AI日记应用,支持iOS和Android。捕捉文字、照片和语音——AI代理将它们整理成时间线卡片和洞察。您的数据始终保留在设备上。使用您自己的LLM(OpenAI、Claude、Gemini、Ollama等)。
使用下一代 Kaldi 和 onnxruntime 实现离线语音识别、语音合成、说话人分离和说话人识别。
一个用于控制相机的 Flutter 插件。支持预览相机画面、拍摄照片和视频,并将图像缓冲区流式传输到 Dart。
在 Flutter 应用中轻松跨平台设置 drift 数据库。
v8.3.0Flutter 的首选非商业地图客户端:易于使用、功能多样、无供应商依赖、完全跨平台,且 100% 纯 Flutter
v1.14.1一个带有 Cupertino 和 Material 播放控件的 Flutter 视频播放器
v10.1.2一个基于微信 UI 的 Flutter 项目图像选择器(支持视频和音频),完全支持自定义。
Flutter 的地理定位插件。此插件为通用位置(GPS 等)功能提供跨平台(iOS、Android)API。
一个 Flutter 插件,用于使用 Google 的 ML Kit 图像标记功能来检测和提取图像中各类实体的信息。
一个 Flutter 插件,用于使用 Google 的 ML Kit 文本识别功能来识别任何中文、天城文、日文、韩文和拉丁字符集中的文本。
WebSockets 的 StreamChannel 包装器。提供跨平台的 WebSocketChannel API,以及基于底层 StreamChannel 通信的跨平台 API 实现。
Flutter Workmanager。此插件允许您在 Android 和 iOS 上安排后台工作。
一个 Flutter 插件,为 Android、iOS、macOS 和 OpenHarmony 提供相册资源抽象管理 API。
{"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.6以下为英文项目原文快照,最新内容请访问 GitHub。
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.