DeepseekMirai - 把你的Bot接入Deepseek
-
😋在论坛找了几圈,没找到可以拿来接AI的插件(还是说找的不仔细),思来想去就弄了这么一个东西:DeepseekMirai。
🤓使用python编写,调用mirai-http-api控制收发信息。
🤔没有毒,不信可以去测测到底有没有
😭网不太好,不愿意用github,用魔法又被移动针对。所以,想要源码或者linux版本可以直接找我要(虽然写的是一堆屎山)
================================
2025-3-13更新:
提取码:T61O,点击下载 DeepseekMirai[1.1].exe(123云盘)
更新的有点着急了(笑),没怎么测试,但是我猜应该没什么问题吧(叉腰)
配置文件内容更新:
请按照下方详解,重新修改配置文件
或查看修改详情:在chatConfig里加入了atUser,和adminMode两个布尔值,
在chatConfig.commandPrefix里加入了addAdmin 文本值,默认为“%adda”
当你遇到TypeError: startswith first arg must be str or a tuple of str, not NoneType这样的问题,就是没有更新配置文件导致的新增功能:
1.多人同时触发回复时会在回复内容中@触发者,并在拆开的长句的每一句前面都加上了随机的小前缀(共11种)
2.加入了白名单模式,如果开启将只回复所有群中的被配置的管理员,其他任何人无法触发,私聊不受影响。
3.加入快捷添加管理员的指令,默认前缀为“%adda”
修复问题:
1.当一次性收到太多的消息时会出现多提供参数的问题,导致没有一条消息被回复。================================
最开始的版本
提取码:qzhV,点击下载 DeepseekMirai-1.0.exe(123云盘)
(运行效果可能不太好,尽力了)
小提示:
1.将commandPrefix中的answerUser设置为空,同时打开atBot,可以做到@bot直接触发,无需其他前缀。私聊直接触发,无需@。
2.你可以去Deepseek官网的聊天页面,让它帮你生成人设,然后填到提醒词里,这样你就拥有了属于自己的“QQ智能体?”配置文件详解:
{ "code": "0", "host": "你的api插件地址,只支持http/s协议,末尾要带斜杠/", "verifykeys": "你的api插件的密钥", "botqq": "绑定的机器人", "deepseekapiaddress": "https://api.deepseek.com", "deepseekapikey": "去Deepseek官网申请来的api密钥", "deepseekapimodel": "支持deepseek-chat和deepseek-reasoner", "requesttimeSleep": (int)刷新消息延迟,默认为1秒,过长可能出问题, "chatConfig": { "chatMode": "answerUser", "annoyingBotModeConfig": { "annoyingBotDefaultPrompt": "自动骚扰的默认提醒词,写的不太好,尝试优化中...(预计1.3加入?)", "hitChance": 100, "getChatHistoryCount": 1, "replyAlltime":[] }, "tipsA0": "没什么用", "listenGroups": [ 123456, 789109 ], "listenFriends": [ 10000 10011 ], "blockuserList": [ 12345678 ], "showblockMessages": true, 是否提醒被拉黑的用户 "atBot": false, 触发是否需要@bot "atUser":false, 1.1新增项,回复中是否@触发者 "adminMode":false, 1.1新增项,是否为白名单(管理员)模式 "breaklongSentence": true, 把长句拆开,分开发送 "commandPrefix": { "answerUser": "%chat,触发提问的消息前缀", "adminQQs": [ 2146187991 ], "tipsA1": "还是没啥用。以下涉及到写文件的操作只有管理员qq列表的第一位可以使用,比如说保存。", "changeModel": "%model,快速更改模型的命令前缀", "changePrompt": "%prompt,快速修改当前群/私聊提醒词的命令前缀", "clearChatLog": "%rmrf,删除当前聊天历史", "checkApiBalance": "%apibalance,查询已配置的API密钥的余额", "addBlackList": "%black,拉黑某用户的命令前缀", "memorySync": "%memory,大记忆恢复术(加载其他会话或保存的聊天历史)的命令前缀", "addGroupList": "%addg,添加检测群的命令前缀", "addFriendsList": "%addf,添加检测私聊的命令前缀", "memorySave":"%save,保存当前对话的命令前缀,没提供名字默认群号/私聊QQ号" "addAdmin":"%adda 1.1新增,添加管理员的命令前缀,只有管理员列表第一位能用" }, "defaultPrompt": "默认提醒词,没填就是猫娘咯" } }
六百六十六我们某群群友已经把机器人哄成npy了
-
插眼
-
发现的问题:多人同时触发有概率不回复
Exception in thread Thread-5 (answerUser0b):
Traceback (most recent call last):
File "threading.py", line 1075, in _bootstrap_inner
File "threading.py", line 1012, in run
TypeError: userRequest.answerUser0b() takes 1 positional argument but 2 were given -
因为回复较慢,可以考虑加上回复时艾特触发的那个人
-
@firefairy 这确实是个问题,线程是后加的,没考虑到一次可以收到好多信息
-
@firefairy 有时间改一改再看看(加上了正好可以玩赛博蛐蛐了)
-
@mckyby 能否顺便加个管理员or白名单模式 只有管理员or白名单用户 可以触发回复
-
@firefairy 等下个版本吧,应该挺好加
-
@firefairy 整完了,可以试试了