DeepSeek Harness Remote
DeepSeek Harness Remote: DeepSeek Harness 실행 PC와 모바일·PC를 안전하게 연결해 어디서나 작업 이어받기
AI 기반 음성→텍스트, macOS·Windows·iOS·Android 지원, 오프라인·클라우드 인식, 100개 언어·맞춤 AI 모드
AI powered voice to text for macOS, Windows, iOS, and Android. Dictate in any app with offline and cloud speech recognition, 100+ languages, and custom AI modes.
생산성TypeScript · ShellGitHub @superultrainc온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
superwhisper voice integration plugin for OpenCode
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Superwhisper voice integration plugin for OpenCode.
Get voice notifications when your AI coding tasks complete, and respond with your voice. Your voice response is sent back to OpenCode as the next prompt, creating a hands-free coding loop.
opencode2)curl -fsSL https://superwhisper.com/install-opencode.sh | bash
The script registers the plugin with every OpenCode CLI it finds:
| CLI | Command it runs |
|---|---|
| OpenCode 1.3.4+ | opencode plugin -g -f @superwhisper/opencode |
| OpenCode 1.0–1.3.3 | adds the plugin to plugin in ~/.config/opencode/opencode.json |
OpenCode 2 (opencode2, @opencode-ai/cli) | opencode2 plugin add @superwhisper/opencode |
Or add it to ~/.config/opencode/opencode.json yourself. OpenCode 1.x reads plugin, OpenCode 2 reads plugins:
{
"plugin": ["@superwhisper/opencode"],
"plugins": ["@superwhisper/opencode"]
}
You speak → OpenCode works → Plugin notifies Superwhisper → You speak back → loop
One package serves both plugin APIs:
@superwhisper/opencode (package root) default-exports the 1.x plugin function. OpenCode 1.0–1.2 calls every root export as a plugin, so the root exports nothing else.@superwhisper/opencode/server default-exports { id, server, setup }. OpenCode 1.3+ loads ./server and calls server; OpenCode 2 calls setup.Both adapters map their events into the same engine (src/engine.ts), so Superwhisper sees the same payloads either way.
| Superwhisper status | OpenCode 1.x | OpenCode 2 |
|---|---|---|
completed | session.idle | session.execution.succeeded |
error | session.error | session.execution.failed |
permission | permission.asked (1.0: permission.updated) | permission.asked |
question | question.asked | form.created (forms where every field has options) |
OpenCode 2 has no plugin API for answering forms, so the plugin answers them over the local service's HTTP API. It reads the URL and password from ~/.local/state/opencode/service.json, and only when that file's pid matches the plugin's own process. Forms with free-text, number or conditional fields stay in the OpenCode UI.
You can ask the agent to enable or disable Superwhisper voice notifications at any time during a session. The plugin exposes a superwhisper_toggle tool that the agent will use automatically when instructed.
Disable Superwhisper for the current session:
"Disable Superwhisper" / "Turn off voice notifications" / "Stop Superwhisper"
Re-enable Superwhisper for the current session:
"Enable Superwhisper" / "Turn voice notifications back on" / "Re-enable Superwhisper"
The toggle is session-scoped — it only affects the current OpenCode session and resets when you start a new one.
bun install
bun test
bun run typecheck
Build and install to your local OpenCode plugin folder:
bun run install-local
Or watch for changes and auto-install on save:
bun run dev
Both commands bundle the plugin and copy dist/server.js to ~/.config/opencode/plugin/superwhisper.js (OpenCode 1.3+). OpenCode picks it up on next session. For OpenCode 2, point plugins at a directory containing a server.js that re-exports dist/server.js.
| Variable | Default | Description |
|---|---|---|
SUPERWHISPER_DEBUG | unset | Set to 1 to enable debug logging (outputs to OpenCode's log) |
src/
index.ts # Package root: OpenCode 1.x plugin function
server.ts # ./server: { id, server, setup } for OpenCode 1.3+ and 2
v1.ts # OpenCode 1.x adapter (hooks, event mapping, replies)
v2.ts # OpenCode 2 adapter (setup, event mapping, forms)
engine.ts # Version-independent notification/poll state machine
inbox.ts # Superwhisper file inbox delivery
system.ts # pgrep/open/git via child_process
types.ts # Engine events, Host interface, constants
message.ts # Message extraction and summary
poll.ts # Response file polling
normalize.ts # Question/permission response normalization
*.test.ts # Tests
MIT