Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

Nomily AI

Recorder → Nomily AI → Your API Key → Your AI

Nomily AI BYOK voice recording workflow from recorder to transcript, summary, and AI provider

iOS and Apple Watch client Android client Bring your own key Nomily AI on the US App Store Source-available licence

English · 简体中文 · 繁體中文

BYOK voice-recording companion for V05E, Apple Watch, and iPhone imports — ASR transcription, speaker diarization, AI summaries, and local ASR endpoint support.

Nomily AI brings recordings into a native client, transcribes them with a provider you configure, and generates a summary with an AI provider you choose.

This repository is the project entry point. The runnable native clients live in nomily-ios and nomily-android.

Quick links

📱 iPhone app🌐 Online demo🎥 Video demos𝕏 Updates📚 Documentation
Download on the US App StoreTry the fixed-data previewNomily AI on YouTube Shorts@nomilyaiGeekis.com

Choose your path

Build or needStart here
Build for iPhone or Apple Watchnomily-ios
Install Nomily AI on iPhoneDownload on the US App Store
Build for Androidnomily-android
Explore the workflow without a device, key, or uploadTry the fixed-data demo
Get help, report a documentation issue, or ask about licensingSUPPORT.md · nomily@geekis.com

This repository is not an installable client or a Docker deployment. Read the client-specific build instructions before starting a local build.

What is Nomily AI?

Nomily AI is not a hosted transcription account or a shared recording cloud. It is a native companion workflow for recordings and user-configured AI services. The app keeps the choice of transcription and summary provider with the user.

The public repositories provide source for inspection and local builds. Store availability may vary by storefront and version; source commits do not promise device/firmware compatibility or a production service release.

What it does today

  • Connects to the V05E BLE recorder workflow, downloads recordings, and manages a local recordings library.
  • Imports recordings on iPhone, including recordings transferred from the Apple Watch companion.
  • Transcribes live or recorded audio through Azure Speech or a user-operated local faster-whisper-compatible ASR endpoint; Azure transcription enables speaker diarization for up to 10 speakers.
  • Generates summaries, titles, and translations with a configured LLM provider: OpenAI, Anthropic, Gemini, OpenRouter, Ollama, or a custom OpenAI-compatible endpoint.
  • Provides native iOS / Apple Watch and Android implementations rather than a cross-platform wrapper.

Privacy and provider boundaries

Nomily AI is not a hosted transcription account or a shared recording cloud. API keys are supplied by the user and must never be committed. Keep recordings, transcripts, device identifiers, logs, generated configuration files, and access credentials out of issues and pull requests.

Service layerData sent in a configured workflowWho provides it
Nomily AI clientRecording library, transfer state, and generated files on the clientYou install and operate the client.
Azure SpeechAudio for transcription, when Azure is selectedYour Azure account and key.
Local ASR endpointAudio for transcription, when a local endpoint is selectedYou operate the endpoint.
LLM providerTranscript text needed for summary, title, or translationYour selected provider, model, endpoint, and key.

The public repositories do not include a shared Nomily AI cloud, a bundled provider account, or a complete self-hosted sync stack. Local ASR and Ollama are provider integrations, not a claim that every product layer is self-hosted.

How it works

V05E recorder / Apple Watch / audio imported on iPhone
                  │
                  ▼
        Nomily AI native client
  local library · transfer · playback
                  │
        ┌─────────┴──────────┐
        ▼                    ▼
Azure Speech or        Your LLM provider
local ASR endpoint     summary · title · translation
diarization when       OpenAI · Anthropic · Gemini
Azure is selected      OpenRouter · Ollama · compatible endpoint
        │                    │
        └─────────┬──────────┘
                  ▼
         Transcript and summary

Nomily AI BYOK data flow showing user-configured ASR and AI providers

Advanced: run ASR and an LLM on your own network

This is an optional advanced setup, not a complete self-hosted Nomily stack. Run both services on a trusted computer on the same private Wi-Fi as the phone; do not expose either service to the public internet.

1. Local Whisper transcription

The included reference service implements the exact Local ASR Server contract: WebSocket port 12300 for live audio and HTTP port 12301 for recording files. It needs Python 3.10+ and ffmpeg (brew install ffmpeg on macOS, or sudo apt install ffmpeg python3-venv on Ubuntu/Debian).

git clone https://github.com/Nomily-Ai/nomily-app.git
cd nomily-app/examples/local-asr-server
python3 -m venv .venv && source .venv/bin/activate
pip install -r nomily_local_asr/requirements.txt
python -m nomily_local_asr --host 0.0.0.0 --port 12300 --http-port 12301 --model small --lang auto

The first run downloads the Whisper model. Follow the complete local ASR reference guide, including a local curl test and firewall notes.

2. Local Ollama summaries

Install Ollama from ollama.com/download, then download a model:

ollama pull qwen3:8b
# Linux foreground service; bind to LAN only when the phone must reach it.
OLLAMA_HOST=0.0.0.0:11434 ollama serve

If Ollama is managed by its desktop app or a service manager, set its OLLAMA_HOST environment variable to 0.0.0.0:11434 and restart that service. This makes it reachable on the LAN; it does not add authentication.

3. Find the computer address and fill in Nomily AI

Keep the phone and computer on the same Wi-Fi, then run one of these commands:

# macOS
ipconfig getifaddr en0
# Linux
hostname -I

