Documentation
¶
Index ¶
- func ApplyLocalInstallDefaults(cfg *Config, state *InstallState) bool
- func ApplyManagedIntegrationDefaults(cfg *Config) bool
- func HuggingFaceTokenEnvName(cfg *Config) string
- func HuggingFaceTokenStatus(cfg *Config) (secrets.TokenStatus, error)
- func IsFirstRun() bool
- func ManagedHuggingFaceAvailableInBuild() bool
- func OverrideManagedHuggingFaceBuildForTests(value string) func()
- func ResolveHuggingFaceToken(cfg *Config) (string, secrets.TokenStatus, error)
- func ResolveSecret(envName string) string
- func ResolveSecretFromEnvironmentOrDoppler(envName string) string
- func Save(path string, cfg *Config) error
- func SaveInstallState(state *InstallState) error
- type AudioConfig
- type Config
- type FeedbackConfig
- type GeneralConfig
- type GoogleProviderConfig
- type GroqProviderConfig
- type HuggingFaceConfig
- type InstallMode
- type InstallState
- type LocalConfig
- type OllamaProviderConfig
- type OpenAIProviderConfig
- type OpenRouterProviderConfig
- type ProvidersConfig
- type RoutingConfig
- type ShortcutLocaleConfig
- type ShortcutsConfig
- type StoreConfig
- type TTSConfig
- type TTSGoogle
- type TTSHuggingFace
- type TTSLocal
- type TTSOpenAI
- type UIConfig
- type VPSConfig
- type VocabularyConfig
- type VoiceAgentConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ApplyLocalInstallDefaults ¶ added in v0.14.1
func ApplyLocalInstallDefaults(cfg *Config, state *InstallState) bool
ApplyLocalInstallDefaults configures a pending local install to wait for the onboarding download flow before enabling a local Whisper runtime.
func HuggingFaceTokenEnvName ¶
func HuggingFaceTokenStatus ¶
func HuggingFaceTokenStatus(cfg *Config) (secrets.TokenStatus, error)
func ManagedHuggingFaceAvailableInBuild ¶ added in v0.14.6
func ManagedHuggingFaceAvailableInBuild() bool
func OverrideManagedHuggingFaceBuildForTests ¶ added in v0.14.6
func OverrideManagedHuggingFaceBuildForTests(value string) func()
func ResolveHuggingFaceToken ¶
func ResolveHuggingFaceToken(cfg *Config) (string, secrets.TokenStatus, error)
func ResolveSecret ¶
ResolveSecret resolves a secret by name. Checks environment first, then Doppler CLI when DOPPLER_PROJECT and DOPPLER_CONFIG are set explicitly.
func ResolveSecretFromEnvironmentOrDoppler ¶ added in v0.14.8
func SaveInstallState ¶
func SaveInstallState(state *InstallState) error
SaveInstallState writes the install state to disk.
Types ¶
type AudioConfig ¶
type Config ¶
type Config struct {
General GeneralConfig `toml:"general"`
Audio AudioConfig `toml:"audio"`
UI UIConfig `toml:"ui"`
Vocabulary VocabularyConfig `toml:"vocabulary"`
Shortcuts ShortcutsConfig `toml:"shortcuts"`
Local LocalConfig `toml:"local"`
VPS VPSConfig `toml:"vps"`
HuggingFace HuggingFaceConfig `toml:"huggingface"`
Routing RoutingConfig `toml:"routing"`
Feedback FeedbackConfig `toml:"feedback"` // legacy compat; prefer Store
Store StoreConfig `toml:"store"`
Providers ProvidersConfig `toml:"providers"`
TTS TTSConfig `toml:"tts"`
VoiceAgent VoiceAgentConfig `toml:"voice_agent"`
}
type FeedbackConfig ¶
type GeneralConfig ¶
type GeneralConfig struct {
Language string `toml:"language"`
Hotkey string `toml:"hotkey"` // Deprecated: legacy single-hotkey field kept for config file compat. Use DictateHotkey.
DictateHotkey string `toml:"dictate_hotkey"`
AgentHotkey string `toml:"agent_hotkey"`
AgentMode string `toml:"agent_mode"` // "assist" or "voice_agent" — determines what agent_hotkey triggers
ActiveMode string `toml:"active_mode"` // legacy compat
HotkeyMode string `toml:"hotkey_mode"` // "push_to_talk" or "toggle"
AutoStopSilenceMs int `toml:"auto_stop_silence_ms"`
FastModeSilenceMs int `toml:"fast_mode_silence_ms"` // silence threshold for Quick Capture auto-stop
}
type GoogleProviderConfig ¶
type GroqProviderConfig ¶
type HuggingFaceConfig ¶
type InstallMode ¶
type InstallMode string
InstallMode defines whether SpeechKit runs locally or connected to kombify Cloud.
const ( InstallModeLocal InstallMode = "local" InstallModeCloud InstallMode = "cloud" InstallModeNotSet InstallMode = "" )
type InstallState ¶
type InstallState struct {
Mode InstallMode `toml:"mode"`
SetupDone bool `toml:"setup_done"`
DeviceID string `toml:"device_id"`
}
InstallState persists the user's install mode choice and device identity. Stored in %APPDATA%/SpeechKit/install.toml, separate from config.toml.
func LoadInstallState ¶
func LoadInstallState() (*InstallState, error)
LoadInstallState reads the install state from disk. Returns a default (empty mode) if the file doesn't exist.
type LocalConfig ¶
type OllamaProviderConfig ¶
type OpenAIProviderConfig ¶
type OpenAIProviderConfig struct {
Enabled bool `toml:"enabled"`
APIKeyEnv string `toml:"api_key_env"`
STTModel string `toml:"stt_model"`
UtilityModel string `toml:"utility_model"`
AssistModel string `toml:"assist_model"`
AgentModel string `toml:"agent_model"`
TTSModel string `toml:"tts_model"`
TTSVoice string `toml:"tts_voice"`
RealtimeModel string `toml:"realtime_model"`
}
type OpenRouterProviderConfig ¶ added in v0.15.0
type ProvidersConfig ¶
type ProvidersConfig struct {
OpenAI OpenAIProviderConfig `toml:"openai"`
Groq GroqProviderConfig `toml:"groq"`
Google GoogleProviderConfig `toml:"google"`
Ollama OllamaProviderConfig `toml:"ollama"`
OpenRouter OpenRouterProviderConfig `toml:"openrouter"`
}
ProvidersConfig groups all external provider configurations.
type RoutingConfig ¶
type ShortcutLocaleConfig ¶ added in v0.18.0
type ShortcutsConfig ¶ added in v0.18.0
type ShortcutsConfig struct {
Locale map[string]ShortcutLocaleConfig `toml:"locale"`
}
type StoreConfig ¶
type StoreConfig struct {
Backend string `toml:"backend"` // "sqlite" | "postgres" | registered name
SQLitePath string `toml:"sqlite_path"`
PostgresDSN string `toml:"postgres_dsn"`
SaveAudio bool `toml:"save_audio"`
AudioRetentionDays int `toml:"audio_retention_days"`
MaxAudioStorageMB int `toml:"max_audio_storage_mb"`
}
type TTSConfig ¶
type TTSConfig struct {
Enabled bool `toml:"enabled"`
Strategy string `toml:"strategy"` // "cloud-first", "local-first", "cloud-only", "local-only"
Voice string `toml:"voice"` // Global default voice override
Speed float64 `toml:"speed"` // Global speed 0.25-4.0, default 1.0
Format string `toml:"format"` // "mp3", "wav", "opus", "pcm"
OpenAI TTSOpenAI `toml:"openai"`
Google TTSGoogle `toml:"google"`
HuggingFace TTSHuggingFace `toml:"huggingface"`
Local TTSLocal `toml:"local"`
}
TTSConfig configures text-to-speech for Assist Mode.
type TTSHuggingFace ¶
type UIConfig ¶
type UIConfig struct {
OverlayEnabled bool `toml:"overlay_enabled"`
OverlayPosition string `toml:"overlay_position"` // "top", "bottom", "left", "right"
OverlayMovable bool `toml:"overlay_movable"`
OverlayFreeX int `toml:"overlay_free_x"`
OverlayFreeY int `toml:"overlay_free_y"`
Visualizer string `toml:"visualizer"`
Design string `toml:"design"`
}
type VocabularyConfig ¶ added in v0.14.6
type VocabularyConfig struct {
Dictionary string `toml:"dictionary"`
}
type VoiceAgentConfig ¶
type VoiceAgentConfig struct {
Enabled bool `toml:"enabled"`
Model string `toml:"model"` // Real-time model ID (e.g. "gemini-2.5-flash-native-audio-preview-12-2025")
FallbackModel string `toml:"fallback_model"` // Fallback real-time model
Voice string `toml:"voice"` // Voice name for real-time model
Instruction string `toml:"instruction"` // Optional host-supplied instruction or guide for the Voice Agent
ReminderAfterIdleSec int `toml:"reminder_after_idle_sec"`
DeactivateAfterIdleSec int `toml:"deactivate_after_idle_sec"`
PipelineFallback bool `toml:"pipeline_fallback"` // Use STT+LLM+TTS as last resort
ShowPrompter bool `toml:"show_prompter"` // Show live transcript prompter window
EnableInputTranscript bool `toml:"enable_input_transcript"`
EnableOutputTranscript bool `toml:"enable_output_transcript"`
EnableAffectiveDialog bool `toml:"enable_affective_dialog"`
ThinkingEnabled bool `toml:"thinking_enabled"`
IncludeThoughts bool `toml:"include_thoughts"`
ThinkingBudget int `toml:"thinking_budget"`
ThinkingLevel string `toml:"thinking_level"`
ContextCompressionEnabled bool `toml:"context_compression_enabled"`
ContextCompressionTriggerTokens int64 `toml:"context_compression_trigger_tokens"`
ContextCompressionTargetTokens int64 `toml:"context_compression_target_tokens"`
AutomaticActivityDetection bool `toml:"automatic_activity_detection"`
ActivityHandling string `toml:"activity_handling"`
TurnCoverage string `toml:"turn_coverage"`
VADStartSensitivity string `toml:"vad_start_sensitivity"`
VADEndSensitivity string `toml:"vad_end_sensitivity"`
VADPrefixPaddingMs int `toml:"vad_prefix_padding_ms"`
VADSilenceDurationMs int `toml:"vad_silence_duration_ms"`
}
VoiceAgentConfig configures the real-time Voice Agent Mode.