Introduction

Malnote started as my personal project for taking notes. After continuously adding new features, I’ve decided to release a version for everyone to use.

Initially, I tried many note-taking software solutions:

  • Yuque (very good software; this software’s design references Yuque)
  • Typora (renders slowly and lags when exceeding 10,000 characters)
  • Hexo (while Yuque is good, its data mainly resides in the cloud. I prefer local storage – though I used it for a long time. However, Hexo itself is bulky, and viewing Markdown content requires starting a service or other methods. Note: It might be better not to use Hexo at all)

Later, while learning Next.js, I came across the TipTap editor and wrote the first version of Malnote as a Next.js project. It couldn’t package into an executable file and required starting up each time. What if a new computer didn’t have Node.js installed? So, I later developed a Tauri version of Malnote, continuously improving local functionality by storing documents locally. Non-localizable functions (like file uploads) were handled with a Go-written API backend.

This note-taking software is completely free. If you want to support me, you can click on the ads on the webpage, which will bring me $0.01 per click (though even if I earn it, I probably can’t withdraw funds within China).

Download link:
malnote-v1

Basic Functionality

Due to issues with the tauri-sql plugin, my defined migration scripts don’t seem to execute automatically. You’ll need to download this DB file:
malnote.db
Then copy it to C:\Users\[YourUsername]\AppData\Roaming\org.malred.malnote

Download the note’s backend API:
malnote-api.exe

Homepage

Create new knowledge bases and documents:
Image 1
Image 2
Image 3

Headless Rich Text Editor (TipTap Integration)

Supports partial Markdown syntax editing (this seems to be an issue with TipTap itself), along with various styling options.

Note Rendering

Page Structure

Page Structure

Outline (Generated from Headings)

Click the floating three-bar button in the upper right corner to open the outline view.
Outline View

AI Q&A (Based on Document Content)

Click the robot icon in the top bar to open the AI Q&A section.
AI Q&A

Basic Note Editing

While editing notes, you can directly copy and paste images, which will automatically upload to the server and display in the note (images copied from file managers cannot be pasted).

You can also copy web page content and paste it into the editor, partially preserving formatting.
Web Content Paste

Toolbar (Bar)

Selected text will pop up a bubble toolbar.
Bubble Toolbar
Moving the cursor to a blank line displays a float toolbar.
Float Toolbar

Shortcut Keys

Shortcut Keys

Code Blocks

Integrated with highlight.js, code blocks will be highlighted.
Code Block Highlighting

Mermaid Diagrams

Click this icon in the top bar to insert a Mermaid block.
Insert Mermaid Block
Effect:
Mermaid Diagram Example
Editable:
Edit Mermaid Diagram

LaTeX Formulas

LaTeX Formula Input
Result:
Rendered LaTeX Formula

Footnotes

Use shortcut Ctrl-Alt-F to add footnotes.
Add Footnote
Footnote Example

Tables

Table Example

Other Features

Basic features like highlighting, font styles, and image insertion won’t be shown here.

Tags

Support assigning tags to notes, viewable grouped by tag in the archive page.
Tag Assignment
Tagged Notes View

History Records

When clicking save in the edit page, current content syncs to history records. Click the button in the upper right corner to enter history records page and restore records.
History Record Entry
History Record List
Restore Record Option

Collaborative Editing

Click the person+icon in the top bar to enter collaborative editing mode (bug: if note contains tables, feature becomes unavailable).

1
2
# Start collaborative sync client
npx @hocuspocus/cli@2.5 --port 1234 --sqlite

Collaborative Editing UI

Sidebar renders current knowledge base’s note directory, allowing creation of sub-notes, renaming, and deleting notes under existing notes.
Note Directory View
Plus sign creates new note:
Create New Note
Click search box to search notes:
Search Notes

Toolbox

Provides various convenient tools.
Toolbox Overview

Schedule Management

Schedule Management UI
Detailed View

AI Chat

Implements basic AI chat interface, freely providing glm-4-flash, glm-4.5-flash, glm-z1-flash (thanks to Zhipu’s large model!). Custom configurations support other models (using Groq and Cerebras with free APIs available).
AI Chat Interface

Custom API Configuration

