yihong0618 / xiaogpt

Play ChatGPT and other LLM with Xiaomi AI Speaker
MIT License
5.85k stars 815 forks source link

【Show & Tell】 Node.js 版本 #515

Closed idootop closed 1 month ago

idootop commented 1 month ago

项目地址 👉 https://github.com/idootop/mi-gpt

我在此项目的基础上,将其移植到了 Node.js,并添加了以下新特性:

image
yihong0618 commented 1 month ago

你可以提个 PR 放到推荐 fork 里

yihong0618 commented 1 month ago

@idootop 谢谢我去帮你宣传下。 另外如果有新的想法你那边实现了欢迎 PR.

idootop commented 1 month ago

@yihong0618 多谢。

目前轮训消息这种实现方式,瓶颈在于无法及时 mute 小爱的回复。

要想效果完美只有走刷机改造这条路,不过这对于小白来说,上手难度和后期维护成本都太高了。

期待以后会有一些开放生态的智能硬件设备出现,这样就可以随心定制了。

yihong0618 commented 1 month ago

@yihong0618 多谢。

目前轮训消息这种实现方式,瓶颈在于无法及时 mute 小爱的回复。

要想效果完美只有走刷机改造这条路,不过这对于小白来说,上手难度和后期维护成本都太高了。

期待以后会有一些开放生态的智能硬件设备出现,这样就可以随心定制了。

其实是可以的我之前实现过

你可以试着实现下,或者参考那个主播模式的 issue 但问题是这样就失去了 xiaoai 本身的功能。可以做个开启命令。

idootop commented 1 month ago

是的,在我的实现里就是这个逻辑。

只不过我不是在空闲阶段一直 stop 设备播放任何音频,

而是通过播放空音频,TTS 无发音字符串,切换麦克风开关状态等方式来强制打断小爱的回复。

各种骚操作都试过,最后的效果都不是很完美。

也可能是我设置的轮训间隔略长,但是去掉间隔后风险太高了,不适合长期运行

idootop commented 1 month ago

这样就失去了 xiaoai 本身的功能

换一种思路,你说的这种“主播模式”,在我的实现里称之为“唤醒状态”,类似于小爱技能:

通过唤醒词进入后就会开始循环 mute 小爱的正常回复(但是可以正常和小爱对话),

当超过一定时间没有新对话产生时,自动退出唤醒状态(也可以通过退出关键词手动触发)。

yihong0618 commented 1 month ago

握手。 我们暂时没去做的原因是那样会频繁请求不太靠谱。所以没有更新上去

yihong0618 commented 1 month ago

anyway 欢迎 pr 哈哈^_^ 有更好的想法。(我们没做长期记忆的原因是因为那样会浪费很多 token 建议提醒下用户

shog86 commented 4 weeks ago

“唤醒状态”,类似于小爱技能:

通过唤醒词进入后就会开始循环 mute 小爱的正常回复(但是可以正常和小爱对话),

当超过一定时间没有新对话产生时,自动退出唤醒状态(也可以通过退出关键词手动触发)。

你这段儿建议加到项目readme里😉