介绍
malnote本来是我一个个人项目,用来记笔记,后来不断地新增了一些功能,现在决定发布一个版本,供大家使用。
本人一开始也试过很多笔记软件:
- 语雀,非常不错的软件,本软件的设计也参考了语雀。
- typora,超过万字会渲染很慢,卡。
- hexo,语雀虽然不错,但是数据主要是云端,我更喜欢在本地,这个也是用了很久的。不过hexo本身比较大,而且要参考笔记内容的话还要启动服务,或者别的办法查看markdown内容,但是注意还不如不用hexo了
后来,学习nextjs的时候偶然遇到了tiptap编辑器,然后就写了第一版的malnote,当时是nextjs项目,无法打包exe,而且每次都要启动,如果遇到新电脑没有nodejs怎么办?
所以后来就开发了tuari版本的malnote,并且不断完善本地化功能,把文档存到本地,而无法本地化的功能(比如上传文件)就用go搞了个api后端。
本笔记软件完全免费,如果你想支持我,可以点击网页中的广告,可以给我带来0.01$的收入(不过就算有了,我在境内好像也提现不了)
下载地址:
基本功能
因为tauri-sql插件的问题,我定义的迁移脚本好像不会自动执行,所以需要你下载这个db文件:
然后复制到C:\Users[你的用户名]\AppData\Roaming\org.malred.malnote
该笔记的后端api下载:
首页
新建知识库和文档:



无头富文本编辑器 tiptap集成
支持部分markdown语法编辑(这个好像是tiptap本身的问题了),支持各种样式。
笔记渲染
页面结构

大纲(根据标题生成)
点击右上角浮动的三条短杠的按钮,可以打开大纲

ai问答(根据文档内容)
点击顶部栏中的机器人图标,可以打开ai问答区

基本笔记编辑
笔记编辑的时候,可以直接复制图片,然后黏贴到笔记中,会自动上传到服务器,并显示图片。(不过在文件管理器中复制的无法黏贴)
还可以直接将网页内容复制,黏贴到编辑器时,可以部分保留样式。

bar
选中文本后将弹出bubble工具栏

光标移动到空白行会显示float工具栏

快捷键

代码块
集成了highlight.js,所以代码块会高亮显示

mermaid
点击顶部bar中的这个图标,将插入mermaid块

效果

可以编辑

latex公式

效果

脚注
使用快捷键 ctrl-alt-f 添加脚注


表格

其他
基本功能比如高亮、字体、图片等就不展示了
标签
支持给笔记指定标签,可以在归档页面查看标签分组


历史记录
当在编辑页面点击保存按钮时,会将当前内容同步保存到历史记录,可以点击右上角的按钮来进入历史记录页面,恢复记录



协作编辑
点击顶部栏中的小人+图标,可以进入协作编辑(但是有个bug,如果笔记内容有表格,则会无法使用)
1 | 开启协作同步客户端 |

侧边栏目录
侧边栏渲染当前知识库的笔记目录,可以在笔记下新建子集笔记、重命名笔记、删除笔记

加号可以新建笔记

点击搜索框搜索笔记

工具箱
提供各种便捷式工具

日程管理


ai聊天
实现基本的ai聊天页面,免费提供glm-4-flash glm-4.5-flash
glm-z1-flash的使用(感谢智谱大模型!),如果你需要使用其他模型,可以使用自定义配置(可以用groq和cerebras,有提供免费api)

自定义api配置
支持自定义api配置

支持ollama,只需要在BASE BATH填ollama,会自动访问本地11434的ollama接口,但是需要安装ollama,
以及配置环境变量:OLLAMA_HOST=0.0.0.0:11434 来指定监听的网络端口和绑定的IP地址,OLLAMA_ORIGINS=* 允许跨域
聊天记录
点击蓝色的文件夹按钮,可以查看过往ai聊天记录,点击可以加载这些对话历史,点击顶部的清空对话,就可以将当前所有历史记录删除

附加文档
支持上传文档(.md/.txt/.json),会在聊天时附带给ai


注:点击文档已上传标签,可以查看内容

图片上传
可以选择图片上传,上传完成会自动请求ai接口进行图像理解,并在用户发送信息时附带图像理解的内容。



向量化文档
支持将笔记拆分并向量化(向量化需要本地ollama支持)
1 | ollama pull mxbai-embed-large |
提问ai时可以选择文档,会根据用户输入搜索相关文档片段然后提供给ai

点击确认选择后,会调用本地ollama进行向量化处理。


wiki搜索
支持wiki搜索,但是如果你有网络问题,也可以使用本地wiki(kiwix),只需要启动本地服务(端口9000),本软件会在远程请求失败的时候使用本地服务

在输入框输入要搜索的词,点击圆圆的那个按钮,就会搜索wiki,并把搜索结果显示为消息,之后就可以提问,会自动将上下文一起提交给ai

思维导图
实验性功能,按enter添加新节点

时间线
渲染和编辑时间线,并支持导出图片,支持将时间线内容导出为json,支持导入json并渲染时间线


mermaid编辑器
编辑和预览mermaid

关系网络
编辑关系节点,实验性功能,尚不完善

OCR识别
使用ai识别图片内容

RAG工具
支持将笔记向量化,之前ai页面选择文档时,如果已经本地有了向量化向量,那么就可以直接使用,无需再次处理

MD编辑器

drawio

excalidraw白板

网页浏览
实验性功能,输入url则显示url内容,输入非url则显示bing搜索内容

正则表达式工具
支持测试正则表达式

api测试
实验性功能

图片编辑器
支持对图片进行编辑

Base64工具

jupyter风格的编辑器(伪)
需要本地有安装python,只是样式像,但是没有实现那种一步一步运行的功能

latex编辑器

shell
支持编写python、js代码运行,需要本地安装python或nodejs

json编辑器

小记
支持创作小记,右侧项点击可以修改

统计
简单的统计一些数据

归档
按标签分类文档

聊天
live2d模型
本地配置表情包和live2d模型,需要在api后端同级目录下,新建public/Resources目录,然后在该目录下创建json文件声明配置:
live2d配置实例(/Resources/model-list.json):
1 | [ |
有live2d的情况下,会显示live2d,用户发送文本时,会播放模型的motion动作
表情包
表情包配置实例(/Resources/emoticons.json):
1 | [ |
表情包信息会发送给ai,ai也会使用表情包(当前演示用的表情包来源于网络)

语音播放
点击左边这个按钮,会变蓝,启动ai生成完毕后自动请求语音播放。右边的按钮选择0语音模型

需要本地有indextts2服务端,可以使用这个: