用途:在 Go 代码中运行 Deepgram Voice Agent 实时会话,适用于 pkg/client/agent 下的实时语音代理流程,包括打开 WebSocket 会话、发送初始设置、流式传输音频、响应代理事件与函数调用消息,以及会话中更新提示词与语音设置。若只需 STT、TTS 或管理接口,应改用对应技能。
主要能力:提供基于通道的构造器与运行时方法,如 agent.NewSettingsConfigurationOptions()、agent.NewWSUsingChanWithDefaults(...)、agent.NewWSUsingChan(...),以及 Connect、Start、ProcessMessage、Stream、Write、KeepAlive 和重连辅助方法。支持 UpdatePrompt、UpdateSpeak、InjectAgentMessage、InjectUserMessage、FunctionCallResponse,并处理 WelcomeResponse、ConversationTextResponse、FunctionCallRequestResponse、AgentStartedSpeakingResponse、AgentAudioDoneResponse 等事件。
使用方式:先设置环境变量 export DEEPGRAM_API_KEY="your_api_key",再创建设置与处理器,建立连接并启动会话。示例中 Connect() 返回 bool 而非 error,需用 defer conn.Stop() 释放连接。基于通道的构造器需要 AgentMessageChan 处理器,事件路由到该通道而非从客户端拉取。
适用场景与限制:适合实时语音代理的音频流、事件处理与函数调用响应循环,需并发运行。该仓库仅暴露 WebSocket 实时运行时,不提供持久化配置管理。应遵循仓库已有消息结构,不要自行发明事件名。参考文件包括 README.md、pkg/client/agent/client.go、pkg/api/agent/v1/websocket/interfaces/types.go 及 examples/agent/websocket 下的示例。跨语言产品知识可安装 npx skills add deepgram/skills。