Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
A

amical

> 前端框架
Open source

️ AI Dictation App - Open Source and Local-first ⚡ Type 3x faster, no keyboard needed. Powered by open source models, works offline, fast and accurate.

1.5K stars0 likes0 views
WebsiteGitHub

About

️ AI Dictation App - Open Source and Local-first ⚡ Type 3x faster, no keyboard needed. Powered by open source models, works offline, fast and accurate.


Website - Docs - Community - Bug reports

## Table of Contents - [⬇️ Download](#️-download) - [ Overview](#-overview) - [✨ Features](#-features) - [ Tech Stack](#-tech-stack) - [Local Development](#local-development) - [ Contributing](#-contributing) - [ License](#-license) ## ⬇️ Download

### Homebrew (macOS) ```bash brew install --cask amical ``` ## Overview Local-first AI Dictation app. Amical is an open source AI-powered dictation and note-taking app that runs entirely on your machine. Powered by [Whisper](https://github.com/openai/whisper) for speech-to-text and open source LLMs for intelligent processing, Amical gives you the power of AI dictation with complete privacy. Context-aware dictation that adapts to what you're doing: drafting an email, chatting on Discord, writing prompts in your IDE, or messaging friends. Amical detects the active app and formats your speech accordingly.

## ✨ Features > ✔︎ - Done, ◑ - In Progress, ◯ - Planned Super-fast dictation with AI-enhanced accuracy ✔︎ Context-aware speech-to-text based on the active app ✔︎ Smart voice notes → summaries, tasks, structured notes ◑ MCP integration → voice commands that control your apps ◯ ️ Real-time meeting transcription (mic + system audio) ◯ Extensible via hotkeys, voice macros, custom workflows ✔︎ Privacy-first: works offline, one click setup of local models in-app ✔︎ Floating widget for frictionless start/stop with custom hotkeys ✔︎ ## Tech Stack - [Whisper](https://github.com/openai/whisper) - [Ollama](https://ollama.ai) - ‍ [Typescript](https://www.typescriptlang.org/) - ️ [Electron](https://electronjs.org/) - [TailwindCSS](https://tailwindcss.com/) - ‍ [Shadcn](https://ui.shadcn.com/) - [Better-Auth](https://better-auth.com/) - ‍♂️ [Zod](https://zod.dev/) - [Vitest](https://vitest.dev/) - [Turborepo](https://turbo.build/) ## Local Development These steps run the desktop app, which currently supports macOS and Windows. Linux is not supported because the app does not yet have a Linux native helper. ### Prerequisites - [Node.js](https://nodejs.org/) 24.x - pnpm 10.15.0 (the version pinned in `package.json`) - CMake 3.20 or later - **macOS:** Xcode or the Xcode Command Line Tools with Swift 5.9 or later (`xcode-select --install`). Local Whisper transcription requires macOS 15 or later. - **Windows:** Visual Studio 2022 Build Tools with the **Desktop development with C++** workload, plus the .NET 8 SDK. Git Bash is recommended because some development scripts use POSIX utilities. ### Set up the repository Clone with submodules so the Whisper sources are available: ```bash git clone --recurse-submodules https://github.com/amicalhq/amical.git cd amical ``` If you already cloned without `--recurse-submodules`, initialize them now: ```bash git submodule update --init --recursive ``` Enable Corepack so it uses the pinned pnpm version, install dependencies, and download the Node.js binary used by the local Whisper worker: ```bash corepack enable pnpm install --frozen-lockfile pnpm --filter @amical/desktop download-node ``` `pnpm install` compiles the native Whisper addon, so it can take a few minutes. It also applies the repository's patches inside the `whisper.cpp` submodule. Seeing that submodule marked as modified in `git status` afterward is expected. ### Start the desktop app Quit any installed copy of Amical first; Electron allows only one Amical instance at a time. Then run: ```bash pnpm turbo run dev --filter=@amical/desktop ``` When finished, quit the development app from its tray menu and then press Ctrl+C. Stopping the terminal command alone may leave the Electron app running. No `.env` file is required for local transcription. The first-run onboarding downloads a local model and requests the required microphone and OS permissions. Only configure `apps/desktop/.env` from `apps/desktop/.env.example` when working on optional cloud, authentication, or telemetry integrations, and replace its placeholder values before use. ### Run checks Workspace builds and typechecks use TypeScript 7.0.2. The `@typescript/native` dependency is an alias for the native compiler and provides `tsc`. The `typescript` dependency is an alias for Microsoft's TypeScript 6 compatibility package, which provides the compiler API used by ESLint and other tools. This follows [Microsoft's side-by-side setup](https://devblogs.microsoft.com/typescript/announcing-typescript-7-0/#running-side-by-side-with-typescript-6-0). Run `pnpm exec tsc --version` to check the build compiler version. For VS Code, install the recommended [TypeScript 7 extension](https://marketplace.visualstudio.com/items?itemName=TypeScriptTeam.native-preview). The workspace settings point it at the same native compiler. Before opening a pull request, run: ```bash pnpm type:check pnpm test ``` ## Contributing Contributions are welcome! Reach out to the team in our [Discord server](https://amical.ai/community) to learn more. - ** [Report an Issue][issues]**: Found a bug? Let us know! - ** [Start a Discussion][discussions]**: Have ideas or suggestions? We'd love to hear from you. ## License Released under [MIT][license]. [license]: https://github.com/amicalhq/amical/blob/main/LICENSE [discussions]: https://amical.ai/community [issues]: https://github.com/amicalhq/amical/issues [pulls]: https://github.com/amicalhq/amical/pulls "submit a pull request"

GitHub Issues· 58 open

View all on GitHub
  • #165

    Recording captures only channel 1 of multichannel audio interfaces → silence when the mic is on input 2+

    Updated Sep 14, 2026
  • #182

    Filler-word removal is English-only: the formatting prompt lists no Japanese fillers

    Updated Aug 31, 2026
  • #181

    Settings page crashes after 1.9.x → 1.11.3 upgrade: `dictation.selectedLanguage` is never migrated to `dictation.languages`

    Updated Aug 31, 2026
  • #180

    Option to insert dictated text via simulated typing instead of clipboard paste

    Updated Aug 21, 2026
  • #179

    Recording drops first word after start chime

    bugUpdated Aug 10, 2026
  • #178

    Windows: minimizeToTray preference is not applied to the main window

    bugUpdated Aug 9, 2026
  • #175

    Constant crashes on Xiaomi 15 Ultra

    bugUpdated Aug 5, 2026
  • #173

    Feature request to support installing/updating using winget

    Updated Jul 29, 2026
  • #130

    Suggestion: sendkeys

    Updated Jul 28, 2026
  • #171

    Feature request: adaptively skip LLM formatting for short dictations

    Updated Jul 22, 2026

Highlights

  • •⬇️ Download
  • •Overview
  • •✨ Features
  • •Tech Stack
  • •Local Development
  • •Contributing
  • •‍ Typescript
  • •️ Electron
  • •TailwindCSS
  • •‍ Shadcn

> Tags

TypeScriptaiai-note-taking-appasrdictate

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category前端框架
PricingOpen source

> Related tools

R
React
用于构建用户界面的 JavaScript 库
V
Vue.js
渐进式 JavaScript 框架
N
Next.js
基于 React 的全栈 Web 框架