介绍

malnote本来是我一个个人项目,用来记笔记,后来不断地新增了一些功能,现在决定发布一个版本,供大家使用。

本人一开始也试过很多笔记软件:

  • 语雀,非常不错的软件,本软件的设计也参考了语雀。
  • typora,超过万字会渲染很慢,卡。
  • hexo,语雀虽然不错,但是数据主要是云端,我更喜欢在本地,这个也是用了很久的。不过hexo本身比较大,而且要参考笔记内容的话还要启动服务,或者别的办法查看markdown内容,但是注意还不如不用hexo了

后来,学习nextjs的时候偶然遇到了tiptap编辑器,然后就写了第一版的malnote,当时是nextjs项目,无法打包exe,而且每次都要启动,如果遇到新电脑没有nodejs怎么办?
所以后来就开发了tuari版本的malnote,并且不断完善本地化功能,把文档存到本地,而无法本地化的功能(比如上传文件)就用go搞了个api后端。

本笔记软件完全免费,如果你想支持我,可以点击网页中的广告,可以给我带来0.01$的收入(不过就算有了,我在境内好像也提现不了)

下载地址:
malnote-v1

基本功能

因为tauri-sql插件的问题,我定义的迁移脚本好像不会自动执行,所以需要你下载这个db文件:
malnote.db
然后复制到C:\Users[你的用户名]\AppData\Roaming\org.malred.malnote

该笔记的后端api下载:
malnote-api.exe

首页

新建知识库和文档:
Image 1
Image 2
Image 3

无头富文本编辑器 tiptap集成

支持部分markdown语法编辑(这个好像是tiptap本身的问题了),支持各种样式。

笔记渲染

页面结构

Page Structure

大纲(根据标题生成)

点击右上角浮动的三条短杠的按钮,可以打开大纲
Outline View

ai问答(根据文档内容)

点击顶部栏中的机器人图标,可以打开ai问答区
AI Q&A

基本笔记编辑

笔记编辑的时候,可以直接复制图片,然后黏贴到笔记中,会自动上传到服务器,并显示图片。(不过在文件管理器中复制的无法黏贴)

还可以直接将网页内容复制,黏贴到编辑器时,可以部分保留样式。
Web Content Paste

bar

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

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

快捷键

Shortcut Keys

代码块

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

mermaid

点击顶部bar中的这个图标,将插入mermaid块
Insert Mermaid Block
效果
Mermaid Diagram Example
可以编辑
Edit Mermaid Diagram

latex公式

LaTeX Formula Input
效果
Rendered LaTeX Formula

脚注

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

表格

Table Example

其他

基本功能比如高亮、字体、图片等就不展示了

标签

支持给笔记指定标签,可以在归档页面查看标签分组

Tag Assignment
Tagged Notes View

历史记录

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

协作编辑

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

开启协作同步客户端

npx @hocuspocus/cli@2.5 --port 1234 --sqlite

Collaborative Editing UI

侧边栏目录

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

Note Directory View

加号可以新建笔记
Create New Note

点击搜索框搜索笔记
Search Notes

工具箱

提供各种便捷式工具

Toolbox Overview

日程管理

Schedule Management UI
Detailed View

ai聊天

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

自定义api配置

支持自定义api配置
API Settings
支持ollama,只需要在BASE BATH填ollama,会自动访问本地11434的ollama接口,但是需要安装ollama,
以及配置环境变量:OLLAMA_HOST=0.0.0.0:11434 来指定监听的网络端口和绑定的IP地址,OLLAMA_ORIGINS=* 允许跨域

聊天记录

点击蓝色的文件夹按钮,可以查看过往ai聊天记录,点击可以加载这些对话历史,点击顶部的清空对话,就可以将当前所有历史记录删除
Chat History View

附加文档

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

Upload Document
Document Attachment Options
注:点击文档已上传标签,可以查看内容
View Attached Document

图片上传

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

Upload Image
Image Processing
Image Analysis Result

向量化文档

支持将笔记拆分并向量化(向量化需要本地ollama支持)

ollama pull mxbai-embed-large

提问ai时可以选择文档,会根据用户输入搜索相关文档片段然后提供给ai
Select Document for AI
点击确认选择后,会调用本地ollama进行向量化处理。
Vectorization Process
Vectorization Complete

wiki搜索

支持wiki搜索,但是如果你有网络问题,也可以使用本地wiki(kiwix),只需要启动本地服务(端口9000),本软件会在远程请求失败的时候使用本地服务
Kiwix Software Download
Download .zim Files Here
Wikipedia Search Box
在输入框输入要搜索的词,点击圆圆的那个按钮,就会搜索wiki,并把搜索结果显示为消息,之后就可以提问,会自动将上下文一起提交给ai
Wikipedia Search Results

思维导图

实验性功能,按enter添加新节点

Mind Map Example

时间线

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

Timeline Editor
Timeline View

mermaid编辑器

编辑和预览mermaid

Mermaid Editor Interface

关系网络

编辑关系节点,实验性功能,尚不完善
Relationship Network Editor

OCR识别

使用ai识别图片内容。
OCR Image Recognition

RAG工具

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

RAG Tool Interface

MD编辑器

Markdown Editor

drawio

draw.io Integration

excalidraw白板

Excalidraw Whiteboard

网页浏览

实验性功能,输入url则显示url内容,输入非url则显示bing搜索内容
Web Browser Integration

正则表达式工具

支持测试正则表达式。
Regex Tester

api测试

实验性功能。
API Tester

图片编辑器

支持对图片进行编辑。
Image Editor

Base64工具

Base64 Converter

jupyter风格的编辑器(伪)

需要本地有安装python,只是样式像,但是没有实现那种一步一步运行的功能。
Jupyter-style Editor

latex编辑器

LaTeX Editor

shell

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

json编辑器

JSON Editor

小记

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

统计

简单的统计一些数据。
Statistics Overview

归档

按标签分类文档。
Archive View

聊天

live2d模型

本地配置表情包和live2d模型,需要在api后端同级目录下,新建public/Resources目录,然后在该目录下创建json文件声明配置:

live2d配置实例(/Resources/model-list.json):

[
  {
    "value": "/Resources/a/b/modelX.model3.json",
    "label": "模型X"
  }
]

有live2d的情况下,会显示live2d,用户发送文本时,会播放模型的motion动作。

表情包

表情包配置实例(/Resources/emoticons.json):

[
  {
    "id": "life1",
    "name": "speak",
    "path": "/Resources/emoticons/emoji/speak/speak.jpg",
    "emotion": "life"
  },
  {
    "id": "relax1",
    "name": "懒",
    "path": "/Resources/emoticons/懒.gif",
    "emotion": "relax"
  }
]

表情包信息会发送给ai,ai也会使用表情包(当前演示用的表情包来源于网络)。
Emoticon Example

语音播放

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

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


Logo

葡萄城是专业的软件开发技术和低代码平台提供商,聚焦软件开发技术,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务

更多推荐