DeepSeek Harness Remote
DeepSeek Harness Remote 可将手机或另一台电脑与你运行 DeepSeek Harness 的电脑安全连接,随时随地继续你的工作,方便随时查看进度并继续工作。
AI 翻译
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Local-first, free, open-source speech-to-text for macOS. Press a key, talk, and your words are pasted. Nothing leaves your Mac.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Press a key, talk, press it again — your words are on the clipboard and pasted before you can look up.
Local-first speech to text for macOS. No account, no subscription, no word cap, and no audio ever leaves your machine.
Download · Releases · Changelog · ♥ Sponsor
Everything runs on your Mac. The only network requests Vocs ever makes are the first-run model download and an optional update check, and both are visible and both can be turned off.
pnpm install
pnpm tauri dev
First launch opens setup: grant the microphone, download the model, and test the hotkey. After that Vocs lives in the menu bar. Opening the app (from Finder, Launchpad or Spotlight) shows the dashboard; when it starts by itself at login it stays quietly in the menu bar.
pnpm tauri build
The bundle lands in src-tauri/target/release/bundle/ — a .app, a .dmg,
and an updater archive.
Signing the updater archive. Because a public key is configured, Tauri also signs the update artifact, and it needs the matching private key:
TAURI_SIGNING_PRIVATE_KEY="$(cat ~/.vocs-updater.key)" \
TAURI_SIGNING_PRIVATE_KEY_PASSWORD="" \
pnpm tauri build
Both variables are required. Setting the key without the password makes Tauri prompt for one interactively, which fails in any non-interactive shell with a misleading "incorrect password" error — the password is empty, it simply had no way to tell you so.
Without either, the .app and .dmg still build correctly and only the update
artifact goes unsigned. In CI both come from repository secrets.
Back that private key up somewhere you will still have in five years. It is the only thing that can sign an update. If it is lost, every existing installation is permanently stranded on whatever version it has — there is no recovery, because the public key is compiled into the apps already out there.
Vocs is distributed as a DMG from our own website, not the App Store, and without Apple notarisation. That works, with two consequences you must plan for.
What a user sees on the first launch. Gatekeeper blocks the DMG itself
("Vocs-macOS.dmg" Not Opened: "Apple could not verify…"), and may block the app
again once it is copied out. The user chooses Done (not Move to Trash), then
opens System Settings → Privacy & Security, scrolls to the message and
chooses Open Anyway (or runs xattr -dr com.apple.quarantine on the DMG,
and on /Applications/Vocs.app if asked). This happens once per file.
In-app updates are downloaded by the app itself, so they do not trigger it
again. The download page on the website must show these steps.
Sign every release with the same self-signed certificate, forever. An ad-hoc signature is new on every build, so each update would silently reset the user's Accessibility grant and pasting would stop working. A stable certificate keeps the grant. Create it once:
Vocs Signing, identity type Self Signed Root, type Code Signing..p12 and keep it in a password manager.
Losing or replacing it voids every user's Accessibility grant.APPLE_CERTIFICATE (base64 -i vocs.p12),
APPLE_CERTIFICATE_PASSWORD, and APPLE_SIGNING_IDENTITY (Vocs Signing).
Leave APPLE_ID, APPLE_PASSWORD and APPLE_TEAM_ID unset; the release
workflow then signs without notarising.The updater needs its own, separate keypair (pnpm tauri signer generate); its
private half goes in TAURI_SIGNING_PRIVATE_KEY.
If an Apple Developer account is added later, the only change is the secrets: a
Developer ID certificate in APPLE_CERTIFICATE and the three Apple variables.
Existing users then need to re-grant Accessibility once, because the signing
identity changes.
| Permission | Needed for | Without it |
|---|---|---|
| Microphone | Recording | Vocs cannot record. Required. |
| Accessibility | Pasting for you | Everything still works — text goes to the clipboard instead. |
macOS shows each of these prompts once per app. If you dismiss one, the dialog never comes back, so Vocs takes you straight to the right System Settings pane instead of asking again.
macOS keys permission grants to the bundle id plus the code signature. Builds here are ad-hoc signed, which produces a new signature every time, so every rebuild looks like a different app and the Accessibility grant is lost. Pasting silently degrades to clipboard-only and nothing explains why.
That is a development annoyance, not a bug, and it does not affect a released
build. If you are rebuilding often, create one self-signed code-signing
certificate in Keychain Access and sign every build with that same identity —
the signature then stays stable and macOS stops forgetting. docs/03 §3.4 has
the detail.
The architecture is documented in docs/, and CLAUDE.md is the rulebook.
Start with docs/00-START-HERE.md; read docs/06-CONVENTIONS-AND-GREP.md
before writing your first file, because navigation here works through a
comment-based search index rather than by reading the tree:
pnpm sot SessionState # which files own this symbol
pnpm sot:show AudioChunk # the same, with each file's header
Two ideas carry the codebase. The registry (src-tauri/src/registry/) is one
table describing every feature — adding an entry wires up its settings UI,
permission preflight, nav placement, hotkey and metrics at once. The command
factory (src-tauri/src/ipc/factory.rs) is the single function every IPC call
passes through, so validation, permissions, reentrancy, tracing and error
mapping have one implementation instead of one per handler.
Types cross to TypeScript through tauri-specta: src/lib/bindings.ts is
generated by cargo test and must never be hand-edited.
cargo test --manifest-path src-tauri/Cargo.toml # also regenerates bindings
pnpm typecheck
Issues and pull requests are welcome. Read CONTRIBUTING.md first, and report security problems privately as described in SECURITY.md. Everyone taking part follows the Code of Conduct.
MIT. See LICENSE. Third-party licences, including the models Vocs downloads, are listed in THIRD_PARTY_NOTICES.md.