∞ MeshWork
中文 EN
Back to TOC

Private Library

The private library is your personal long-term knowledge storage area. Learn how to efficiently edit documents, use AI assistance, organize content, and configure optional Git sharing.

2.1 Private Library Overview

What is a Private Library

The private library is the data boundary in MeshWork that belongs to you. It's your main knowledge storage area for:

  • Personal long-term notes and knowledge accumulation
  • Research materials and study notes
  • Writing drafts and inspiration fragments
  • Content that shouldn't automatically enter team sharing
  • Private reference materials for multiple shared spaces

Key Features

The private library has the following characteristics:

  • Independence: It exists independently and doesn't belong to any shared space. It doesn't migrate because you join or leave a shared space.
  • Persistence: Defaults to long-term existence as your main private storage area.
  • Git Optional: Can be used completely locally, or configured with a remote repository for backup.
  • Material Library: Can serve as a private reference material source for multiple shared spaces.

Relationship with Shared Spaces

The private library and shared spaces are two independent data boundaries:

  • The private library stores content you don't want to automatically enter team sharing.
  • Shared spaces store content that needs team collaboration.
  • You can reference content from the private library to shared spaces, but it requires explicit operations.
  • Both can independently configure Git without affecting each other.
Design Philosophy

MeshWork's design principle is to first let you establish a private library, start personal writing and organization, then join shared spaces as needed. This maintains the privacy of personal content while providing a material foundation for team collaboration.

Directory Structure

The recommended directory structure for the private library on disk:

<private-library>/
├── .meshwork/          # MeshWork configuration and metadata
├── private-knowledge/  # Your documents and notes
└── assets/             # Attachments and media files
Tip

The private library's directory structure is managed by MeshWork. You don't need to manually operate these directories. All operations can be completed in the application interface.

2.2 Document Editing

Creating New Documents

To create a new document in the private library:

  1. Select the private library or a directory within it in the sidebar.
  2. Click the "New Document" button in the toolbar, or right-click in the document list and select "New Document".
  3. Enter the document title and press Enter to confirm.
  4. The document will open in the main content area, and you can start editing.

Document Format Basics

MeshWork uses Markdown as the document format. Markdown is a lightweight markup language that is easy to read and write:

Headings

# Level 1 Heading
## Level 2 Heading
### Level 3 Heading
#### Level 4 Heading

Text Formatting

*Italic text*
**Bold text**
***Bold italic text***
~~Strikethrough~~

Lists

- Unordered list item 1
- Unordered list item 2
  - Nested list item

1. Ordered list item 1
2. Ordered list item 2

Links and Images

