Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Question or discussion
url: https://github.com/doramirdor/echo/discussions
url: https://github.com/doramirdor/echo-tauri/discussions
about: Ask questions and share ideas with the community.
54 changes: 54 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Release

# Publishes a signed macOS build and the Tauri updater manifest (latest.json) to
# a GitHub Release whenever a v* tag is pushed. The app's updater endpoint
# (https://github.com/doramirdor/echo-tauri/releases/latest/download/latest.json) then
# resolves to the newest release, mirroring electron-updater's GitHub provider.
#
# Required repo secrets (Settings → Secrets and variables → Actions):
# TAURI_SIGNING_PRIVATE_KEY contents of ~/.tauri/echo.key (the private signing key)
# TAURI_SIGNING_PRIVATE_KEY_PASSWORD the key's password ("" if generated without one)
# The matching PUBLIC key is committed in src-tauri/tauri.conf.json (plugins.updater.pubkey).

on:
push:
tags:
- 'v*'

jobs:
release:
runs-on: macos-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'

- name: Install Rust (universal macOS targets)
uses: dtolnay/rust-toolchain@stable
with:
targets: aarch64-apple-darwin,x86_64-apple-darwin

- name: Install dependencies
run: npm ci

# Builds .dmg (install) + .app.tar.gz updater artifact (signed), and
# generates/uploads latest.json with both darwin-aarch64 and darwin-x86_64
# entries from the universal build.
- name: Build and release
uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
with:
tagName: ${{ github.ref_name }}
releaseName: 'Echo ${{ github.ref_name }}'
releaseBody: 'See the assets to download and install this version.'
releaseDraft: true
prerelease: false
args: --target universal-apple-darwin
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ welcome — from typo fixes to new transcription engines.
## Before you start

