From cd08e1c144266bfe636506248b75725e2bf197f1 Mon Sep 17 00:00:00 2001 From: "michael.borak" Date: Tue, 20 Jan 2026 10:14:07 +0100 Subject: [PATCH] feat: release 1.0 - rename to Hearbit AI, fix timestamps, update UI --- .gitignore | 7 + README.md | 112 +++-- package-lock.json | 14 +- package.json | 1 + src-tauri/Cargo.lock | 100 +++- src-tauri/Cargo.toml | 7 +- src-tauri/capabilities/default.json | 9 +- src-tauri/icons/128x128.png | Bin 5841 -> 31465 bytes src-tauri/icons/128x128@2x.png | Bin 19805 -> 109919 bytes src-tauri/icons/32x32.png | Bin 746 -> 2727 bytes src-tauri/icons/64x64.png | Bin 0 -> 9104 bytes src-tauri/icons/Square107x107Logo.png | Bin 2863 -> 22953 bytes src-tauri/icons/Square142x142Logo.png | Bin 3858 -> 37987 bytes src-tauri/icons/Square150x150Logo.png | Bin 3966 -> 42147 bytes src-tauri/icons/Square284x284Logo.png | Bin 7737 -> 133063 bytes src-tauri/icons/Square30x30Logo.png | Bin 903 -> 2427 bytes src-tauri/icons/Square310x310Logo.png | Bin 8591 -> 155884 bytes src-tauri/icons/Square44x44Logo.png | Bin 1299 -> 4692 bytes src-tauri/icons/Square71x71Logo.png | Bin 2011 -> 10973 bytes src-tauri/icons/Square89x89Logo.png | Bin 2468 -> 16469 bytes src-tauri/icons/StoreLogo.png | Bin 1523 -> 5841 bytes .../android/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../icons/android/mipmap-hdpi/ic_launcher.png | Bin 0 -> 4394 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 48388 bytes .../android/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 4736 bytes .../icons/android/mipmap-mdpi/ic_launcher.png | Bin 0 -> 4174 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 23209 bytes .../android/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 4508 bytes .../android/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 14028 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 80776 bytes .../mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 15465 bytes .../android/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 28798 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 169356 bytes .../mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 32001 bytes .../android/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 48785 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 286566 bytes .../mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 53682 bytes .../android/values/ic_launcher_background.xml | 4 + src-tauri/icons/icon.icns | Bin 581509 -> 2353471 bytes src-tauri/icons/icon.ico | Bin 86642 -> 130657 bytes src-tauri/icons/icon.png | Bin 71266 -> 391232 bytes src-tauri/icons/ios/AppIcon-20x20@1x.png | Bin 0 -> 1232 bytes src-tauri/icons/ios/AppIcon-20x20@2x-1.png | Bin 0 -> 3979 bytes src-tauri/icons/ios/AppIcon-20x20@2x.png | Bin 0 -> 3979 bytes src-tauri/icons/ios/AppIcon-20x20@3x.png | Bin 0 -> 8128 bytes src-tauri/icons/ios/AppIcon-29x29@1x.png | Bin 0 -> 2305 bytes src-tauri/icons/ios/AppIcon-29x29@2x-1.png | Bin 0 -> 7654 bytes src-tauri/icons/ios/AppIcon-29x29@2x.png | Bin 0 -> 7654 bytes src-tauri/icons/ios/AppIcon-29x29@3x.png | Bin 0 -> 15784 bytes src-tauri/icons/ios/AppIcon-40x40@1x.png | Bin 0 -> 3979 bytes src-tauri/icons/ios/AppIcon-40x40@2x-1.png | Bin 0 -> 13577 bytes src-tauri/icons/ios/AppIcon-40x40@2x.png | Bin 0 -> 13577 bytes src-tauri/icons/ios/AppIcon-40x40@3x.png | Bin 0 -> 27932 bytes src-tauri/icons/ios/AppIcon-512@2x.png | Bin 0 -> 1302736 bytes src-tauri/icons/ios/AppIcon-60x60@2x.png | Bin 0 -> 27932 bytes src-tauri/icons/ios/AppIcon-60x60@3x.png | Bin 0 -> 58202 bytes src-tauri/icons/ios/AppIcon-76x76@1x.png | Bin 0 -> 12390 bytes src-tauri/icons/ios/AppIcon-76x76@2x.png | Bin 0 -> 43108 bytes src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png | Bin 0 -> 50974 bytes src-tauri/resources/BlackHole2ch.v0.6.1.pkg | Bin 0 -> 102843 bytes src-tauri/src/lib.rs | 288 +++++++++--- src-tauri/tauri.conf.json | 9 +- src/App.tsx | 214 ++++++++- src/components/LogViewer.tsx | 91 ++++ src/components/Recorder.tsx | 426 +++++++----------- src/components/Settings.tsx | 400 +++++++++++----- src/components/Tabs.tsx | 54 +++ src/components/TranscriptionView.tsx | 81 ++++ src/utils/backup.ts | 92 ++++ 69 files changed, 1369 insertions(+), 545 deletions(-) create mode 100644 src-tauri/icons/64x64.png create mode 100644 src-tauri/icons/android/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 src-tauri/icons/android/mipmap-hdpi/ic_launcher.png create mode 100644 src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png create mode 100644 src-tauri/icons/android/mipmap-mdpi/ic_launcher.png create mode 100644 src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png create mode 100644 src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png create mode 100644 src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png create mode 100644 src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png create mode 100644 src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 src-tauri/icons/android/values/ic_launcher_background.xml create mode 100644 src-tauri/icons/ios/AppIcon-20x20@1x.png create mode 100644 src-tauri/icons/ios/AppIcon-20x20@2x-1.png create mode 100644 src-tauri/icons/ios/AppIcon-20x20@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-20x20@3x.png create mode 100644 src-tauri/icons/ios/AppIcon-29x29@1x.png create mode 100644 src-tauri/icons/ios/AppIcon-29x29@2x-1.png create mode 100644 src-tauri/icons/ios/AppIcon-29x29@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-29x29@3x.png create mode 100644 src-tauri/icons/ios/AppIcon-40x40@1x.png create mode 100644 src-tauri/icons/ios/AppIcon-40x40@2x-1.png create mode 100644 src-tauri/icons/ios/AppIcon-40x40@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-40x40@3x.png create mode 100644 src-tauri/icons/ios/AppIcon-512@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-60x60@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-60x60@3x.png create mode 100644 src-tauri/icons/ios/AppIcon-76x76@1x.png create mode 100644 src-tauri/icons/ios/AppIcon-76x76@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png create mode 100644 src-tauri/resources/BlackHole2ch.v0.6.1.pkg create mode 100644 src/components/LogViewer.tsx create mode 100644 src/components/Tabs.tsx create mode 100644 src/components/TranscriptionView.tsx create mode 100644 src/utils/backup.ts diff --git a/.gitignore b/.gitignore index a547bf3..0c93259 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,13 @@ dist dist-ssr *.local +# Tauri build output +src-tauri/target/ +src-tauri/target_tmp/ +src-tauri/gen/ +**/*.dmg +**/*.app + # Editor directories and files .vscode/* !.vscode/extensions.json diff --git a/README.md b/README.md index 5ad51ab..1a1e365 100644 --- a/README.md +++ b/README.md @@ -1,74 +1,74 @@ # Hearbit AI 🦉🎙️ -Hearbit AI is a powerful macOS desktop application designed to record system and microphone audio, transcribe it using Infomaniak's Whisper API, and generate intelligent AI summaries. +**Hearbit AI** is your professional meeting assistant for macOS. It records both your microphone and system audio (e.g., Teams, Zoom), transcribes it with high precision using Infomaniak's Whisper API, and generates intelligent, structured summaries. -## Features +![App Icon](src-tauri/icons/128x128@2x.png) -* **Dual-Channel Recording**: Capture both your microphone (e.g., for voice notes) and system audio (e.g., for meetings) simultaneously. -* **Powered by Infomaniak AI**: - * **Transcription**: High-accuracy speech-to-text using Infomaniak's Whisper integration. - * **Summarization**: Generate concise summaries, action items, or meeting notes using models like Mixtral or Llama 3 via Infomaniak's LLM API. -* **Auto-Save**: Recordings and summaries are automatically saved to a persistent history. -* **Customizable Prompts**: Define your own AI templates (e.g., "Summarize", "Extract Action Items", "Translate"). -* **Privacy-Focused**: Processed securily via your own Infomaniak API keys. +## ✨ Features -## prerequisites +* **🎙️ Dual-Channel Recording**: seamlessly capture your voice and meeting audio from apps like Microsoft Teams, Zoom, or Google Meet. +* **🧠 Powered by Infomaniak AI**: + * **Precision Transcription**: Standard-compliant formatting with **second-by-second timestamps** (e.g., `[00:12]`). + * **Smart Summaries**: Uses advanced LLMs (Mixtral, Llama 3) to create actionable meeting notes. +* **📝 Professional Templates**: Comes with 3 built-in expert prompts: + * **Meeting Protocol**: For general business meetings. + * **1:1 / Jour Fixe**: For confidential personnel discussions. + * **Client Meeting**: For official, client-ready documentation. +* **💾 Auto-Save**: All recordings and summaries are saved locally to your history. +* **🔒 Privacy-First**: Data is processed securely via your own Infomaniak API keys. -* **macOS** (Apple Silicon or Intel) -* **Infomaniak AI Account**: You need an API Key and Product ID from [Infomaniak's Developer Portal](https://manager.infomaniak.com/). +--- -## Installation +## 🚀 Getting Started -1. Download the latest release (`.dmg` or `.app`). -## Recording System Audio (Teams, Zoom, etc.) +### 1. Prerequisites +* **macOS** (Apple Silicon or Intel). +* **Infomaniak AI Account**: You need an API Key and Product ID from the [Infomaniak Developer Portal](https://manager.infomaniak.com/). -To record meetings from apps like Microsoft Teams, Zoom, or Google Meet, you need to route the computer's audio into Hearbit AI. This requires **BlackHole 2ch**. +### 2. Installation +1. Download the latest `.dmg` file from the [Releases page](#). +2. Open the `.dmg` and drag **Hearbit AI** to your Applications folder. +3. Launch the app. -### 1. Install BlackHole -1. Download and install [BlackHole 2ch](https://existential.audio/blackhole/). -2. Restart your computer if required. +--- -### 2. Create a Multi-Output Device (To hear audio while recording) -1. Open **Audio MIDI Setup** (search in Spotlight). -2. Click the `+` icon and select **Create Multi-Output Device**. -3. Check **BlackHole 2ch** AND **MacBook Pro Speakers** (or your headphones). -4. Set "Master Device" to **BlackHole 2ch**. - - ![Multi-Output Setup](docs/screenshots/multi_output_setup.png) +## 🎧 Recording System Audio (Teams, Zoom, etc.) -### 3. Create an Aggregate Device (For Hearbit AI Input) -1. In Audio MIDI Setup, click `+` and select **Create Aggregate Device**. -2. Name it "Hearbit-AI" (or similar). -3. Check **BlackHole 2ch** AND **MacBook Pro Microphone**. -4. Ensure "Drift Correction" is enabled for the Microphone. +To record clear meeting audio from other applications, you need a "virtual cable". We recommend **BlackHole 2ch**. - ![Aggregate Device Setup](docs/screenshots/aggregate_device_setup.png) +1. **Install BlackHole**: Download and install [BlackHole 2ch](https://existential.audio/blackhole/). +2. **Create a Multi-Output Device** (So you can hear the audio too!): + * Open **Audio MIDI Setup** on your Mac. + * Create a "Multi-Output Device". + * Select both **BlackHole 2ch** AND your **Headphones/Speakers**. + * *Tip: Use this Multi-Output Device as your SPEAKER in Teams/Zoom.* +3. **Select Input in Hearbit AI**: + * In Hearbit AI, select **BlackHole 2ch** (or an Aggregate Device combining your Mic + BlackHole) as the **Input Device**. -### 4. Setup in Hearbit AI -1. Open **Hearbit AI**. -2. In the **Input Device** dropdown, select your Aggregate Device (e.g., "Hearbit-AI"). -3. Start Recording. +--- -### 5. Setup in Teams/Zoom -* Set your **Speaker** output in Teams/Zoom to the **Multi-Output Device** you created in Step 2. +## 🛠️ Usage Guide -1. **Configure**: - * Click the **Settings** (gear icon) in the top right. +1. **Configuration**: + * Click the **Settings** (gear icon). * Enter your **Infomaniak API Key** and **Product ID**. - * (Optional) Customize your AI prompts. -2. **Record**: - * Select your **Input Device** (e.g., "MacBook Pro Microphone" or an aggregate device for system audio). - * Select an **LLM Model** (e.g., Mixtral). + * (Optional) Customize where recordings are saved. + +2. **Recording**: + * Choose your **Template** (e.g., "Meeting Protocol"). + * Select your **Input Device**. * Click **Start Recording**. -3. **Process**: - * Click **Stop Recording**. - * The app will automatically upload, transcribe, and summarize your audio. -4. **History**: - * Click **Records** to view past recordings. -## Development +3. **Processing**: + * Click **Stop** when finished. + * The app will transcribe the audio (with timestamps!) and generate a summary based on your selected template. + * You will be automatically taken to the **Transcription** tab to review the results. -This app is built with **Tauri**, **React**, and **TypeScript**. +--- + +## 👨‍💻 Development + +Built with **Tauri**, **React**, and **TypeScript**. ### Setup ```bash @@ -77,8 +77,6 @@ npm install ### Run Locally ```bash -npm run dev -# OR npm run tauri dev ``` @@ -86,9 +84,9 @@ npm run tauri dev ```bash npm run tauri build ``` +*The build artifact will be located in `src-tauri/target/release/bundle/dmg/*`* -## Icons -The app uses a custom generated icon set located in `src-tauri/icons`. +--- -## License -[License Name] +## 📄 License +Property of Livtec. All rights reserved. diff --git a/package-lock.json b/package-lock.json index 297954c..6c1c069 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,16 @@ { - "name": "infomaniak-recorder", + "name": "hearbit-ai", "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "infomaniak-recorder", + "name": "hearbit-ai", "version": "0.1.0", "dependencies": { "@tailwindcss/postcss": "^4.1.18", "@tauri-apps/api": "^2", + "@tauri-apps/plugin-dialog": "^2.6.0", "@tauri-apps/plugin-opener": "^2", "jimp": "^1.6.0", "lucide-react": "^0.562.0", @@ -2076,6 +2077,15 @@ "node": ">= 10" } }, + "node_modules/@tauri-apps/plugin-dialog": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-dialog/-/plugin-dialog-2.6.0.tgz", + "integrity": "sha512-q4Uq3eY87TdcYzXACiYSPhmpBA76shgmQswGkSVio4C82Sz2W4iehe9TnKYwbq7weHiL88Yw19XZm7v28+Micg==", + "license": "MIT OR Apache-2.0", + "dependencies": { + "@tauri-apps/api": "^2.8.0" + } + }, "node_modules/@tauri-apps/plugin-opener": { "version": "2.5.3", "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-opener/-/plugin-opener-2.5.3.tgz", diff --git a/package.json b/package.json index a5c07bc..caecb41 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "dependencies": { "@tailwindcss/postcss": "^4.1.18", "@tauri-apps/api": "^2", + "@tauri-apps/plugin-dialog": "^2.6.0", "@tauri-apps/plugin-opener": "^2", "jimp": "^1.6.0", "lucide-react": "^0.562.0", diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 08942f1..86f2775 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -488,8 +488,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" dependencies = [ "iana-time-zone", + "js-sys", "num-traits", "serde", + "wasm-bindgen", "windows-link 0.2.1", ] @@ -819,6 +821,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" dependencies = [ "bitflags 2.10.0", + "block2", + "libc", "objc2", ] @@ -1515,6 +1519,23 @@ version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +[[package]] +name = "hearbit-ai" +version = "0.1.0" +dependencies = [ + "chrono", + "cpal", + "hound", + "reqwest 0.13.1", + "serde", + "serde_json", + "tauri", + "tauri-build", + "tauri-plugin-dialog", + "tauri-plugin-opener", + "tokio", +] + [[package]] name = "heck" version = "0.4.1" @@ -1834,21 +1855,6 @@ dependencies = [ "cfb", ] -[[package]] -name = "infomaniak-recorder" -version = "0.1.0" -dependencies = [ - "cpal", - "hound", - "reqwest 0.13.1", - "serde", - "serde_json", - "tauri", - "tauri-build", - "tauri-plugin-opener", - "tokio", -] - [[package]] name = "ipnet" version = "2.11.0" @@ -3309,6 +3315,30 @@ dependencies = [ "web-sys", ] +[[package]] +name = "rfd" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a15ad77d9e70a92437d8f74c35d99b4e4691128df018833e99f90bcd36152672" +dependencies = [ + "block2", + "dispatch2", + "glib-sys", + "gobject-sys", + "gtk-sys", + "js-sys", + "log", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "raw-window-handle", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows-sys 0.60.2", +] + [[package]] name = "ring" version = "0.17.14" @@ -4167,6 +4197,46 @@ dependencies = [ "walkdir", ] +[[package]] +name = "tauri-plugin-dialog" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9204b425d9be8d12aa60c2a83a289cf7d1caae40f57f336ed1155b3a5c0e359b" +dependencies = [ + "log", + "raw-window-handle", + "rfd", + "serde", + "serde_json", + "tauri", + "tauri-plugin", + "tauri-plugin-fs", + "thiserror 2.0.18", + "url", +] + +[[package]] +name = "tauri-plugin-fs" +version = "2.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed390cc669f937afeb8b28032ce837bac8ea023d975a2e207375ec05afaf1804" +dependencies = [ + "anyhow", + "dunce", + "glob", + "percent-encoding", + "schemars 0.8.22", + "serde", + "serde_json", + "serde_repr", + "tauri", + "tauri-plugin", + "tauri-utils", + "thiserror 2.0.18", + "toml 0.9.11+spec-1.1.0", + "url", +] + [[package]] name = "tauri-plugin-opener" version = "2.5.3" diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 8655228..0d3279b 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "infomaniak-recorder" +name = "hearbit-ai" version = "0.1.0" description = "A Tauri App" authors = ["you"] @@ -20,10 +20,11 @@ tauri-build = { version = "2", features = [] } [dependencies] tauri = { version = "2", features = [] } tauri-plugin-opener = "2" +tauri-plugin-dialog = "2" serde = { version = "1", features = ["derive"] } -serde_json = "1" +serde_json = "1.0" +chrono = "0.4" cpal = "0.17.1" hound = "3.5.1" reqwest = { version = "0.13.1", features = ["json", "multipart"] } tokio = { version = "1.40.0", features = ["full"] } - diff --git a/src-tauri/capabilities/default.json b/src-tauri/capabilities/default.json index 4cdbf49..3c1ad59 100644 --- a/src-tauri/capabilities/default.json +++ b/src-tauri/capabilities/default.json @@ -2,9 +2,12 @@ "$schema": "../gen/schemas/desktop-schema.json", "identifier": "default", "description": "Capability for the main window", - "windows": ["main"], + "windows": [ + "main" + ], "permissions": [ "core:default", - "opener:default" + "opener:default", + "dialog:default" ] -} +} \ No newline at end of file diff --git a/src-tauri/icons/128x128.png b/src-tauri/icons/128x128.png index 6bc3e7efef6be15d7522c7a2167ca0ec2539bf71..f53f65eb29cee0e2ba549ba3d190f94415e1e269 100644 GIT binary patch literal 31465 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