ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

虾哥小智AI助手Python电脑端初体验:用config.json接入TaoToken统一Key通道

虾哥小智AI助手Python电脑端初体验:用config.json接入TaoToken统一Key通道 1. 虾哥小智AI助手Python电脑端初体验从config.json到TaoToken统一Key通道虾哥小智AI助手是把开源ESP32语音助手项目搬到电脑端运行的Python实现适合没有硬件板子、又想体验语音对话和MCP工具链的开发者。它用一份config.json管理设备身份、服务地址和模型通道启动后就能在本地跑起一个能听会说的AI客户端。这篇记录的是我在Windows电脑上第一次跑通它的过程重点放在config.json怎么填、TaoToken统一Key通道怎么接、以及启动后怎么确认对话请求真的走通了。如果你手里正好有Python环境又想把小智的模型调用收敛到一个Key上管理下面的步骤可以直接照着做。我这次用的版本是py-xiaozhi它把虾哥原版ESP32项目里的音频采集、唤醒词、MCP工具调用都搬到了桌面端。原版需要烧录固件、接麦克风和喇叭电脑端版本则用Python的音频库直接接管系统麦克风省掉了硬件调试。对重度Python用户来说改一行配置就能换模型通道比重新编译固件快得多。1.1 为什么要在config.json里接统一Key通道小智客户端默认会连到公共的模型服务但公共通道在高峰期响应不稳定而且不同模型要分别申请Key管理起来很碎。TaoToken提供的是OpenAI兼容的统一Key通道一个Key可以调用多个模型base_url指向https://taotoken.net/api就行。把它写进config.json后小智的对话请求、MCP工具里的模型调用都走同一个出口排查问题时只需要看一个地方。我试过把Key散落在环境变量和代码里结果换机器时漏了一个排查了半天。统一写进config.json的好处是配置跟着项目走复制整个文件夹就能迁移。2. TaoToken前置准备拿Key和确认接入地址在改config.json之前需要先拿到TaoToken的API Key。打开官网https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content注册后进入控制台在API Keys页面创建一个新Key。创建时建议给Key起个能认出来的名字比如xiaozhi-desktop方便以后在用量页面区分是哪个客户端在调用。拿到Key之后确认两个地址对话接口的base_urlhttps://taotoken.net/api模型列表和文档入口接入文档在官网导航里能找到模型对话页面可以先用网页版试一下Key是否有效注意API地址不要加UTM参数直接写https://taotoken.net/api即可。Key只在创建时完整显示一次复制后先存到临时文本里等config.json改完再删。如果你打算长期在电脑上跑小智做编码辅助或Agent实验可以顺带看一下Coding Plan的说明它适合高频调用场景只是偶尔对话的话按量计费的Key就够了。3. 可复制配置config.json骨架与字段说明py-xiaozhi的配置文件在项目根目录文件名就是config.json。下面是我改完能跑通的骨架字段名和原版保持一致只替换了模型通道相关的部分。你可以直接复制把YOUR_TAOTOKEN_KEY换成自己的Key。{ DEVICE_ID: 06:50:56:c0:00:71, CLIENT_ID: xiaozhi-desktop-01, SERVER_URL: wss://api.tenclass.net/xiaozhi/v1/, MODEL: { base_url: https://taotoken.net/api, api_key: YOUR_TAOTOKEN_KEY, model: gpt-4o-mini, temperature: 0.7, max_tokens: 1024 }, AUDIO: { input_device: default, output_device: default, sample_rate: 16000 }, MCP: { enabled: true, servers: [] } }几个字段的实际作用DEVICE_ID是小智控制台识别设备的唯一标识。原版默认的01:50:56:c0:00:01被很多人用过首次匹配时可能拿不到验证码。我把它改成06:50:56:c0:00:71后一次就出了验证码。如果还是不出就继续改最后两位改到出为止。MODEL.base_url指向TaoToken的API入口MODEL.api_key填刚才创建的KeyMODEL.model填你想用的模型名。TaoToken的模型列表可以在模型对话页面查到先用gpt-4o-mini这类通用模型验证通道跑通后再换。MCP.enabled先设为true但servers留空等对话跑通后再往里加MCP服务避免一开始就引入太多变量。改完保存注意JSON里不能有注释末尾不能有多余逗号否则启动时会报解析错误。4. 启动与验证确认对话请求走通TaoToken配置改好后在项目目录打开终端先装依赖再启动。py-xiaozhi的依赖里包含音频处理库Windows上如果装pyaudio报错可以先装对应Python版本的wheel包。pip install -r requirements.txt python main.py启动后终端会打印设备ID和连接状态。第一次运行会弹出小智控制台的设备匹配提示去https://xiaozhi.me登录后添加设备输入终端显示的验证码。匹配成功后终端会显示WebSocket已连接。接下来对着麦克风说一句话比如“你好介绍一下你自己”。观察终端日志如果看到类似下面的输出说明请求已经发到TaoToken并返回了[INFO] ASR result: 你好介绍一下你自己 [INFO] POST https://taotoken.net/api/chat/completions [INFO] modelgpt-4o-mini status200 [INFO] TTS start, text length42同时喇叭里应该能听到回复的语音。如果终端有请求日志但没声音检查AUDIO.output_device是否指向了正确的扬声器如果请求返回401说明Key填错了或者有多余空格。提示验证阶段可以先把MCP关掉只测对话通道。对话稳定后再打开MCP逐个添加服务这样出问题时能快速定位是模型通道还是MCP服务的问题。5. 本篇常见错排查启动报JSONDecodeErrorconfig.json里有注释或多余逗号。用编辑器的JSON校验功能检查或者把内容贴到在线JSON格式化工具里看报错位置。设备匹配不出验证码DEVICE_ID被占用。把最后两位改掉比如从71改成A3重启客户端再试。改的时候保持格式为六组两位十六进制。对话请求返回401Key错误或过期。去TaoToken控制台确认Key状态重新复制一次注意不要带空格。如果Key没问题检查base_url是否写成了带路径的地址正确写法就是https://taotoken.net/api。请求返回404模型名写错了。去模型对话页面确认可用模型列表把MODEL.model改成列表里存在的名字。有请求日志但没声音音频输出设备不对。在系统声音设置里确认默认扬声器或者把AUDIO.output_device改成设备索引。Windows上可以用python -m sounddevice列出所有设备。MCP服务启动后对话变慢某个MCP服务响应超时。先把MCP.servers清空确认对话正常后再逐个加回找出拖慢的那个。6. 接入文档与后续调试入口对话通道跑通后下一步通常是接MCP服务让小智能操作浏览器、读文件、查地图。MCP的配置也写在config.json的MCP.servers数组里每个服务是一个对象包含名称、命令和参数。添加新服务后重启客户端在终端看MCP初始化日志。如果你在接入过程中遇到Key相关的报错优先去API Keys页面确认Key状态和用量模型名或参数问题去接入文档对照字段说明想先验证某个模型是否可用用模型对话页面发一条测试消息最快。长期在电脑上跑编码辅助或Agent任务的话Coding Plan的额度模式比按量计费更省心。我自己的习惯是每改一次config.json就重启一次客户端并且把终端日志重定向到文件出问题时翻日志比猜快得多。小智的MCP生态还在快速更新config.json的字段以后可能会增加升级版本时先备份自己的配置再对比新版的示例文件合并。
返回列表