[Link text](https://example.com)
![Image description](images/photo.png)

Code

`Inline code`

```
Code block
```

Diagram Code Blocks

MeshWork can render common diagram code blocks directly. For product design, system architecture, and process notes, keep readable diagram source in Markdown so documents remain durable while previews render them as diagrams. For the full PlantUML syntax, see the official PlantUML website.

PlantUML sequence diagram

```plantuml
@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
@enduml
```

Mermaid flowchart

```mermaid
flowchart TD
  A[Idea] --> B[Discussion]
  B --> C[Preserved as a document]
```
Diagram Support

Preview and WYSIWYG editing render plantuml, puml, mermaid, graphviz, and dot code blocks. PlantUML is useful for sequence diagrams, component relationships, and technical design; Mermaid is useful for quick flowcharts and lightweight relationship diagrams.

Dark mode diagram matching: PlantUML, Mermaid, and Graphviz diagrams use SVG inversion matching in dark mode, automatically adapting final rendered lines, fills, labels, and user-defined colors so the same diagram source stays readable in both light and dark interfaces.

Blockquotes

> Quoted text

Using the Editor Toolbar

There is a local toolbar at the top of the editor that provides common formatting operations:

  • Heading dropdown: Set the heading level for the current line or selected text.
  • Bold/Italic: Quickly toggle text formatting.
  • Lists: Insert unordered or ordered lists.
  • Code block: Insert code blocks.
  • Blockquote: Insert quote blocks.
  • Link/Image: Insert links or images.
Keyboard Shortcuts

Most formatting operations have keyboard shortcuts, such as Command+B for bold and Command+I for italic. Using shortcuts can greatly improve editing efficiency.

Inserting Images, Attachments, and Links

Inserting Images

  1. Drag and drop an image file into the editor, or click the image button in the toolbar.
  2. The image will be copied to the assets directory of the private library.
  3. The editor will automatically insert the correct Markdown image syntax.

Inserting Attachments

  1. Drag and drop a file into the document.
  2. The file will be copied to the assets directory.
  3. A file link will be inserted in the document.

Using PDF and Word Knowledge Documents

PDF, .docx, and .doc files can live directly in the private library as knowledge documents without being converted into attachments first. They appear in the sidebar document tree and open in the main content area as read-only documents.

  • PDF viewing: Uses Apple's native PDFKit viewer, suitable for papers, reports, contracts, and product manuals.
  • Word viewing: Uses the macOS text system to read and display document text in read-only mode. Complex layout, comments, tracked changes, and pagination are best-effort, not editable Word behavior.
  • Scanned PDF OCR: When PDFKit extracts too little text, or first-page OCR is clearly more complete, MeshWork uses Apple Vision for on-device text recognition without uploading the document.
  • Search and AI references: Extractable text becomes available to search and AI-readable context. PDFs are usually addressed by page, while Word files are addressed by paragraph or text chunk.
Read-only and conversion

PDF and Word files are read-only knowledge documents in MeshWork. To edit their text, choose "Convert to Markdown" from the file node context menu or the document viewer toolbar. Conversion creates a new Markdown file in the same folder and keeps the original PDF or Word file unchanged.

Inserting Document Links

  1. Right-click the document you want to link in the sidebar.
  2. Select "Copy Document Link".
  3. Paste in the editor to insert a document link. Markdown, PDF, and Word documents can all be link targets.

Document Saving and Version History

MeshWork automatically saves your edits:

  • Each edit is automatically saved without manual intervention.
  • If Git is enabled, each save generates a new commit record.
  • You can view and restore previous versions through version history.
Important Note

Auto-save means all your changes will be recorded. If you don't want to keep certain changes, please undo or delete the corresponding content before closing the document.

2.3 AI Assistant Sidebar

Opening/Closing the AI Assistant Panel

The AI assistant in the right sidebar can provide intelligent assistance for you:

  1. When editing a document, click the AI assistant button in the toolbar, or use the keyboard shortcut Command+Option+0.
  2. The AI assistant panel will slide out from the right sidebar.
  3. Click the button again or use the shortcut to close the panel.

Basic Conversation Operations

In the AI assistant panel, you can:

  • Send messages: Type questions or commands in the input box and press Enter to send.
  • View replies: AI replies appear in the conversation history.
  • Continue conversation: Continue inputting after AI replies to maintain context continuity.
  • Clear conversation: Click the clear button at the top of the panel to restart the conversation.

Using @ to Mention Agents

You can use the @ symbol to mention specific AI agents:

  1. Type the @ symbol in the input box.
  2. The system will display a list of available agents, such as @claude, @gpt4, etc.
  3. Select the agent you want, or continue typing the agent name.
  4. Type your question or command.
  5. After sending, the specified agent will reply to your message.
Auto Session Window

After mentioning an agent, for the next two minutes (adjustable in settings), your continued messages don't need to mention @ again. The system will automatically send these messages to that agent, suitable for continuous follow-up questions or providing supplementary background information.

Using # to Reference Document Content

You can use the # symbol to reference documents in the private library, allowing AI to analyze based on specific content. References can point to Markdown documents, or to PDF and Word knowledge documents with extractable text:

  1. Type the # symbol in the input box.
  2. The system will display a list of documents in the private library, supporting search and filtering.
  3. Select the document you want to reference.
  4. Type your question or command.
  5. AI will reply based on the referenced document content.

Example:

#ProductRequirements Please analyze the technical feasibility of this requirement
Tip

You can reference multiple documents at the same time. AI will synthesize all referenced content to answer. This is useful when comparing Markdown notes, PDF source material, or Word documents. Scanned PDFs use local OCR results as readable text when needed.

Using / to Execute Custom Commands

You can use the / symbol to trigger predefined custom commands:

  1. Type the / symbol in the input box.
  2. The system will display a list of available commands, such as /summarize, /action, etc.
  3. Select the command you want.
  4. If necessary, add additional parameters or context.
  5. After sending, the command will be executed.

Custom commands need to be defined by yourself in application settings. Here are some command examples for reference:

  • /summarize: Summarize current document content
  • /action: Extract action items
  • /improve: Improve writing of currently selected text
  • /translate: Translate selected text
How to Customize Commands

Custom commands need to be configured in the "Settings → Documents" page. Each command consists of a name and a prompt, defining how the AI should respond when the command is triggered. After configuration, typing / in the document right sidebar will show your defined command list.

Tip

If you type / and don't see the command list, it means no custom commands have been configured yet. Please add commands in "Settings → Documents" page first, then use them.

Combination Usage Tips

Three command types can be combined to create richer conversation scenarios:

  • @claude Please analyze #ProductDesign #TechnicalProposal documents for risk points
  • /summarize and @claude give improvement suggestions
  • @gpt4 Write a product comparison report based on #CompetitorAnalysis

AI Proposals and Modification Suggestions

The AI assistant can provide document modification suggestions to you:

  • Proposal: AI will suggest modifications to the current document, including additions, deletions, and changes.
  • Preview: You can preview the document effect after applying the proposal.
  • Apply: Click the "Apply" button to apply the proposed modifications to the document.
  • Reject: Click the "Reject" button to ignore the current proposal.
AI Boundaries

In MeshWork, AI is a participant rather than an automatic replacement creator. It can make suggestions, but will not modify your documents without explicit confirmation. All modifications require your explicit confirmation.

2.4 Document Organization

Document Directory Structure

In the private library, you can create directories to organize documents:

  1. Right-click the private library or an existing directory in the sidebar.
  2. Select "New Directory".
  3. Enter the directory name.
  4. You can continue to create subdirectories within the directory.

Recommended Directory Structure

Private Library/
├── Notes/
│   ├── Study Notes/
│   ├── Meeting Notes/
│   └── Reading Notes/
├── Projects/
│   ├── Project A/
│   └── Project B/
├── Drafts/
└── Archive/

Moving and Renaming Documents

You can adjust the document organization structure at any time:

  • Move documents: Drag documents to the target directory in the sidebar.
  • Rename documents: Right-click the document, select "Rename", and enter a new name.
  • Move directories: Drag directories to other locations, which can move the entire directory and its contents.

Sorting the Document Tree

You can sort the private library document tree by different fields. The entry point is in the upper half of the left sidebar: click the + button on the "Private Knowledge" section header, then choose "Sort" from the menu.

  • Sort by Name: Best for browsing by file or folder name. This is ascending by default.
  • Sort by Modified: Best for finding recently updated content or older content that has not been maintained.
  • Sort by Created: Best for reviewing documents and folders by when they were created.
  • Toggle ascending or descending: Click the current sort field again to switch direction. The arrow in the menu shows the current direction.

The sort setting is saved for the current private library and will be reused the next time you open the workspace.

Search and Filtering

When the number of documents increases, use the search function:

  • Workbench search: Use Command+F to focus the left search field and search private libraries, shared-space documents, and discussion content.
  • Open results: Click a result to open the corresponding document or discussion and reveal it in the sidebar.
Search Tips

Search supports fuzzy matching and path search. For example, typing "notes/meeting" can quickly find documents under the "Meeting Notes" directory.

Pinyin Search Support

MeshWork's search function supports Pinyin search, making it more convenient for Chinese users to find documents:

  • Full Pinyin search: Directly input complete Pinyin to search Chinese content. For example, inputting "zhongwen" can find documents containing "中文".
  • No need to switch input methods: Use English input state to search Chinese documents, no need to frequently switch input methods.
  • Mixed search: Can mix Chinese characters, Pinyin, and English for search. For example, inputting "chanpinxuqiu" can find documents containing "产品需求".

Note: Pinyin search is based on Pinyin indexes established by the system for documents. For polyphonic characters or rare characters, search results may need to be filtered in combination with context.

2.5 Git Sharing for Private Library

Enabling/Disabling Git

Git functionality for the private library is optional:

  • No remote bound: Use it locally and create manual versions when needed.
  • Remote bound: Select a remote repository from Settings → Git and assign a branch to this private library. Sync commits pending local changes and exchanges data with the remote.
Recommendation

You can start fully local and bind a remote later when you need multi-device backup or remote recovery.

Binding Remote Repository

To bind a remote repository for the private library:

  1. First add a remote repository entry in Settings → Git and configure SSH Key or HTTPS Token authentication.
  2. Open the private library settings page.
  3. Select the remote repository in the Git settings section.
  4. Enter a branch name, or leave it blank to use the generated meshwork/private/... branch.
  5. Click OK to save the binding.

Sync

After binding a remote repository, the document toolbar action becomes Sync. MeshWork saves the current editor content, commits pending local changes for the sync operation, then pulls and pushes with the remote. Current pull behavior is fast-forward only: direct remote updates are applied automatically; diverged local and remote histories are reported as sync issues instead of silently creating merge commits.

Handling Merge Conflicts

When there are conflicting modifications locally and remotely, Git will report merge conflicts:

  1. Git will mark the conflicting files and locations.
  2. Open the conflicting file, and you will see markers similar to the following:
<<<<<<< HEAD
Local content
=======
Remote content
>>>>>>> remote-branch-name
  1. Edit manually, keep the parts you need, and delete conflict markers.
  2. Save the file.
  3. Mark the conflict as resolved.
  4. Complete the merge.

Manual Commit Strategy

When no remote repository is bound, private libraries use a manual version strategy:

  • View history: Right-click on a document or directory and select "View History".
  • Create version: After completing a meaningful batch of changes, create a manual version with a clear message.
  • Revert version: If needed, you can revert to a previous version.
Best Practice

For the private library, it's recommended to use auto-commit. Git mainly serves as a safety net to prevent accidental modifications or data loss. Manual commits are suitable for use when completing a milestone.