Supports custom API configuration.
API Settings
Supports Ollama: Set BASE_PATH to ollama to automatically access local port 11434’s Ollama interface. Requires installing Ollama and setting environment variables: OLLAMA_HOST=0.0.0.0:11434 (specifies listening network port and bound IP address), OLLAMA_ORIGINS=* (allows cross-origin requests).

Chat History

Click blue folder icon to view past AI chat records. Click to load conversation history. Click “Clear Conversation” at top to delete all current history records.
Chat History View

Attached Documents

Supports uploading .md/.txt/.json files that get attached to AI during chat.
Upload Document
Document Attachment Options
Note: Click “Document uploaded” tag to view content.
View Attached Document

Image Upload

Select images to upload. Upon completion, automatically requests AI image understanding service. Image understanding content gets attached when user sends messages.
Upload Image
Image Processing
Image Analysis Result

Vectorized Documents

Supports splitting notes into vectors (requires local Ollama support).

1
ollama pull mxbai-embed-large

When asking AI questions, select documents. System searches relevant document fragments based on user input and provides them to AI.
Select Document for AI
After confirmation, calls local Ollama for vectorization processing.
Vectorization Process
Vectorization Complete

Supports Wikipedia search. With network issues, uses local Kiwix Wikipedia. Just start local service (port 9000) - software automatically falls back to local service when remote requests fail.
Kiwix Software Download
Download .zim Files Here
Wikipedia Search Box
Enter search term in box, click round button to search Wikipedia. Results displayed as messages. Subsequent questions automatically include context sent to AI.
Wikipedia Search Results

Mind Maps

Experimental feature - press Enter to add new nodes.
Mind Map Example

Timelines

Render and edit timelines. Supports exporting as images. Supports exporting timeline content as JSON and importing JSON to render timelines.
Timeline Editor
Timeline View

Mermaid Editor

Edit and preview Mermaid diagrams.
Mermaid Editor Interface

Relationship Networks

Edit relationship nodes (experimental feature, not yet perfected).
Relationship Network Editor

OCR Recognition

Uses AI to recognize image content.
OCR Image Recognition

RAG Tool

Supports note vectorization. When selecting documents in AI page, if local vectors already exist, they can be used directly without reprocessing.
RAG Tool Interface

MD Editor

Markdown Editor

drawio

draw.io Integration

Excalidraw Whiteboard

Excalidraw Whiteboard

Web Browser

Experimental feature - enter URL to display URL content, enter non-URL to display Bing search results.
Web Browser Integration

Regular Expression Tool

Supports testing regular expressions.
Regex Tester

API Tester

Experimental feature.
API Tester

Image Editor

Supports editing images.
Image Editor

Base64 Tool

Base64 Converter

Jupyter-style Editor (Pseudo)

Requires locally installed Python. Only resembles Jupyter visually - doesn’t implement step-by-step execution functionality.
Jupyter-style Editor

LaTeX Editor

LaTeX Editor

Shell

Supports writing and running Python/JS code. Requires locally installed Python or Node.js.
Terminal Shell

JSON Editor

JSON Editor

Quick Notes

Supports creating quick notes. Right-side items can be modified by clicking.
Quick Notes Interface

Statistics

Simple statistics collection.
Statistics Overview

Archive

Organizes documents by tags.
Archive View

Chat Features

Live2D Models

Locally configure emoticon sets and Live2D models. Create public/Resources directory at same level as API backend, then create JSON config files there:

Live2D config example (/Resources/model-list.json):

1
2
3
4
5
6
[
{
"value": "/Resources/a/b/modelX.model3.json",
"label": "Model X"
}
]

With Live2D enabled, models display. User text input triggers model motion animations.

Emoticons

Emoticon config example (/Resources/emoticons.json):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[
{
"id": "life1",
"name": "speak",
"path": "/Resources/emoticons/emoji/speak/speak.jpg",
"emotion": "life"
},
{
"id": "relax1",
"name": "懒",
"path": "/Resources/emoticons/懒.gif",
"emotion": "relax"
}
]

Emoticon info gets sent to AI, which also uses them (demo emoticons sourced online).
Emoticon Example

Voice Playback

Click left button turns blue, enables auto voice playback after AI generation completes. Right button selects voice model.
Voice Controls
Requires local IndexTTS2 server. Use this integration package:
IndexTTS2 Integration Package


本站总访问量