- **Be respectful.** This project follows the [Code of Conduct](CODE_OF_CONDUCT.md).
- **Search first.** Check existing [issues](https://github.com/doramirdor/echo/issues)
and [pull requests](https://github.com/doramirdor/echo/pulls) before opening a new one.
- **Search first.** Check existing [issues](https://github.com/doramirdor/echo-tauri/issues)
and [pull requests](https://github.com/doramirdor/echo-tauri/pulls) before opening a new one.
- **Open an issue for big changes.** For anything beyond a small fix, file an issue
to discuss the approach before investing a lot of time.

Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@
</p>

<p align="center">
<a href="https://doramirdor.github.io/echo/"><img src="https://img.shields.io/badge/website-echo-0A84FF?style=flat-square" alt="Website"></a>
<a href="https://doramirdor.github.io/echo-tauri/"><img src="https://img.shields.io/badge/website-echo-0A84FF?style=flat-square" alt="Website"></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue?style=flat-square" alt="MIT License"></a>
<img src="https://img.shields.io/badge/platform-macOS-black?style=flat-square&logo=apple" alt="macOS">
<a href="https://github.com/doramirdor/echo/actions"><img src="https://img.shields.io/github/actions/workflow/status/doramirdor/echo/ci.yml?style=flat-square" alt="CI"></a>
<a href="https://github.com/doramirdor/echo-tauri/actions"><img src="https://img.shields.io/github/actions/workflow/status/doramirdor/echo-tauri/ci.yml?style=flat-square" alt="CI"></a>
<img src="https://img.shields.io/badge/runs-100%25%20local-22c55e?style=flat-square" alt="100% local">
</p>

<p align="center">
<a href="https://doramirdor.github.io/echo/">Website</a> ·
<a href="https://doramirdor.github.io/echo-tauri/">Website</a> ·
<a href="docs/USER_GUIDE.md">User Guide</a> ·
<a href="docs/PRIVACY.md">Privacy</a> ·
<a href="CONTRIBUTING.md">Contributing</a>
Expand Down Expand Up @@ -86,7 +86,7 @@ are needed to build whisper.cpp — the onboarding wizard handles this automatic

```bash
brew install sox
git clone https://github.com/doramirdor/echo.git
git clone https://github.com/doramirdor/echo-tauri.git
cd echo
npm install
npm start
Expand Down
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
If you discover a security vulnerability in Echo, please report it privately.
**Do not open a public issue for security problems.**

- Use GitHub's [private vulnerability reporting](https://github.com/doramirdor/echo/security/advisories/new), or
- Use GitHub's [private vulnerability reporting](https://github.com/doramirdor/echo-tauri/security/advisories/new), or
- Email **amirdor@gmail.com** with the details.

Please include:
Expand Down
36 changes: 18 additions & 18 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
<meta property="og:title" content="Echo: Speech to text for stronger Claude workflows" />
<meta property="og:description" content="Turn your voice into clean, refined text for Claude and every app. Free, open source, 100% local." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://doramirdor.github.io/echo/" />
<meta property="og:image" content="https://doramirdor.github.io/echo/img/hero-lockup.png" />
<meta property="og:url" content="https://doramirdor.github.io/echo-tauri/" />
<meta property="og:image" content="https://doramirdor.github.io/echo-tauri/img/hero-lockup.png" />
<meta name="twitter:card" content="summary_large_image" />

<link rel="icon" type="image/svg+xml" href="img/logo.svg" />
Expand All @@ -35,7 +35,7 @@
<a href="#opensource">Open source</a>
</nav>
<div class="nav__actions">
<a class="ghlink" href="https://github.com/doramirdor/echo" target="_blank" rel="noopener" aria-label="Echo on GitHub">
<a class="ghlink" href="https://github.com/doramirdor/echo-tauri" target="_blank" rel="noopener" aria-label="Echo on GitHub">
<svg viewBox="0 0 16 16" width="18" height="18" aria-hidden="true" fill="currentColor"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path></svg>
<span>Star</span>
</a>
Expand All @@ -62,7 +62,7 @@ <h1 class="hero__title">Speech to text for stronger <span class="grad">Claude</s
<a class="btn btn--primary btn--lg" href="#get">Get started for free
<svg viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
</a>
<a class="btn btn--ghost btn--lg" href="https://github.com/doramirdor/echo" target="_blank" rel="noopener">
<a class="btn btn--ghost btn--lg" href="https://github.com/doramirdor/echo-tauri" target="_blank" rel="noopener">
<svg viewBox="0 0 16 16" width="17" height="17" fill="currentColor" aria-hidden="true"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>
View on GitHub
</a>
Expand Down Expand Up @@ -284,7 +284,7 @@ <h2 class="section__title">Built for serious voice <span class="grad">workflows<
<li><span class="benefit__ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="10" width="16" height="11" rx="2.2"/><path d="M8 10V7a4 4 0 018 0v3"/></svg></span><div><strong>Self-hosted &amp; private</strong><span>Runs on your Mac. Your data stays yours.</span></div></li>
<li><span class="benefit__ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="7" height="7" rx="1.6"/><rect x="14" y="3" width="7" height="7" rx="1.6"/><rect x="3" y="14" width="7" height="7" rx="1.6"/><rect x="14" y="14" width="7" height="7" rx="1.6"/></svg></span><div><strong>Works in any app</strong><span>Inserts at your cursor in any macOS app.</span></div></li>
</ul>
<a class="link-arrow" href="https://github.com/doramirdor/echo/blob/main/docs/USER_GUIDE.md" target="_blank" rel="noopener">Explore the docs →</a>
<a class="link-arrow" href="https://github.com/doramirdor/echo-tauri/blob/main/docs/USER_GUIDE.md" target="_blank" rel="noopener">Explore the docs →</a>
</div>
</div>
</section>
Expand All @@ -303,7 +303,7 @@ <h2 class="section__title">Open source. Local. <span class="grad">Yours to own.<
<div><strong>8</strong><span>LLM providers</span></div>
</div>
<div class="oss__cta">
<a class="btn btn--dark" href="https://github.com/doramirdor/echo" target="_blank" rel="noopener">
<a class="btn btn--dark" href="https://github.com/doramirdor/echo-tauri" target="_blank" rel="noopener">
<svg viewBox="0 0 16 16" width="17" height="17" fill="currentColor" aria-hidden="true"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>
Star on GitHub
</a>
Expand All @@ -316,7 +316,7 @@ <h2 class="section__title">Open source. Local. <span class="grad">Yours to own.<
<div class="codecard__bar"><span class="cc-dot"></span><span class="cc-dot"></span><span class="cc-dot"></span><span class="codecard__title">bash</span></div>
<button class="copy" id="copyBtn" aria-label="Copy install commands">Copy</button>
<pre><code id="installCode"><span class="c-muted"># Clone the repository</span>
git clone https://github.com/doramirdor/echo.git
git clone https://github.com/doramirdor/echo-tauri.git
cd echo

<span class="c-muted"># Install audio + deps, then launch</span>
Expand Down Expand Up @@ -346,7 +346,7 @@ <h2 class="cta__title">Start capturing better context for <span class="grad">Cla
<p class="cta__lead">Echo is the open-source voice keyboard built for builders who value clarity and privacy.</p>
<div class="hero__cta">
<a class="btn btn--primary btn--lg" href="#get">Get started for free</a>
<a class="btn btn--ghost btn--lg" href="https://github.com/doramirdor/echo" target="_blank" rel="noopener">View on GitHub</a>
<a class="btn btn--ghost btn--lg" href="https://github.com/doramirdor/echo-tauri" target="_blank" rel="noopener">View on GitHub</a>
</div>
</div>
</div>
Expand Down Expand Up @@ -374,27 +374,27 @@ <h4>Product</h4>
</div>
<div>
<h4>Resources</h4>
<a href="https://github.com/doramirdor/echo/blob/main/docs/USER_GUIDE.md" target="_blank" rel="noopener">User Guide</a>
<a href="https://github.com/doramirdor/echo/blob/main/docs/PRIVACY.md" target="_blank" rel="noopener">Privacy</a>
<a href="https://github.com/doramirdor/echo/blob/main/CLAUDE.md" target="_blank" rel="noopener">Architecture</a>
<a href="https://github.com/doramirdor/echo/blob/main/CONTRIBUTING.md" target="_blank" rel="noopener">Contributing</a>
<a href="https://github.com/doramirdor/echo-tauri/blob/main/docs/USER_GUIDE.md" target="_blank" rel="noopener">User Guide</a>
<a href="https://github.com/doramirdor/echo-tauri/blob/main/docs/PRIVACY.md" target="_blank" rel="noopener">Privacy</a>
<a href="https://github.com/doramirdor/echo-tauri/blob/main/CLAUDE.md" target="_blank" rel="noopener">Architecture</a>
<a href="https://github.com/doramirdor/echo-tauri/blob/main/CONTRIBUTING.md" target="_blank" rel="noopener">Contributing</a>
</div>
<div>
<h4>Community</h4>
<a href="https://github.com/doramirdor/echo" target="_blank" rel="noopener">GitHub ↗</a>
<a href="https://github.com/doramirdor/echo/issues" target="_blank" rel="noopener">Issues</a>
<a href="https://github.com/doramirdor/echo/discussions" target="_blank" rel="noopener">Discussions</a>
<a href="https://github.com/doramirdor/echo/releases" target="_blank" rel="noopener">Releases</a>
<a href="https://github.com/doramirdor/echo-tauri" target="_blank" rel="noopener">GitHub ↗</a>
<a href="https://github.com/doramirdor/echo-tauri/issues" target="_blank" rel="noopener">Issues</a>
<a href="https://github.com/doramirdor/echo-tauri/discussions" target="_blank" rel="noopener">Discussions</a>
<a href="https://github.com/doramirdor/echo-tauri/releases" target="_blank" rel="noopener">Releases</a>
</div>
<div class="footer__loop">
<h4>Stay in the loop</h4>
<p>Get updates on new features and releases.</p>
<a class="footer__watch" href="https://github.com/doramirdor/echo" target="_blank" rel="noopener">
<a class="footer__watch" href="https://github.com/doramirdor/echo-tauri" target="_blank" rel="noopener">
<svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7z"/><circle cx="12" cy="12" r="3"/></svg>
Watch on GitHub
</a>
<div class="footer__social">
<a href="https://github.com/doramirdor/echo" target="_blank" rel="noopener" aria-label="GitHub"><svg viewBox="0 0 16 16" width="18" height="18" fill="currentColor"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg></a>
<a href="https://github.com/doramirdor/echo-tauri" target="_blank" rel="noopener" aria-label="GitHub"><svg viewBox="0 0 16 16" width="18" height="18" fill="currentColor"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg></a>
</div>
</div>
</nav>
Expand Down
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@
],
"author": "Dor Amir <amirdor@gmail.com>",
"license": "MIT",
"homepage": "https://doramirdor.github.io/echo/",
"homepage": "https://doramirdor.github.io/echo-tauri/",
"repository": {
"type": "git",
"url": "https://github.com/doramirdor/echo.git"
"url": "https://github.com/doramirdor/echo-tauri.git"
},
"bugs": {
"url": "https://github.com/doramirdor/echo/issues"
"url": "https://github.com/doramirdor/echo-tauri/issues"
},
"main": "dist/main/index.js",
"type": "commonjs",
Expand All @@ -45,7 +45,7 @@
"publish": {
"provider": "github",
"owner": "doramirdor",
"repo": "echo"
"repo": "echo-tauri"
},
"mac": {
"category": "public.app-category.productivity",
Expand Down
Loading