If the computer prints 192.168.1.20, enter the following in the phone app:

Nomily AI screenFieldValue to enter
Settings -> ASR providers -> Local ASR ServerHost192.168.1.20
Port12300
Settings -> LLM providers -> OllamaEndpoint URLhttp://192.168.1.20:11434
Modelqwen3:8b (or a model returned by Verify)

Do not use localhost or 127.0.0.1 in the phone app: those addresses point to the phone, not to the computer. The ASR client automatically sends complete files to port 12301. Allow inbound LAN connections to ports 12300, 12301, and 11434 only when the corresponding service is running.

Recording input support

InputCurrent source statusNotes
V05E recorderImplemented in both clientsPrimary BLE recording input; compatibility still depends on the actual device and firmware under test. View on Amazon
TicNote NE-79Physical-device validation in progress on iOSRecorder-protocol work is in progress. It is not publicly supported until recording, transfer, and transcription complete on physical hardware.
Apple Watch microphoneImplemented in nomily-iosThe watchOS companion records on Watch and transfers recordings to the paired iPhone client.
Audio imported on iPhoneImplemented in nomily-iosiPhone is an import, management, transcription, and summary client.
Other recorder modelsNot committedA model is not supported merely because it can record audio.
Android Watch companionNot publishedDo not infer a Wear OS client from the Android app source.

Nomily AI recording input support and future-device boundary

See the expandable device compatibility matrix before assuming a recorder model is supported.

Apple Watch companion

After Nomily AI is installed on the paired iPhone, install its Watch companion:

  1. Open the Watch app on iPhone and scroll to Available Apps.
  2. Find Nomily AI and tap Install.
  3. In Nomily AI on iPhone, open Settings → Apple Watch and confirm it shows Installed.
  4. Open Nomily AI on Apple Watch and record when V05E is not with you. The recording syncs to the iPhone Nomily AI app for transcription, organization, and summaries.
Install from Watch AppConfirm in Nomily AI settingsRecord on Apple Watch
iPhone Watch app showing Nomily AI with an Install buttonNomily AI settings showing Apple Watch installedNomily AI ready to record on Apple Watch

Planned or not published

ItemStatus
Other recorder models and protocolsCompatibility is not committed until tested with the relevant firmware.
Android Watch companionNot published.
RAG, MCP, shared self-hosted syncNot represented by the current public client source; not an announced capability.
Online no-key demoA fixed-data preview is live at Geekis.com/demo. It does not upload audio, call ASR or LLM services, or store keys.

Repository map

RepositoryRoleRelationship
nomily-appProject entry, cross-project documentation, licence, and preview assetsStart here. It does not contain an installable client by itself.
nomily-iosSwiftUI client for iPhone and Apple WatchIts own native project, build instructions, and issue tracker.
nomily-androidKotlin / Jetpack Compose client for AndroidIts own native project, build instructions, and issue tracker.
nomily-sitePrivate static-site deployment sourceHosts setup and demo material; it is not a mobile-client source repository.

Build and project layout

The clients share product concepts and protocol expectations, but are separate native implementations. Review the relevant repository before choosing a build path:

nomily-app/       project map, licence, public preview assets
nomily-ios/       iOS app, Watch companion, BLE / ASR / local library modules
nomily-android/   Android app and core protocol, crypto, audio, ASR, LLM modules
nomily-site/      private static deployment source for guides and the demo
GoalStart here
Build for iPhone or Apple Watchnomily-ios — macOS, Xcode 15+, and a physical iPhone; Apple Watch optional.
Build for Androidnomily-android — JDK 21, Android Studio or Gradle, and a physical Android phone.
Report a defectOpen an issue in the affected native-client repository with redacted reproduction steps.
Need support or have a project-entry questionRead SUPPORT.md or email nomily@geekis.com.
Review termsRead the Nomily Small Team License.

App preview

RecordingsTranscription providersLLM providers for summaries
Nomily AI recordings libraryNomily AI transcription provider settingsNomily AI LLM provider and model selection

Screens use synthetic or non-sensitive preview data. Review media/README.md before reusing product imagery or brand assets.

Android workflow gallery

Recording detailASR configurationLLM configurationSummary templates
Android recording detail with transcript and export actionsAndroid ASR provider settings with a masked key fieldAndroid LLM provider configuration using placeholder valuesAndroid summary templates

These screenshots use non-sensitive preview data. They show the Android client workflow and do not promise provider availability, device compatibility, or store release availability.

Licence

The source is available under the Nomily Small Team License 1.0.0. It permits personal use and company use by teams of up to 10 people; larger teams need a separate paid licence. Contact nomily@geekis.com for commercial licensing. This is a source-available licence, not an OSI-approved open-source licence.

Brand assets under media/ are excluded from that licence; see media/README.md.

Community and security

Read CONTRIBUTING.md before proposing a change. For general help, use SUPPORT.md. Report vulnerabilities privately according to SECURITY.md, never in a public issue.

Star history

Star History Chart

关于 About

BYOK voice recording companion with ASR transcription, speaker diarization, AI summaries, and local ASR endpoint support.
ai-audioandroidapple-watchasrbluetooth-low-energybyokdiarizationiosjetpack-composekotlinprivacyspeech-to-textswiftuitranscriptionvoice-summarywhisper

语言 Languages

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
22
Total Commits
峰值: 12次/周
Less
More

核心贡献者 Contributors