【第三方MN插件】MN ChatAI(原MN ChatGLM),内置免费GPT-3.5

插件反馈

插件介绍

论坛内容更新较慢,最新文档请看:MN ChatAI

插件依赖 MNUtils 插件运行:MN Utils

所有功能都支持iPad和Mac
除官方签名版本外,安装插件需要在设置中允许“加载未经认证的插件”
安装方式

  1. 使用MN Utils的插件更新面板安装
  2. 下载后用mn打开mnaddon文件,或在mn的插件界面导入插件

更新日志

  • 0.2.1 (该版本的使用文档未在论坛更新)
    mnchatglm_v0_2_1.mnaddon (767.2 KB)

    1. markdown渲染改用vditor,同时也是markdown编辑器,可以直接编辑AI生成的内容
    2. 更新模型,适配Minimax、qwen和deepseek
    3. 订阅相关:
      • 去除添加变量按钮的订阅限制
      • 订阅用户使用Built-in渠道时,无每日100次限制
      • 非订阅下禁用自动导入/导出
      • 改进订阅状态的提示逻辑
      • 尝试支持黑暗模式
    4. 修复GLM函数调用的问题
    5. 新增AI生成内容语音播放(minmax的speech-02模型),暂时免费使用
    6. 小窗和连续对话的输入窗口可以通过在内容结尾双击回车键直接发送(即保证内容结尾有两个换行符)
    7. 支持设置AI完成回答后执行的动作(Action)
    8. UI相关
      • 原autoAction改名trigger
      • 通知窗口copilot按钮改为setExcerpt按钮
      • 取消通知窗口下的切换位置按钮,改为手势切换,并添加addChildNote按钮
      • 聊天窗口新增setExcerpt按钮和addChildNote按钮
      • 改进设置页面宽屏适配
      • 修复通知窗口prompt显示错误的问题
      • 修复调整窗口位置的bug
      • 适配iOS等宽度较窄情况下的UI布局
      • 插件logo点击响应改为弹出菜单
      • 聊天模式下可临时切换模型(订阅功能)
      • 通知窗口的重新提问可以选择模型(订阅功能)
    9. 初步支持视觉模式
      • 支持设置是否以jpeg格式压缩图片(model标签页内)
    10. 解决无法使用快捷键复制选中内容的问题
    11. 修复模型调用错误的问题
    12. 改进报错记录
    13. 修复built-in刷新key的问题
    14. 可被Toolbar控制logo开关
    15. 小窗口新增清空历史信息按钮(仅对手动输入文字触发的有效),用于发起一个不带任何变量的对话
    16. 新增变量:
      • {{userInput}}:指代小窗口手动输入的文本,不存在该内容时退化为{{context}}变量
      • {{cards}}和{{cardsOCR}}:用于提供所选多张卡片的信息
      • {{currentDocAttach}}和{{noteDocAttach}}:用于获取对应文档的内容
    17. 尝试修复多窗口的问题
    18. 删除和重置按钮改为弹窗确认,并修复一些问题
    19. 配置导出到卡片会使用markdown代码块包裹,提升可读性
    20. 解决bigbang无响应的问题
    21. 修复焦点占据问题
    22. 改进报错检测
    23. 减少多余的错误提示
    24. 修复演示模式重启后的报错
    25. 改进获取token消耗的逻辑
    26. 同步改进:
      • 支持使用Cloudflare R2、InfiniCloud和Webdav同步配置(暂时不能确保可靠性)
      • 使用横条颜色指示同步状态(蓝色:未在同步,红色:正在同步,绿色:本次同步成功)
      • 改进同步页面下的paste按钮,支持粘贴url获得noteid
    27. 优化上手难度:
      • dynamic默认开启
      • built-in在无内置key时会自动刷新内置key
      • 直接提供一个源:subscription,不需要填写key和url
      • Func改名Tools
      • 删除部分过时模型
      • Built-in显示各渠道模型名‘
    28. 尝试修复通过URL Scheme冷启动MN时的问题
    29. 修复模型名带有空格导致报错的问题
    30. 改进悬浮窗的拖拽问题
    31. 优化minimax报错
  • 0.2.0
    mnchatglm_v0_2_0.mnaddon (111.5 KB)

    1. 该版本开始依赖 MNUtils 插件运行:MN Utils
    2. 新增配置同步功能(需要订阅,慎用,好像有点 bug)
    3. 新增关闭插件时的弹窗警告,避免关闭插件就清楚所有配置
    4. 函数调用改进:
      • 适配openai的并行函数
      • 解决res.tool_calls报错
      • 函数调用增加设置摘录功能(set excerpt)
    5. UI改进:
      • 代码块渲染改进,支持复制
      • 动态窗口支持根据输入调整输入框高度
      • 尝试修复多窗口下的UI问题
      • 部分按钮及弹出菜单优化
      • ChatGPT渠道模型完善,且去除部分非openai模型,需要的用户自行自定义模型
    6. 连续对话界面改进:
      • 支持markdown和公式渲染
      • 支持重新生成
      • 输入框优化,随着用户输入行数增多会向下拓展空间
      • 修复拖动窗口后的UI显示问题,修复重新生成时的UI问题
      • 改进聊天界面的函数调用显示和重新生成
      • 聊天界面支持复制、设为标题和设为评论等操作
    7. 其他改进:
      • 保存url时会自动去除头尾空格
      • OCR能力转交给MN OCR完成
      • 改进对MN Utils的检测
      • 对响应的latex公式部分做预处理,全部替换为$$格式
      • 修复在一次请求中,函数回复会清除文字回复内容的情况
      • 双击保存按钮或者prompt时,会检测当前情况是否允许发起对话
      • 修复内置key中每日限制未更新的问题
      • 提供从订阅直接导入apikey和url的功能
      • custom渠道的url修改为需要提供完整url,用以兼容部分格式与openai相同但url不同的模型,如minimax(https://api.minimax.chat/v1/text/chatcompletion_v2
      • ChatGPT渠道模型完善,且去除部分非openai模型,需要的用户自行自定义模型
      • 优化了prompt界面保存按钮的保存逻辑,减少因保存过慢导致的双击检测失败
      • 优化了复习界面下的使用
      • 更新Gemini模型
      • 优化程序初始化的逻辑
      • 修复{{card}}变量不能正常获得图片OCR结果的问题
      • 修复{{noteDocInfo}}未能获取到卡片文档的问题
      • 新增多个变量

一、手动模式

  • 选中文字或卡片后,在对应的Prompt下点击双击"save",即可触发,执行结果以通知显示
    CleanShot 2024-04-23 at 13.07.48
  • 悬浮模式(需在设置中手动开启:Advanced中的dynamic)
    CleanShot 2024-02-23 at 23.14.17

二、自动模式

  • 可以实现在选中文字/点击卡片时自动执行当前的prompt(prompt内容请看第四部分),执行结果通知显示

    CleanShot 2024-01-05 at 15.38.07.gif

  • 需要在Action面板中开启

  • 开启后插件logo会处于高亮状态,设置中会多出来四个选项:

    1. On New Excerpt:是否在创建新摘录时自动执行,默认开启(可设置对哪些颜色的新摘录执行)
    2. On Selection:是否在文档中选中文字时自动执行(注意是在弹窗出现后),默认开启
    3. On Note:是否在点击卡片时自动执行(注意是在弹窗出现后),默认开启(可设置对哪些颜色的卡片执行)
    4. Delay:是否需要延迟执行,延迟执行可以避免双击卡片进入编辑模式时触发

    Image.png

三、通知窗口介绍

  1. 自动模式下,会自动调用api执行prompt,执行结果会以通知的形式弹出,通知会持续十秒,到时自动消失,窗口本身为文本输入框,结果可以直接编辑

  2. 窗口除了关闭按钮外,还提供了多个快捷按钮

  3. 如果对执行结果不满意,重新执行prompt有可能会得到更好的结果,点击后会重新开启十秒的通知倒计时

  4. 聊天模式

    该模式会记住上下文

    Image.png

四、自定义Prompt

  • 插件默认只给了三个最简单的prompt:翻译,标题和关键词,点击按钮切换当前prompt

  • 点击设置后就会出现自定义prompt的界面,点击对应的prompt,会显示当前prompt的标题和内容,修改后点击保存即可

  • prompt目前支持六个变量:{{context}}、{{card}}、{{knowledge}}、{{currentDocInfo}}、{{noteDocInfo}}和{{textOCR}},具体内容见https://feliks.craft.me/feedback

  • 点击:heavy_plus_sign:按钮添加新的prompt,自行编辑标题和内容,完成后点击保存

  • 点击delete删除选中的prompt,点击reset回复为默认的prompt

  • 对于ChatGPT而言,可以指定最开始的system信息。对ChatGLM无效

  • 点击Run可以直接执行该Prompt,方便测试,也是手动操作的方式(也可以通过MN Toolbar来实现手动触发)

    Image.png

  • 上图里的Prompt我自定义过了,不是默认的

五、 内置key的使用

  • 插件默认使用ChatGLM模式,但其实还有内置key的模式(方便小白体验),该模式使用内置的GPT-3.5,为避免滥用,每天限制使用100次。我尽力提供长期维护,但不保证响应速度。建议有条件的用户用自己的key。

  • 有疑问可以加群交流:539305227

  • Tunnel​:one:: 仅有100次的日限制

  • Tunnel​:two::该通道除了100次日限制外,还有每小时请求不能超过60次的限制,但是只需要一次刷新保存即可长期使用

  • Tunnel​:three::仅有100次的日限制

  • Tunnel​:four::仅有100次的日限制

  • 注意首次使用必须点击Refresh按钮,以获取最新的key
    image

六、API key获取

  1. ChatGLM

    打开这个链接,需要注册登录,登录后尽量用全屏模式,在右上角会看到一个查看API keys的按钮,点击进入,目前只有一个API key,点击复制,然后重新打开设置面板,点击paste即可完成api key的输入

    image

  2. ChatGPT

    这个自己想办法吧,官方直连的理论上不需要粘贴url,默认使用https://api.openai.com,如果不行就自己粘贴
    如果你正在使用MN Subscription的非测试key,则可以一键导入至该插件中,或者手动填入你的订阅key和url(https://api.feliks.top)。【第三方MN插件】MN Subscription,按日订阅的付费方案
    image

    提供模型切换选项(gpt4需要你的key支持才能用)

    支持查询余额(能不能用看你的key的支持情况)

    支持自定义模型

  3. KimiChat
    打开Moonshot官网,登录后选择API Key管理,点击新建,完成后复制key(注意在弹出的窗口复制key,窗口关掉就没法复制了)。url使用https://api.moonshot.cn

七、其他设置及说明

  1. 文字选择优先级,暂时不提供整个卡片的选择,而是有一个选择优先级,摘录优先级最高,如果该卡片没有摘录文字,则尝试获取标题,没有标题则再尝试获取第一个文字评论

    Image.png

  2. 对于通知窗口,如果点击了文本框,则会临时取消通知的自动关闭

八、订阅部分

  1. 为每个prompt预设模型(设置一次需要保证订阅状态或者消耗一次免费次数,但使用该prompt免费)
  2. 为每个prompt设置可使用的函数(设置一次需要保证订阅状态或者消耗一次免费次数,但使用该prompt时触发函数调用免费)
  3. OCR能力(如果填了自己的key则免费,否则需要订阅或消耗一次免费次数)。由于内置key的额度有限,因此额度耗尽后依然需要用自己的key。未来该功能会拆分到一个新插件中
  4. 新摘录标签触发指定prompt功能(每次开启需要订阅或消耗一次免费次数)
  5. 免费用户上限10个prompts(超过后每次新增都需要订阅或消耗一次免费次数)

九、历史版本

  • 0.1.9 (该版本存在严重闪退问题请装0.2.0测试版
    1. 整体重构完成
    2. UI界面改进:
      • knowledge标签页替换为model标签页,以腾出未来视觉模型的设置空间。同时knowledge移动到advanced中
      • 对于通知窗口(包括聊天模式),允许通过拖动关闭按钮调整窗口高度
    3. 细节改进:
      • 对所有模型支持token计算(基于moonshotAPI,仅作参考)
      • 上传文件太大时提示“Too large file!"
      • 支持文档完整路径(mn4 only)
      • 余额查询的结果只显示到小数点后两位
      • 删除预设和重置需要双击执行,避免误触
      • 不允许清空所有预设
      • 添加评论默认以Markdown格式
      • 取消打开设置窗口会强行关闭通知窗口的设定
      • 修复了knowledge变量不生效的bug
      • 修复了自动模式下第二次点击的bug
      • 优化流响应结束检测,在函数调用中变化比较明显
      • 优化函数调用判断
      • 通知窗口双击复制按钮可将内容添加到子卡片
      • 允许通过双击快速打开小窗口
      • 对于选中文字后执行prompt弹出的通知窗口,其“添加评论”和“设置标题”可以应用到此时选中的卡片上
      • 通知窗口内容可编辑(测试阶段)
      • 修复mn4中的一些bug
    4. 增加一个Custom渠道,用于自定义额外的模型和站点(依然是OpenAI格式)
    5. 尝试支持Claude3和Gemini pro(暂不支持函数调用)
    6. ChatGPT模式下支持自定义模型
    7. 付费订阅功能上线
      • 支持新卡片通过标签触发prompt(mn4 only)
      • 函数调用转为订阅功能,函数新增:addChildNote(mn4 only) 和 clearEXcerpt
      • 支持对每个prompt指定模型(可跨渠道)
      • OCR能力(如果填了自己的key则免费,否则需要订阅或消耗一次免费次数)。由于内置key的额度有限,因此额度耗尽后依然需要用自己的key
      • 新摘录标签触发指定prompt功能(每次开启需要订阅或消耗一次免费次数)
      • 免费用户上限10个prompts(超过后每次新增都需要订阅或消耗一次免费次数)
  • 0.1.8

    1. 支持function call,默认关闭,可支持: 设置标题、添加评论、添加标签、复制链接、复制文本及关闭对话等

    2. 支持快捷悬浮按钮(Dynamic mode),用于快速基于卡片/文字提问,以及触发已有预设。

    3. 对于悬浮按钮打开后的文字输入部分,允许用户设置其system message来自定义问题的上下文。在Advanced 中dynamic那行点击system开启自定义,分卡片(note;上面文字框)和选中文字(text selected; 下面文字框),支持所有变量

    4. 通过悬浮按钮打开的界面在手动移动位置后,会临时取消动态跟随状态,关闭后恢复

    5. 设置页面prompt按钮支持双击直接执行

    6. 支持通过Moonshot的文件上传功能获取pdf完整内容,因此提供{{currentDocInfo}}和{{noteDocInfo}}两个变量(见下),需预先填入Moonshot的APIKey

    7. 新增{{card}}变量,仅在点击卡片时有效,包含了卡片的文本信息。对于文档中选中文字的情况,{{card}}变量会被替换为选中的文字

    8. 新增{{currentDocInfo}}变量,用于获取当前焦点文档的内容

    9. 新增{{noteDocInfo}}变量,用于获取选中卡片所属文档内容,当仅选中文档文字时,退化为当前焦点文档的内容(等同于{{currentDocInfo}})

    10. 支持使用simpletex API实现OCR公式识别,现已加入内置key套餐,当然你也可以填自己的key。

    11. 对应新增{{textOCR}}变量,在文档框选的情况下会变为对框选区域OCR,在选中卡片的情况下是个升级版的{{context}},不会再跳过图片

    12. 悬浮按钮打开的界面右下角新增增强识别模式,该模式下相当于{{context}}变量临时升级为{{textOCR}}变量。

    13. 引入Mathjax库以支持公式渲染

    14. 对于选中文字的情况,禁用部分函数避免误调用

    15. prompt编辑窗口增加按钮快速输入变量

    16. ChatGPT增加一堆模型(给中转站用的)

    17. 使用CF的R2存储桶保存内置key

    18. 部分bug修复

    mnchatglm_v0_1_8.mnaddon (526.8 KB)

  • 0.1.6

    1. 支持KimiChat
    2. 修复一些bug

    mnchatglm_v0_1_6.mnaddon (250.9 KB)

  • 0.1.5

    1. 现支持markdown输出(暂时取消窗口自动关闭的功能)
    2. 调整内置key的四个渠道及代码实现,方便以后服务器端直接修改(渠道3为智谱glm-4)

    mnchatglm_v0_1_5.mnaddon (250.5 KB)

  • 0.1.4

    1. 支持智谱最新的GLM-4和GLM-3-Turbo
    2. 新增渠道4(有个3.5的key用不掉了就放上来,应该速度比之前的都快)

    mnchatglm_v0_1_4.mnaddon (238.6 KB)

  • 0.1.3

    1. 更换内置key渠道1并增加渠道3
    2. 修复模型显示的一点bug

    mnchatai_v0_1_3.mnaddon (238.1 KB)

  • 0.1.2

    1. 支持ChatGPT,插件顺便改名 MN ChatAI
    2. 去除原网页模式,优化使用逻辑(还想用网页模式的别更新)
    3. 内置免费的GPT-3.5,能不能用看情况,我尽力维护
    4. 由于变化较大,建议重新看一遍说明

    mnchatai_v0_1_2.mnaddon (238.0 KB)

  • 0.1.1

    1. 通知窗口按钮修改,增加一个显示当前Prompt的按钮,并且可以点击临时使用其他Prompt(要修改默认Prompt依然需要在设置中修改)
    2. 修复了一个删除Prompt时的错误

    mnchatglm_v0_1_1.mnaddon (223.2 KB)

14 个赞

Hello

支持:fist:

Kind Regards,

Support Team

怎么让它不自己10秒后自动关闭?我点击消息通知框以后还是会自动关闭

1 个赞

目前点击通知文本或者拖动关闭按钮来稍微调一下窗口大小都可以暂停当前通知的倒计时,但是下次生成AI回答时还是会重新开始倒计时。你是想把窗口固定住,除了点关闭按钮外都不会主动关闭是吗

哦哦哦,不是的,现在我掌握了。谢谢。但是还有另个问题就是,AI回答的文本有时候序号或者分段处没有分段,如果变成评论就看起来杂乱无章,能否保持AI网页版回答那样的答案排版呢?

这个只能后面再研究了,从api返回的文本里不好区分换行符

1 个赞

您好,今天点击小机器人不好使了,有时候点击不了,有时一直自动输入同一句话,试了一下0.04也是一样,在脑图:heavy_plus_sign:文本情况下,选中脑图中的单词卡片不好使总是出现之前的一个句子,而选中文本上的单词就可以。不是从文本上摘录的卡片(自己创建)可以正常输入,而且刚刚摘录的,马上去点击也可以使用ai,不会一直出现同一句话

1 个赞

我这边没复现出来你说的情况,可以再具体一点吗

好吧,打扰了,我知道了,它那个优先级变了,自动加载评论去了,不知道是不是我误触了优先加载评论。但是之前刚摘录完一句话(很长的一段,自动生成为评论),然后就卡住了,点击那个:robot:不好使,有两次吧,点击正常的卡片可以,但是那个新建完的不行;退出后再点击新建完的是可以正常加载的。
(插件很好用,神助,非常感激~)

为什么不把auto action的启闭方法链接到双击插件logo的操作上呢,像MN Browser的watch mode那样。是有什么其他的考量吗?

1 个赞

因为目前双击设计有缺陷,包括MN Browser,还没开始优化

为什么用着用着自定义Prompt数据就丢失了?

做过什么操作吗,卸载的话会清除所有数据的,或者mn卸载重装可能也会重置数据

早就看到了这款插件一直没有尝试,最近使用了,功能很强大,阅读过程中可以ai互动,仿佛有了一个书童伴读,就是想问作者大大,智普清言输出的内容有没有办法添加朗诵按钮实现文本朗读:smile:

没有哦,无缘无故突然prompt数据就全部不见了,而且之前插件更新也没出现过数据丢失的情况啊

非常好的插件!!不过目前的“机器人”按钮点击无法自动翻译勾选内容的bug比较频繁,希望可以改进,感谢开发者的付出!!

您好,十分感谢您的开发!想请问一下是否可能支持其他模型呢?感觉这个模型的api实际效果和网页版chatgpt差距还是相当大的

正在尝试接入openai的接口,会支持使用API key,可以使用中转站的转发地址

2 个赞

大概什么时候可以用

差不多完成了,还有部分细节未完善