百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
X

xiaogpt

> AI 编程
开源

使用小米 AI 扬声器播放 ChatGPT 和其他 LLM

6.9K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

使用小米 AI 扬声器播放 ChatGPT 和其他 LLM

xiaogpt

https://user-images.githubusercontent.com/15976103/226803357-72f87a41-a15b-409e-94f5-e2d262eecd53.mp4

Play ChatGPT and other LLM with Xiaomi AI Speaker

支持的 AI 类型

  • ChatGPT
  • New Bing
  • ChatGLM
  • Gemini
  • Doubao
  • Moonshot
  • 01
  • Llama3
  • 通义千问

获取小米音响 DID

系统和 Shell Linux *sh Windows CMD 用户 Windows PowerShell 用户
1、安装包 pip install miservice_fork pip install miservice_fork pip install miservice_fork
2、设置变量 export MI_USER=xxx
export MI_PASS=xxx
set MI_USER=xxx
set MI_PASS=xxx
$env:MI_USER="xxx"
$env:MI_PASS="xxx"
3、取得 MI_DID micli list micli list micli list
4、设置 MI_DID export MI_DID=xxx set MI_DID=xxx $env:MI_DID="xxx"
  • 注意不同 shell 对环境变量的处理是不同的,尤其是 powershell 赋值时,可能需要双引号来包括值。
  • 如果获取 did 报错时,请更换一下无线网络,有很大概率解决问题。

一点原理

不用 root 使用小爱同学和 ChatGPT 交互折腾记

准备

  1. ChatGPT id
  2. 小爱音响
  3. 能正常联网的环境或 proxy
  4. python3.8+

使用

  • pip install -U --force-reinstall xiaogpt[locked]
  • 参考我 fork 的 MiService 项目 README 并在本地 terminal 跑 micli list 拿到你音响的 DID 成功 别忘了设置 export MI_DID=xxx 这个 MI_DID 用
  • run xiaogpt --hardware ${your_hardware} --use_chatgpt_api hardware 你看小爱屁股上有型号,输入进来,如果在屁股上找不到或者型号不对,可以用 micli mina 找到型号
  • 跑起来之后就可以问小爱同学问题了,“帮我"开头的问题,会发送一份给 ChatGPT 然后小爱同学用 tts 回答
  • 如果上面不可用,可以尝试用手机抓包,https://userprofile.mina.mi.com/device_profile/v2/conversation 找到 cookie 利用 --cookie '${cookie}' cookie 别忘了用单引号包裹
  • 默认用目前 ubus, 如果你的设备不支持 ubus 可以使用 --use_command 来使用 command 来 tts
  • 使用 --mute_xiaoai 选项,可以快速停掉小爱的回答
  • 使用 --account ${account} --password ${password}
  • 如果有能力可以自行替换唤醒词,也可以去掉唤醒词
  • 使用 --use_chatgpt_api 的 api 那样可以更流畅的对话,速度特别快,达到了对话的体验,openai api, 命令 --use_chatgpt_api
  • 如果你遇到了墙需要用 Cloudflare Workers 替换 api_base 请使用 --api_base ${url} 来替换。 请注意,此处你输入的 api 应该是'https://xxxx/v1'的字样,域名需要用引号包裹
  • --use_moonshot_api and other models please refer below
  • 可以跟小爱说 开始持续对话 自动进入持续对话状态,结束持续对话 结束持续对话状态。
  • 可以使用 --tts edge 来获取更好的 tts 能力
  • 可以使用 --tts fish --fish_api_key <your-fish-key> --fish_voice_key <fish-voice> 来获取 fish-audio 能力 (如何获取 fish voice 见下)
  • 可以使用 --tts openai 来获取 openai tts 能力
  • 可以使用 --tts azure --azure_tts_speech_key <your-speech-key> 来获取 Azure TTS 能力
  • 可以使用 --use_langchain 替代 --use_chatgpt_api 来调用 LangChain(默认 chatgpt)服务,实现上网检索、数学运算..

e.g.

…

使用 git clone 运行

…

config.yaml

如果想通过单一配置文件启动也是可以的,可以通过 --config 参数指定配置文件,config 文件必须是合法的 Yaml 或 JSON 格式 参数优先级

  • cli args > default > config
python3 xiaogpt.py --config xiao_config.yaml
# or
xiaogpt --config xiao_config.yaml

或者

cp xiao_config.yaml.example xiao_config.yaml
python3 xiaogpt.py

若要指定 OpenAI 的模型参数,如 model, temporature, top_p, 请在 config.yaml 中指定:

gpt_options:
  temperature: 0.9
  top_p: 0.9

具体参数作用请参考 Open AI API 文档。 ChatGLM 文档

配置项说明

参数 说明 默认值 可选值
hardware 设备型号
account 小爱账户
password 小爱账户密码
openai_key openai 的 apikey
moonshot_api_key moonshot kimi 的 apikey
yi_api_key 01 wanwu 的 apikey
llama_api_key groq 的 llama3 apikey
serpapi_api_key serpapi 的 key 参考 SerpAPI
glm_key chatglm 的 apikey
gemini_key gemini 的 apikey 参考
gemini_api_domain gemini 的自定义域名 参考
qwen_key qwen 的 apikey 参考
cookie 小爱账户 cookie(如果用上面密码登录可以不填)
mi_did 设备 did
use_command 使用 MI command 与小爱交互 false
mute_xiaoai 快速停掉小爱自己的回答 true
verbose 是否打印详细日志 false
bot 使用的 bot 类型,目前支持 chatgptapi,newbing, qwen, gemini chatgptapi
tts 使用的 TTS 类型 mi edge、 openai、azure、volc、baidu、google、minimax
tts_options TTS 参数字典,参考 tetos 获取可用参数
prompt 自定义 prompt 请用100字以内回答
keyword 自定义请求词列表 ["请"]
change_prompt_keyword 更改提示词触发列表 ["更改提示词"]
start_conversation 开始持续对话关键词 开始持续对话
end_conversation 结束持续对话关键词 结束持续对话

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Pythonchatgptllmspythonxiaomi

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类AI 编程
定价开源

> 相关工具

G
GitHub Copilot
GitHub 官方 AI 编程助手,覆盖补全、Chat 与 Agent 模式。
C
Cursor
AI 原生代码编辑器,对话改代码、多文件 Agent 与规则体系是其核心。
S
skills
Skills for Real Engineers. Straight from my .agents directory.