MiraiForum

    • 注册
    • 登录
    • 搜索
    • 热门
    • 最新
    • 未解决
    • 标签
    • 群组
    • 友情链接

    DeepseekMirai - 把你的Bot接入Deepseek,以及任何使用OpenAI SDK的大模型!

    插件发布
    python http-api deepseek
    9
    63
    4769
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • mckyby
      mckyby 摸鱼 最后由 mckyby 编辑

      😋在论坛找了几圈,没找到可以拿来接AI的插件(还是说找的不仔细),思来想去就弄了这么一个东西:DeepseekMirai。

      🤓使用python编写,调用mirai-http-api控制收发信息。

      🤔没有毒,不信可以去测测到底有没有

      😭网不太好,不愿意用github,用魔法又被移动针对。想要源码可以直接找我要(虽然写的是一堆屎山)

      ================================

      2025-4-1 更新:

      提取码:oHoM,点击下载 DeepseekMirai[1.31](123云盘)

      虽然是这一天更的新,但是还是希望没有人会开玩笑。
      新增功能:
      1.添加了聊天命令“%usage”,可以随时查看当前会话的总tokens使用量,将enableTokenCounting设置为True即可正常使用。(可能会稍微影响性能。)
      2.自动骚扰!将chatMode更改成annoyingBot即可体验!!
      3.“%model”命令改为了从配置文件(DsModelList.json)中加载模型,使用 %model 快捷名称 即可快速切换。首次使用自动创建deepseek的配置文件,可以自行添加修改。

      {
          "快捷名称": {    
              "apiAddress": "api地址",
              "apiKey": "api密钥",
              "model": "使用的模型"
          },
      例如
          "dsreas": {
              "apiAddress": "https://api.deepseek.com",
              "apiKey": "sk-666",
              "model": "deepseek-reasoner"
          }
      }
      

      4.可以在配置文件(DsModel.json)中修改到更多的api参数,比如说重复惩罚,但是请去官网的文档学习一下怎么配置哦!
      5.优化了传给AI的用户信息,包含群名、群u是否是管理员、是否@bot等。
      6.高仿的Mirai后台输出

      已知问题:
      1.annoyingBot模式下不会响应任何命令,你执行其他mirai 命令的消息也有概率被获取
      2.可执行文件比以前“更大”了
      3.%apibalance还是会报错,原因是==写错成in了,下个版本修复。
      有没有什么新功能建议啊,要不然真的没法更新了

      ================================

      配置文件详解,兼任功能介绍:

      {
          "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秒,过长可能出问题,"
          "enableTokenCounting":true,  "是否开启“%usage”一键查token"
          "chatConfig": {
              "chatMode": "answerUser,已经支持answerUser(常规问答)和annoyingBot(自动骚扰)", 
              "annoyingBotModeConfig": {
                  "annoyingBotDefaultPrompt": "自动骚扰的默认提醒词,默认带的是骂人的",
                  "hitChance": 60,  "触发概率,范围1-100"
                  "replyAlltime":[  
                        "谁的触发概率是100%",
                        123456
                  ],
                  "neverReply": [
                        "谁永远不会触发"
                        789012
                  ]
              },
              "tipsA0": "没什么用(谁说json里写不了注释?)",
              "listenGroups": [
                  "监听群,两种模式均生效。"
                  123456,
                  789109
      ],
              "listenFriends": [
                  "监听好友,两种模式均生效。"
                  10000,
                  10011
              ],
              "blockuserList": [
                  "黑名单,仅常规模式生效,黑名单对管理员也有效。"
                  12345678
              ],
              "showblockMessages": true,是否提醒被拉黑的用户
              "atBot": false,触发是否需要@bot
              "atUser":false,回复中是否@触发者
              "sendUserInfo": false,是否发送用户信息,仅群生效
              "analyzeUserInfoPrompt": "",用来让AI识别并理解用户信息,且应用在回复中的提示词,两种聊天模式通用,会补在你的提示词的前面。
              "ATmessagePrefixs": [],拆开长句时回复的那11个前缀,尽量不要动最后一个空
              "adminMode":false,是否为白名单(管理员)模式
              "breaklongSentence": true,把长句拆开,分开发送
              "RadicalOptimization": false,所谓的“激进”优化,在拆开长句时生效。
              "commandPrefix": {
                  "answerUser": "%chat,触发提问的消息前缀,留空可以关闭触发前缀。",
                  "adminQQs": [
                      "管理员QQ列表,第一位最牛逼。"
                      66666666666
                  ],
                  "tipsA1": "以下命令只有管理员QQ可以触发,除了changePrompt、clearChatLog、memorySync之外的命令均需要首位管理员才能触发。",
                  "changeModel": "%model,快速更改模型的命令前缀",
                  "changePrompt": "%prompt,快速修改当前群/私聊提醒词的命令前缀",
                  "clearChatLog": "%rmrf,删除当前会话聊天历史",
                  "checkApiBalance": "%apibalance,查询已配置的API密钥的余额",
                  "addBlackList": "%black,拉黑某用户的命令前缀",
                  "memorySync": "%memory,大记忆恢复术(加载其他会话或保存的聊天历史)的命令前缀",
                  "addGroupList": "%addg,添加检测群的命令前缀",
                  "addFriendsList": "%addf,添加检测私聊的命令前缀",
                  "memorySave":"%save,保存当前对话的命令前缀,没提供名字默认群号/私聊QQ号"
                  "addAdmin":"%adda,添加管理员的命令前缀,只有管理员列表第一位能用"
                 "checkTokens":"%usage,快速查询总token用量,但是有思维链的模型的思维链不会被计算"
              },
      
              "defaultPrompt": "默认提醒词,没填就是猫娘咯"
          },
          "savetime": 1743004265,
          "configVersion": 1.3
      }
      

      MiraiHttpAPI该如何配置?

      看见有人不会配置MiraiHttpAPI了,在这里贴上一份配置文件。

      adapters:
        - http
        - ws
      enableVerify: true
      verifyKey: <你的密钥,可以随意设置>
      debug: false
      singleMode: false
      cacheSize: 4096
      adapterSettings:
        http:
          host: 0.0.0.0
          port: <绑定的端口>
          cors: ["*"]
          unreadQueueMaxSize: 100
        ws:
          host: 0.0.0.0
          port: <绑定的端口,可以与http端口相同>
          reservedSyncId: -1
      

      过往内容:

      没啥太大用了,点击展开即可查看。

      ================================

      2025-3-27更新:

      提取码:zJ3Z,点击下载 DeepseekMirai[1.2](123云盘)

      稍微测试了一下,新功能全部好用!

      配置文件内容更新:

      请按照下方详解,重新修改配置文件
      或查看修改详情:

      太麻烦了,现在都是自动更新了!☺️
      确保原有配置文件可读,运行第一次自动更新!

      新增功能:

      1.对于特别长特别长的回复做了一个"激进的"优化,同时设置breakLongSentence和RadicalOptimization为true即可体验!(其实就是优化了一下回复速度)
      2.添加了可以把群友信息发送给AI的选项,设置sendUserInfo为true即可体验。该功能会自动把【群友群昵称(群友QQ号)】添加在发送给AI的内容的前面,并尝试修补提示词来让AI识别到用户的信息 (里面自带的可能不咋好用😭)
      3.可以自定义设置在拆开的长句的前面的随机小前缀。(最后一位留空的是关闭拆开长句时的回复前缀,如果喜欢可以填上。)
      修复问题:
      1.每次升级后要手动更新配置文件,太麻烦了,改成自动升级了。
      已知问题:

      1"激进优化"下通1000问在回复中出现emoji会导致对话整个被截断,因为ds没问题所以怀疑是阿里的问题
      2.在新运行自动创建配置文件的时候添加的管理员可能以str形式写入了配置文件,不知道会不会因此产生问题(?)
      3.%apibalance用不了了,好像是验证出错。。

      ================================

      2025-3-13更新:

      提取码:T61O,点击下载 DeepseekMirai[1.1]废.exe(123云盘)
      提取码4NmD,点击下载 DeepseekMirai[1.1](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"
      4.(链接2)新增可以自定义temperature和max_tokens的配置文件
      下次许愿什么功能呢?
      修复问题:
      1.当一次性收到太多的消息时会出现多提供参数的问题,导致没有一条消息被回复。
      2.(链接2)当不拆开长句时开启atUser导致消息链没有被正确组装

      ================================

      最开始的版本

      提取码:qzhV,点击下载 DeepseekMirai-1.0.exe(123云盘)
      (运行效果可能不太好,尽力了)
      小提示:
      1.将commandPrefix中的answerUser设置为空,同时打开atBot,可以做到@bot直接触发,无需其他前缀。私聊直接触发,无需@。
      2.你可以去Deepseek官网的聊天页面,让它帮你生成人设,然后填到提醒词里,这样你就拥有了属于自己的"QQ智能体?"
      3.如果愿意,可以加一下群哦 (虽然没啥人) ~ 1028466667

      王 1 条回复 最后回复 回复 引用 1
      • F
        firefairy 最后由 编辑

        插眼

        1 条回复 最后回复 回复 引用 0
        • F
          firefairy 最后由 编辑

          发现的问题:多人同时触发有概率不回复

          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

          mckyby 1 条回复 最后回复 回复 引用 0
          • F
            firefairy 最后由 编辑

            因为回复较慢,可以考虑加上回复时艾特触发的那个人

            mckyby 1 条回复 最后回复 回复 引用 0
            • mckyby
              mckyby 摸鱼 @firefairy 最后由 编辑

              @firefairy 这确实是个问题,线程是后加的,没考虑到一次可以收到好多信息

              1 条回复 最后回复 回复 引用 0
              • mckyby
                mckyby 摸鱼 @firefairy 最后由 编辑

                @firefairy 有时间改一改再看看(加上了正好可以玩赛博蛐蛐了)

                F 1 条回复 最后回复 回复 引用 0
                • F
                  firefairy @mckyby 最后由 编辑

                  @mckyby 能否顺便加个管理员or白名单模式 只有管理员or白名单用户 可以触发回复

                  mckyby 2 条回复 最后回复 回复 引用 0
                  • mckyby
                    mckyby 摸鱼 @firefairy 最后由 编辑

                    @firefairy 等下个版本吧,应该挺好加

                    1 条回复 最后回复 回复 引用 0
                    • mckyby
                      mckyby 摸鱼 @firefairy 最后由 编辑

                      @firefairy 整完了,可以试试了

                      F 1 条回复 最后回复 回复 引用 0
                      • F
                        firefairy @mckyby 最后由 编辑

                        @mckyby 给劳模点赞

                        1 条回复 最后回复 回复 引用 0
                        • F
                          firefairy 最后由 firefairy 编辑

                          设置
                          "atUser": true,
                          时,
                          无法回复消息至QQ。
                          后台是有消息接收到的,只是无法发送出来。

                          ParmentError - {'code': 400, 'msg': '无效参数'}
                          发送消息失败262 {'sessionKey': 'T7x56nCl', 'target': 534312912, 'messageChain': {'type': 'At', 'target': 335693890, 'display': '?'}}

                          将atuser改为false则正常。

                          mckyby 2 条回复 最后回复 回复 引用 0
                          • mckyby
                            mckyby 摸鱼 @firefairy 最后由 编辑

                            @firefairy 这个我暂时没遇到,怎么触发的?

                            F 1 条回复 最后回复 回复 引用 0
                            • F
                              firefairy @mckyby 最后由 编辑

                              @mckyby "atUser":设置成true,?

                              mckyby 2 条回复 最后回复 回复 引用 0
                              • mckyby
                                mckyby 摸鱼 @firefairy 最后由 编辑

                                @firefairy 啊?我现在也是true,但是我没问题?。。报错看起来像是消息链没装好

                                F 1 条回复 最后回复 回复 引用 0
                                • F
                                  firefairy @mckyby 最后由 编辑

                                  @mckyby 该怎么办捏,我现在false是正常使用的。但改成true就不行了

                                  mckyby 1 条回复 最后回复 回复 引用 0
                                  • mckyby
                                    mckyby 摸鱼 @firefairy 最后由 编辑

                                    @firefairy 等晚上重新打包一份再看看吧。。

                                    F 1 条回复 最后回复 回复 引用 0
                                    • F
                                      firefairy @mckyby 最后由 编辑

                                      @mckyby 好

                                      1 条回复 最后回复 回复 引用 0
                                      • mckyby
                                        mckyby 摸鱼 @firefairy 最后由 编辑

                                        @firefairy 我能用可能是我改了一丢丢东西。。

                                        F 1 条回复 最后回复 回复 引用 0
                                        • F
                                          firefairy @mckyby 最后由 编辑

                                          @mckyby 好 等个新版本

                                          1 条回复 最后回复 回复 引用 0
                                          • mckyby
                                            mckyby 摸鱼 @firefairy 最后由 编辑

                                            @firefairy 行,遇到了55a756bf-30cc-450d-9c1e-c908769652d0-image.png

                                            F MikogoIT 2 条回复 最后回复 回复 引用 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 1 / 4
                                            • First post
                                              Last post
                                            Powered by Mamoe Technologies & NodeBB | 友情链接 | 服务监控 | Contact