DeepSeek Harness Remote
DeepSeek Harness Remote 可將手機或另一台電腦與你運行 DeepSeek Harness 的電腦安全連接,隨時隨地繼續你的工作,方便隨時查看進度並繼續工作。
AI 翻譯
Fast, private, local-first voice app for Apple Silicon Macs — dictation, file/media transcription, meeting recording, Transforms, and a public automation CLI. Free and open-source.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗MacParakeet combines system-wide dictation, file/media transcription, and meeting recording in one local-first app, with optional selected-text Transforms and agent automation through macparakeet-cli. Parakeet v3 is the standard-path local speech engine; locale-aware first-run setup selects WhisperKit instead when the Mac has no preferred English language and prefers Korean, Japanese, Chinese, or Cantonese. Parakeet v2/Unified, Nemotron Beta, Cohere Transcribe, and WhisperKit remain selectable local choices for different language, latency, timestamp, and accuracy needs. Version 0.8.10 is the current stable DMG and bundles CLI 5.1.0. It includes speaker-count selection, transcript find and replace, additional dictation shortcuts, and meeting-capture recovery improvements; see the 0.8.10 release notes. This source revision adds opt-in Beta meeting recording reminders for the next app release. All speech recognition happens on your Mac; networked AI features are separate and opt-in.
The notarized DMG is the stable release channel.
| Channel | Status | Includes |
|---|---|---|
Stable DMG 0.8.10 | Recommended for normal use; published October 14, 2026 | Capture, editing, Library, speaker-count selection, transcript find and replace, optional second dictation shortcut, opt-in meeting URL controls, and bounded meeting memory. Apple Intelligence serves cleanup only. Includes CLI 5.1.0. See the 0.8.10 release notes. |
| Development source (this revision) | Advances beyond the published 0.8.10 app; reminder feature targets the next app release | Adds opt-in Beta meeting recording reminders, default off and available in Release builds of this source, with no automatic activity-based recording. Also adds opt-in dictation URL controls, configurable dictation cues, saved-meeting finalization/recovery fixes, AEC reference lookahead, split-stream YouTube playback, keyboard-event isolation, knowledge-card recovery, and Settings/vocabulary fixes. See the release/flag table; merged code is not a new stable release. |
See the canonical release and feature-gate status. This source adds opt-in Beta meeting recording reminders under Settings → Capture → Meetings for the next app release. The published stable 0.8.10 download does not include these reminders. App-aware AI Formatter profiles and the in-process MLX LLM remain gated; source presence does not mean they are available in the stable app.
Meeting calendar support is live in the stable DMG. MacParakeet reads upcoming meetings from the local macOS Calendar store through EventKit, including Microsoft 365 and Exchange calendars enabled in System Settings → Internet Accounts. It can show reminders and optionally start a recording after a countdown. Auto-start defaults to .off and must be opted into. Recordings stop manually unless the separate activity-based auto-stop setting is enabled; that setting also defaults off.
The feature descriptions below cover current source. Gated or unreleased surfaces are called out in the canonical status table.
Dictation — Press a hotkey in any app, speak, text gets pasted. Hold for push-to-talk, or tap the hands-free shortcut to start and stop longer dictations. Works system-wide. The default uses Fn, but Settings -> Dictation can bind external-keyboard-friendly keys such as F13/F19 or End, modifier+key shortcuts, or modifier-only chords like Control+Option. An optional second push-to-talk and hands-free pair under Additional shortcuts stays active alongside the first, so Fn on the Mac keyboard and another key on an external keyboard both work. A beta setting can pause supported Now Playing media while you dictate and resume it when capture stops.
File & URL transcription — Drag one or many audio/video files, drop a folder, use the multi-select picker, or paste a supported media or podcast link. YouTube, X, Vimeo, TikTok, Instagram, Facebook, and other sites handled by yt-dlp are supported subject to upstream site changes; the card recognizes known platforms as you paste. Apple Podcasts links resolve through the iTunes lookup API to the episode's audio enclosure (no scraping), then download and transcribe locally just like a YouTube video. The CLI also does freetext podcast search — macparakeet-cli transcribe --podcast "Lex Fridman episode 400" searches the iTunes directory, parses the show's RSS feed, picks the episode, and transcribes it. Local-file batches run sequentially, keep finished results in the Library, and can be cancelled as a group. Full transcript output includes word-level timestamps and speaker labels when the selected speech engine provides timings; Cohere produces plain text only. Completion chime/banner and export to 8 formats (TXT, Markdown, SRT, VTT, DAPT, DOCX, PDF, JSON) are supported. Assign global hotkeys to trigger File or URL transcription from anywhere.
Meetings — Record system audio and microphone together, or pick microphone-only or system-only capture (microphone-only needs no Screen Recording permission). See a live local transcript preview, take notes during the call, then save the finalized transcript to the library with export, prompts, and chat. Import an existing audio or video recording as a normal meeting while leaving the original file unchanged, or split a saved meeting into independently owned parts. Choose how long MacParakeet keeps its managed meeting audio: keep it, auto-delete after a set number of days, or remove it right after transcription.
Meeting calendar support — Grant Calendar access to get local reminders for upcoming meetings or opt into auto-start. MacParakeet uses calendars already configured on this Mac through EventKit; Microsoft 365 and Exchange work when Calendar is enabled for the account in System Settings → Internet Accounts. Settings can open that pane and refresh the visible calendar list. Skip auto-record for one occurrence or a repeating series without turning auto-start off globally. MacParakeet does not add Google or Microsoft sign-ins and cannot read calendars stored only inside Outlook. Recordings stop manually unless you separately enable activity-based auto-stop.
Text cleanup — Filler word removal, custom word replacements, text snippets with triggers. Deterministic pipeline, no LLM needed.
AI features — Optional summaries, chat, AI formatter, and Transforms for rewriting selected text through your configured provider. Connect a cloud provider (OpenAI, Anthropic, Gemini, OpenRouter, Moonshot/Kimi, DeepSeek, Qwen, Z.AI, MiniMax), local runtime (Ollama, LM Studio), an OpenAI-compatible endpoint, or a CLI tool (Claude Code, Codex). Apple Intelligence on macOS 26 serves the cleanup route only, on eligible Macs. Entirely opt-in.
The current ASR benchmark lives in benchmarks/asr/. It scores every engine through the same normalizer, uses full LibriSpeech test-clean + test-other for English, uses capped FLEURS slices for multilingual coverage, and reports hardware-specific speed/memory on an Apple M4 Pro with 48 GB RAM on macOS 15. Run benchmarks/asr/run_all.sh verify to re-score the committed hypotheses and validate the benchmark contract.
English accuracy, full LibriSpeech sets:
| Engine | Runtime | Macro WER | test-clean WER | test-other WER |
|---|---|---|---|---|
| Cohere Transcribe q8 | FluidAudio CoreML | 2.07% | 1.49% | 2.65% |
| Parakeet Unified | FluidAudio CoreML | 2.38% | 1.64% | 3.13% |
| Parakeet v2 | FluidAudio CoreML | 2.57% | 1.86% | 3.27% |
| Whisper large-v3 turbo | WhisperKit | 3.00% | 1.96% | 4.04% |
| Parakeet v3 default | FluidAudio CoreML | 3.22% | 2.31% | 4.14% |
| Nemotron English Beta | FluidAudio CoreML | 3.70% | 2.40% | 5.01% |
| Nemotron Multilingual Beta | FluidAudio CoreML | 5.17% | 3.17% | 7.16% |
Multilingual coverage, FLEURS first 150 utterances per language. English is WER; Korean, Japanese, and Chinese are CER:
| Engine | en | ko | ja | zh | Notes |
|---|---|---|---|---|---|
| Cohere Transcribe q8 | 4.69 | 7.15 | 5.56 | 12.49 | Best Japanese; clean English/Korean/Chinese are statistical ties with the best alternative |
| Whisper large-v3 turbo | 5.71 | 6.37 | 13.42 | 11.56 | Light broad-language fallback |
| Nemotron Multilingual Beta | 7.08 | 9.32 | 15.29 | 19.47 | Still Beta by quality evidence |
| Parakeet v3 default | 4.40 | 171.2 | 159.2 | 124.1 | Works for supported European languages; fails CJK/Korean here by romanizing output |
Speed and memory, same Apple M4 Pro micro-benchmark:
| Engine family | Cold start | Steady throughput | Peak RSS |
|---|---|---|---|
| Parakeet v2/v3/Unified | 0.38-0.93 s | ~81-93x realtime | 115-131 MB |
| Nemotron EN/Multilingual Beta | 0.70-0.87 s | ~57-61x realtime | 141-142 MB |
| Whisper large-v3 turbo | 2.29 s | ~14x realtime | 274 MB |
| Cohere Transcribe q8 | ~73 s | ~11x realtime | ~11.6 GB |
Cohere is the most accurate on-device engine in this benchmark, but its statistically clear wins are noisy English and Japanese. Clean English, Korean, and Chinese are ties with the best alternative under the paired-bootstrap test. Parakeet remains the default because it is fast, low-memory, timestamped, and strong on supported languages. Cohere is opt-in for accuracy-critical batch work on 16 GB+ Macs. The Cohere speed/memory row is a reference measurement; see benchmarks/asr/ for method notes.
Download: Grab the notarized DMG or visit macparakeet.com. Drag to Applications, done.
On the standard path, first launch downloads the default Parakeet CoreML build (~465 MB) plus speaker-detection assets (~130 MB) as needed. Locale-aware Korean/Japanese/Chinese/Cantonese setup downloads WhisperKit instead when no preferred English language is present. Parakeet v2 and v3 cache independently if you install both. Core dictation, local-file transcription, and meeting recording can work offline after required models are installed; media imports, updates, telemetry, and cloud/remote AI providers still require a network.
The DMG is the stable release.
Mac app (Homebrew cask):
brew install --cask macparakeet
This is the official homebrew/cask
entry — no tap required. It installs the same notarized DMG as the direct
download, and in-app updates continue through Sparkle.
Standalone CLI (Homebrew):
brew install moona3k/tap/macparakeet-cli
macparakeet-cli --version
macparakeet-cli health --json
The Homebrew formula installs the public macparakeet-cli surface plus
Homebrew-managed ffmpeg and yt-dlp. It shares the same local database and
model cache as the app.
Build from source:
git clone https://github.com/moona3k/macparakeet.git
cd macparakeet
swift test
scripts/dev/run_app.sh # build, sign, launch
The dev script creates a signed .app bundle so macOS grants mic and accessibility permissions. It disables target-level Xcode signing, then signs the finished bundle with the best available local identity. Override with MACPARAKEET_CODESIGN_IDENTITY="Your Identity" if needed.
macparakeet-cli is the public automation surface for MacParakeet: the canonical Swift-native interface to Parakeet TDT on Apple Silicon, plus the scriptable entry point for MacParakeet's local library, model cache, prompts, meetings, and JSON contracts. Use integrations/README.md for the agent-facing automation guide and Sources/CLI/CHANGELOG.md for compatibility notes.
Discover the installed binary's machine-readable command catalog. The examples describe current development; the stable bundled CLI and independently released Homebrew CLI may expose an earlier catalog:
macparakeet-cli spec --json
macparakeet-cli health --json
Transcribe files, folders, media URLs, or podcasts:
macparakeet-cli transcribe /path/to/audio.mp3
macparakeet-cli transcribe /path/to/audio.mp3 --format transcript --no-history
macparakeet-cli transcribe lecture1.m4a lecture2.m4a --output-dir Transcripts --format transcript
macparakeet-cli transcribe --podcast "Lex Fridman episode 400" --format json
macparakeet-cli transcribe /path/to/meeting.m4a --engine nemotron --language auto --format json
macparakeet-cli transcribe /path/to/japanese.m4a --engine cohere --language ja --format json
macparakeet-cli transcribe /path/to/korean.mp3 --engine whisper --language ko --format json
Manage local models and shared app/CLI defaults:
macparakeet-cli models download nemotron-multilingual-1120ms
macparakeet-cli models download cohere-transcribe
macparakeet-cli models download whisper-large-v3-v20240930-turbo-632MB
macparakeet-cli models list
macparakeet-cli models select parakeet-v3
macparakeet-cli config set parakeet-model v2
macparakeet-cli models status
Manage the same prompts used by the app, including collections and versioned inference settings:
macparakeet-cli prompts list --json
macparakeet-cli prompts collections list --json
macparakeet-cli prompts collections add --name "Customer meetings" --json
macparakeet-cli prompts set "Summary" --collection <collection-uuid> --json
macparakeet-cli prompts set "Summary" --temperature 0.3 --max-tokens 2048 --json
macparakeet-cli quick-prompts list --json
macparakeet-cli transforms list --json
Collections organize prompts; recording labels classify recordings and can control prompt availability. Live Ask quick prompts ask questions during a meeting, transcript prompts generate saved outputs, and Transforms rewrite selected text. See the agent guide for editing, version history, collection ordering, and isolated-database examples.
Inspect and update local history, saved meetings, and agent-readable artifacts:
macparakeet-cli history transcriptions --json
macparakeet-cli search '"design review"' --json
macparakeet-cli transcript <id> --around-seq 18 --context 2 --json
macparakeet-cli cards list --source meeting --json
macparakeet-cli retranscribe <id-or-prefix-or-title> --update --json
macparakeet-cli meetings list --json
macparakeet-cli meetings import /path/to/historical-meeting.m4a --started-at 2026-05-14 --json
macparakeet-cli meetings show <meeting-id> --json
macparakeet-cli meetings artifact <meeting-id> --json
macparakeet-cli meetings export <meeting-id> --stdout --format json
Use --format transcript for transcript-only stdout in shell pipelines. Add --no-history when you want a one-off transcription without saving a completed row to MacParakeet history. Multiple inputs or --output-dir write one transcript file per input. models list and models select inspect or update the shared speech default used by the app and --engine app-default; Parakeet rows are parakeet-v3, parakeet-v2, and parakeet-unified, Nemotron rows are nemotron-multilingual-1120ms and nemotron-english-1120ms, Cohere is cohere-transcribe, and Whisper rows use the configured whisper-* model id. The Nemotron, Cohere, and Whisper CLI commands above require their local models to be downloaded first. When developing from source, prefix the same commands with swift run.
| Layer | Choice |
|---|---|
| STT | Parakeet via FluidAudio CoreML (v3 standard-path default, v2 English-only opt-in, unified English-only punctuated opt-in) + local Nemotron Beta, Cohere Transcribe, and WhisperKit engines; locale-aware CJK/Korean onboarding can select WhisperKit initially |
| STT orchestration | Shared runtime + explicit scheduler with a reserved dictation slot and a shared meeting/file slot; speech-engine routing and meeting-session pinning |
| Language | Swift 6 language mode (package tools-version 5.9) + SwiftUI |
| Database | SQLite via GRDB |
| Auto-updates | Sparkle 2 |
| Media URLs | yt-dlp |
| Podcasts | Apple Podcasts via iTunes lookup API + native enclosure downloader |
| Platform | macOS 14.2+, Apple Silicon |
The Vocabulary panel controls how dictated text is cleaned up before pasting. No AI involved — it's a fast, deterministic pipeline that runs in under 1ms.
You choose between two processing modes:
The Clean pipeline applies these steps in order:
C++ and .NET match on their own but not inside C++17 or x.NET. Words can be toggled on/off without deleting.When dictation history is enabled, saved entries retain the raw transcript and any processed result so you can inspect what changed.
AI features are entirely opt-in and separate from speech recognition — transcription is always local. Configured providers receive text context (transcripts, notes, selected text, or chat as required by the feature), never captured audio.
What it does:
Control-Option-1 for Polish, to rewrite the selection through your configured LLM provider.Supported providers:
| Type | Options |
|---|---|
| Cloud | Anthropic (Claude), OpenAI, Google Gemini, OpenRouter, Moonshot (Kimi), DeepSeek, Qwen, Z.AI, MiniMax |
| Local | Ollama, LM Studio, Apple Intelligence for the cleanup route only (macOS 26, eligible Macs, no API key) |
| Custom | OpenAI-Compatible (any API-shaped endpoint — vLLM, LocalAI, LiteLLM, llama.cpp server, third-party hosts) |
| CLI subprocess | Claude Code, Codex, or another configured command |
Setup: In Settings → AI Provider, pick a provider, enter an API key (cloud) or confirm the local server/CLI command is available, select a model, and hit Test Connection. Cloud providers store keys in the macOS Keychain. Ollama and LM Studio can keep LLM inference on-device. CLI subprocess providers run the configured command locally, but that command may contact its own cloud service.
All speech recognition runs locally. Parakeet uses the Neural Engine; optional Nemotron Beta, Cohere Transcribe, and WhisperKit engines also run on-device. Your audio never leaves your Mac.
What does use the network: Configured LLM features (including opted-in automatic prompts, formatter, titles, and knowledge cards) send text context to the chosen provider, or whatever service a configured CLI tool uses. Model setup downloads required assets; Sparkle checks for app updates. Media imports use yt-dlp, the public iTunes directory/RSS feeds, and episode downloads. Telemetry/crash reports go to our self-hosted endpoint unless you opt out. Discover independently requests https://macparakeet.com/api/discover.json at app launch by default, even when telemetry is disabled and the Discover page is unopened; it falls back to cached/bundled content offline. Turn off Show Discover in the sidebar in Settings → System → Appearance to hide Discover, cancel its pending feed requests, and stop new feed loads until re-enabled. Explicit feedback and Discover thought submissions also use the network. Core capture and local transcription work offline after model setup, but neither the Discover nor telemetry preference is a global no-network toggle.
Note: Builds from source also send telemetry by default. Opt out in Settings or set MACPARAKEET_TELEMETRY_URL to override.
swift test, and link the issue in the PR.spec/AGENTS.md — the canonical build/test commands, code style, repo conventions, and links to deeper context for Claude Code, Codex, and friends.MacParakeet is free and open source. If it's useful to you, consider sponsoring.
GPL-3.0. Free software. Full license.
Settings → Speech Engines offers Orukeet (preview) among the Parakeet variants. This local adaptation of Parakeet v3 supports 25 languages and leaves the default model unchanged. The 445 MiB download comes directly from Hugging Face, is verified against a pinned integrity manifest and SHA-256, and is compiled for your Mac. Cached transcription needs no network connection. Weights are licensed CC BY-SA 4.0. Preview quality should be evaluated on your own recordings.
The CLI can download it with macparakeet-cli models download parakeet-orukeet, then use it for one recording with macparakeet-cli transcribe --parakeet-model orukeet recording.wav. Native streaming, tail-window dictation preview, and recognition-time vocabulary boosting are disabled for this preview.