用途:在 deepgram-dotnet-sdk 仓库中编写或审查 C# 代码,通过单个 WebSocket 构建交互式 Deepgram Voice Agent 全双工语音会话。单向转写应改用 speech-to-text 或 conversational-stt 技能,单向合成改用 text-to-speech,管理类 API 改用 management-api。
安装与鉴权:dotnet add package Deepgram;如需本地麦克风采集再执行 dotnet add package Deepgram.Microphone。调用 Deepgram.Library.Initialize(),默认读取 DEEPGRAM_API_KEY 环境变量,也可传 apiKey 覆盖;用 ClientFactory.CreateAgentWebSocketClient() 创建客户端。
主要能力:通过 SettingsSchema 配置 Agent、Listen、Think、Speak 及 Audio 输入输出;订阅 ConversationTextResponse、AudioResponse、AgentStartedSpeakingResponse、AgentAudioDoneResponse、AgentThinkingResponse、UserStartedSpeakingResponse、FunctionCallRequestResponse、SettingsAppliedResponse 等事件;使用 SendInjectUserMessage、SendBinary、SendBinaryImmediately、SendKeepAlive 等发送辅助方法。麦克风推流用 Microphone 的 push_callback 将音频块通过 SendBinary 发送,示例采样率 24000、单声道、Int16。
限制与注意:事件与模型名须使用本仓库名称(如 SettingsSchema、ConversationTextResponse),不要用 Python 命名;Provider 为动态类型,额外属性经 JsonExtensionData 存储;函数调用支持不完整,FunctionCallRequestResponse 标注为 TODO,依赖类型字段前应检查原始负载;公共接口没有 SendFunctionCallResponse 便捷方法,需手动序列化 FunctionCallResponseSchema 走通用发送路径;输入输出音频格式必须匹配,示例统一为 linear16/24000;Deepgram.Microphone 依赖 PortAudio,本地麦克风示例需要该辅助项目与可用的 PortAudio 环境。仓库示例见 examples/agent/websocket/ 下的 simple、no_mic、arbitrary_keys。