feat(goose2): voice dictation via direct-ACP pattern (#8609)

Signed-off-by: tulsi <tulsi@block.xyz>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
tulsi
2026-04-20 12:26:50 -07:00
committed by GitHub
parent 2efa625da9
commit 5642e0b81e
40 changed files with 4588 additions and 25 deletions
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSMicrophoneUsageDescription</key>
<string>Goose uses your microphone to capture voice input for dictation.</string>
</dict>
</plist>
@@ -2,7 +2,9 @@ use serde::{Deserialize, Serialize};
use std::io::{BufRead, BufReader, Write};
use std::net::TcpListener;
use std::sync::Mutex;
use tauri::{AppHandle, Manager, Runtime, WebviewWindow};
use tauri::{AppHandle, Manager, Runtime};
#[cfg(target_os = "macos")]
use tauri::WebviewWindow;
#[derive(Deserialize, Debug)]
struct TestCommand {
@@ -125,6 +125,17 @@ pub(crate) static PROVIDER_CONFIG_DEFS: &[ProviderConfigDef] = &[
keys: &[],
oauth_cache_path: None,
},
// Dictation providers (voice input)
ProviderConfigDef {
id: "dictation_groq",
keys: &[key("GROQ_API_KEY", true, true)],
oauth_cache_path: None,
},
ProviderConfigDef {
id: "dictation_elevenlabs",
keys: &[key("ELEVENLABS_API_KEY", true, true)],
oauth_cache_path: None,
},
];
pub(crate) fn find_config_key(key_name: &str) -> Option<&'static ConfigKey> {