DeepSeek Harness Remote
DeepSeek Harness Remote 可将手机或另一台电脑与你运行 DeepSeek Harness 的电脑安全连接,随时随地继续你的工作,方便随时查看进度并继续工作。
翻译准备中
Local-only desktop dictation for Linux and Windows: hold a key, speak, and the text lands in the focused app. On-device Parakeet speech-to-text on the CPU, no accounts, no cloud.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Desktop dictation that types into the focused app.
dictate runs as a small tray app. Press your configured push-to-talk shortcut,
speak, and it transcribes into whatever app you are already using.
Local only. Transcription runs on your machine. No account, no subscription, no API key, no hosted model. Nothing you say leaves the device.
Current status: not a commercial product. Dictate was retired as one on 2026-08-25 and is now worked on when there is time. Linux installs, Windows 11 source installs, tray controls, startup integration, local dictation history, update, and uninstall paths are implemented.
The account, subscription, cloud sync and hosted-transcription code was
removed on 2026-09-19 — 27,064 lines across 107 files. See
docs/local-only-audit.md for what went and why, and VISION.md for the
direction. The current transcription/model plan is
docs/TRANSCRIPTION_PLAN.md.
Windows 11 — Microsoft Store remains the intended public channel, with direct download from GitHub Releases available meanwhile.
The Store listing is overdue for an update and will get one once the first
stable local-only build is done. Store packaging, submission automation and the
listing copy all stay; only the in-app subscription part goes, since there is
nothing to subscribe to. See docs/msstore-automation.md.
Windows direct download:
Dictate_*_x64_en-US.msi when a staging MSI is attached.If a release does not yet have an MSI attached, use the developer/source bootstrap below or wait for the Microsoft Store package.
Windows developer/source install from the hosted bootstrap:
powershell -ExecutionPolicy Bypass -Command "iwr -useb https://cdn.jsdelivr.net/npm/@arcforgelabs/dictate@latest/install.ps1 | iex"
Unstable developer/source bootstrap for pre-stable feature testing:
powershell -ExecutionPolicy Bypass -Command "iwr -useb https://cdn.jsdelivr.net/npm/@arcforgelabs/dictate@unstable/install.ps1 | iex"
Open Dictate from the Start Menu after install.
Linux (Ubuntu) — install the release .deb. It is built once in CI with the
engine, model and desktop shell inside, so every install of a version is the
same:
Download Dictate_<version>_amd64.deb from the latest GitHub release.
Install it with apt, giving the path to the file:
sudo apt install ~/Downloads/Dictate_<version>_amd64.deb
Open Dictate from the app launcher. It starts on sign-in.
Dictate does not publish an apt repository, so apt upgrade does not see new
versions. Update from the app, or install the next release's .deb the same
way.
Linux latest code (per-user, builds on your machine, no sudo). This installs
from source into ~/.local/share/dictate and compiles the desktop shell
locally, so it needs cargo, npm and webkit2gtk-4.1-dev:
npx @arcforgelabs/dictate install
Or from a checkout: ./install-ubuntu.sh, or ./install.sh on other
distributions.
Windows developer/source install, from the repo/source directory:
powershell -ExecutionPolicy Bypass -File .\install-windows-wizard.ps1
The local .ps1 installer scripts must be run from a checkout or extracted
source directory. They will not work from C:\Windows\System32.
Node/npm users can also run the developer bootstrap:
npx @arcforgelabs/dictate install
Open Dictate
Use the mic button or configured push-to-talk shortcut
Hold shortcut, speak, release
Review Dictations when needed
By default, Dictate installs a normal app launcher entry and starts on sign-in.
Advanced configuration is available through the dictate config CLI.
Windows developer/bootstrap install:
powershell -ExecutionPolicy Bypass -Command "iwr -useb https://cdn.jsdelivr.net/npm/@arcforgelabs/dictate@latest/update.ps1 | iex"
powershell -ExecutionPolicy Bypass -Command "iwr -useb https://cdn.jsdelivr.net/npm/@arcforgelabs/dictate@latest/uninstall.ps1 | iex"
To test updates before they are promoted to stable:
powershell -ExecutionPolicy Bypass -Command "iwr -useb https://cdn.jsdelivr.net/npm/@arcforgelabs/dictate@unstable/update.ps1 | iex"
Users on the app's npm-backed update path can opt into or out of unstable updates from the CLI:
dictate config set-update-channel unstable
dictate config set-update-channel stable
Windows from source:
powershell -ExecutionPolicy Bypass -File .\update-windows.ps1
powershell -ExecutionPolicy Bypass -File .\uninstall-windows.ps1
Linux .deb install: update from the app, or install the newer .deb with
sudo apt install. Remove it with:
sudo apt purge dictate
Linux latest-code (per-user) install:
npx @arcforgelabs/dictate update --user
npx @arcforgelabs/dictate uninstall
From a checkout, ./update.sh and ./uninstall.sh do the same.
Use -RemoveUserData on Windows or --remove-user-data on Linux only when you
also want to remove config, logs, history, and downloaded model data.
Dictation runs NVIDIA Parakeet TDT 0.6B through ONNX Runtime: v2 for English
(the default, bundled with the desktop app) or v3 for 25 European languages.
Every supported model runs on your machine. The Whisper-family backends
(faster-whisper, WhisperX, whisper.cpp) were removed on 2026-09-30; a saved
config that still names one falls back to Parakeet. The desktop UI keeps engine names out of the primary workflow;
advanced users and tests can still select an explicit local engine through CLI
options and dictate config.
Dictate runs on the CPU. GPU support (NVIDIA CUDA, AMD) was dropped on
2026-10-01 to focus on CPU latency. The installers no longer install a GPU
runtime; their old GPU flags are accepted and ignored so existing update
commands keep working. The engine has no device choice: a saved GPU device in
config.yaml moves to CPU on upgrade, and --device is still accepted so the
installers and old scripts run, and is ignored.
Meetings (speaker-labelled transcripts) are not part of Dictate for now: they
were removed from every build on 2026-10-03 and are shelved as P3 (#140). On
upgrade a saved Meeting model is removed from config.yaml with a one-line
notice, and meeting transcripts you already saved stay in your notes with their
speaker labels. The installers' old --meeting / -Meeting flags are accepted
and ignored.
dictate
dictate --no-tray
dictate --once
dictate --once --copy
dictate doctor --quick
dictate doctor --quick --fix
dictate doctor --check-model-load
Advanced configuration remains available for automation and testing:
dictate --stt-backend parakeet --model parakeet-tdt-0.6b-v3
dictate config show
dictate --add-hotword AcmeWidget
dictate --list-hotwords
User state is local:
Linux:
~/.config/dictate/config.yaml
~/.local/share/dictate/
Windows:
%APPDATA%\dictate\config.yaml
%LOCALAPPDATA%\dictate\
Repo defaults intentionally ship with hotwords: []. Hotwords are user-specific
and should not be packaged into the public repo default config.
A quiet desktop window sits alongside the tray — a capture home (the mic is the
record button), the notes list, and the ⌘K palette; no settings menu (config via
the dictate config CLI).
ui/ — React/Vite front-end. For UI work, cd ui && npm run dev opens the whole app at http://localhost:5173 against a built-in mock
(no engine, no Tauri, no STT) — the fast UI loop in a browser. Details, and
when to use the Tauri shell instead, are in that README's Develop section.ui-shell/ — Tauri 2 shell that hosts it on Linux.src/dictate/ui_server.py — the loopback control server the UI talks to; the
tray can launch the shell for the desktop capture surface.design/PLAN.md for the cross-platform plan.Install it like a normal app: on Linux that is the release .deb. It
bundles the frozen Python engine (PyInstaller sidecar) and the prebuilt desktop
shell, so there is no Python, pip or compiler step:
sudo apt install ./Dictate_*_amd64.deb
The app lives in the tray and desktop shell and does push-to-talk straight away.
Build the package yourself in one step with
scripts/build-linux-desktop.sh — see
ui-shell/README.md. The per-user npm/install.sh
route installs under ~/.local/share/dictate and builds on your machine; use it
to try the latest code, not as the everyday install.
docs/ is published as the docs site at
https://arcforgelabs.github.io/docs/dictate/ by
arcforgelabs/docs. docs/docs.json
is its navigation, and docs/releases/ holds one page per release.
MIT. See LICENSE.