-
-
Notifications
You must be signed in to change notification settings - Fork 286
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
【插件】自定义口令功能 #105
Comments
如果开启服务的状态下 如何唤醒才能调用原有的播放QQ 网易云?而特定唤醒词调用xiaoai播放? |
不使用 xiaomusic 的唤醒词就会调用音箱自带的,比如说播放音乐 |
我用code1的代码执行报错,有大佬知道为什么吗? |
@shellingford37 重构后漏改了,修复了。 |
先说播放歌曲,再说 测试自定义口令 就行 |
想请教下插件那个功能,如何把用户的语音输入作为参数内容传到自定义函数里 |
现在获取不到,等我加个接口获取吧。 |
666,支持以后我可以贡献一个接入通义模型的插件 |
@CZJCC 你可以更新看看 plugins/code1.py 的测试代码,我测试了是可以拿到语音输入的原始内容的。 |
文档更新了下,active_cmd 也需要配置一下才能正常唤醒。 |
我原先设想的事用户的话术是”通义提问为什么地球是圆的“,指令匹配的时候通义提问前缀匹配到类似于code1方法,为什么地球是圆的作为参数传入这个函数,但我看现在是拿历史记录实现的 |
是的,插件函数里面再切割一下前缀就行。last_record就是当前的那条语音数据。 |
是的,这样比较简单,交给插件里面处理也比较自由。 |
key_word_dict中的“播放歌曲”口令是不能修改的是吧?因为以前用小爱同学播放歌曲说习惯了,总是触发xiaomusic自动下载歌曲,我想把口令改成“查找歌曲”,这样我当说播放歌曲的时候就调用网易云音乐或者QQ音乐,当我说查找歌曲的时候就先看本地有没有歌曲,没有话就自动下载到本地。
用以下命令安装docker
似乎自定义的口令只能以插入的方式添加上去,并不能替换掉原来的口令 |
可以在网页后台设置页面改。 |
使用的docker-compose命令安装 根据日志的提示,'播放歌曲': 'play'依然存在,只是增加了 '查找歌曲': 'play', '下载歌曲': 'play', 这两个关于play的自定义口令,所以实际上play有三条口令 “播放歌曲、查找歌曲、下载歌曲”,能否删除掉'播放歌曲': 'play'这个系统默认的口令?只使用 '查找歌曲': 'play', '下载歌曲': 'play', 这两个关于play的自定义口令 |
@mogeqian 另外提个 issue 吧,现在应该是不支持删除默认的口令。 |
好的,已经重开了一个issue #259 |
自定义口令配置需要配置到 config.json 文件里,使用 config.json 方式启动。参考 #94 。
口令的配置方式见 config-example.json 文件。口令对应的代码需要写到
plugins/
目录下面,如果是容器启动,则需要把这个目录挂载出来。config.json 格式是下面这样的。
配置自定义口令时,只需要配置 user_key_word_dict 即可,会自动插入到 key_word_dict 里的。配置格式是:
其中 "测试自定义口令" 就是对小爱音箱说的,
"exec#code1(\"hello\")"
就是要执行的插件代码,代码以exec#
开头,后面紧跟着执行代码。这里 code1 是一个插件函数,插件函数需要在 plugin 目录里实现,一个文件只会导出一个与文件名相同的插件函数。所以 code1 函数是在 plugin/code1.py 里实现的。这里只是演示了打印日志和让小爱音箱说话。还有一个示例插件是 httpget ,可以用来访问 url 。
比如下面这样配置的话,当对小爱音箱说测试链接时,会去访问 url ,可以用来很多其他的事情。
最后还需要在
active_cmd
中配上口令用于唤醒:感兴趣的可以体验一下,写了有什么好玩的插件也可以在这里分享,或者提 pr 合并进官方库里作为自带插件。
The text was updated successfully, but these errors were encountered: