Scripts2026年4月10日·1 分钟阅读

Memos — Open Source Self-Hosted Note-Taking Tool

Memos is a lightweight, self-hosted note-taking app with Markdown support, tag-based organization, and a Twitter-like timeline interface for quick idea capture.

SC
Script Depot · Community
快速使用

先拿来用,再决定要不要深挖

这里应该同时让用户和 Agent 知道第一步该复制什么、安装什么、落到哪里。

docker run -d --name memos -p 5230:5230 -v memos:/var/opt/memos neosmemo/memos:stable

Open http://localhost:5230 — register your account and start writing notes.

介绍

Memos is an open-source, self-hosted note-taking tool designed for quick capture and knowledge management. Built with Go and React, it features a Twitter-like timeline interface where you can jot down thoughts, ideas, and snippets in Markdown — making it perfect for personal knowledge bases, micro-blogging, and daily journaling.

With 58.7K+ GitHub stars and MIT license, Memos has become one of the most popular self-hosted note-taking solutions, valued for its simplicity, speed, and complete data ownership.

What Memos Does

Memos focuses on frictionless note capture:

  • Quick Capture: Twitter-like compose box for instant note creation with Markdown formatting
  • Tag System: Organize notes with #tags that auto-generate a tag tree for browsing
  • Timeline View: Chronological feed of all memos with search and filter capabilities
  • Markdown Native: Full Markdown support with code blocks, tables, task lists, and LaTeX math
  • Media Support: Attach images, files, and embed links with preview cards
  • API & Webhooks: RESTful API for automation and integration with other tools
  • Multi-user: Self-hosted with user management and visibility controls (public/protected/private)

Architecture

┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│  Web UI      │────▶│  Memos       │────▶│  SQLite /    │
│  (React)     │     │  Server (Go) │     │  PostgreSQL  │
└──────────────┘     └──────────────┘     └──────────────┘

Memos uses SQLite by default for zero-configuration deployment, with PostgreSQL support for larger installations.

Self-Hosting Options

Docker (Simplest)

docker run -d 
  --name memos 
  -p 5230:5230 
  -v memos-data:/var/opt/memos 
  neosmemo/memos:stable

Docker Compose

services:
  memos:
    image: neosmemo/memos:stable
    container_name: memos
    ports:
      - "5230:5230"
    volumes:
      - ./memos-data:/var/opt/memos
    restart: unless-stopped

With PostgreSQL

services:
  memos:
    image: neosmemo/memos:stable
    environment:
      MEMOS_DRIVER: postgres
      MEMOS_DSN: postgresql://memos:memos@db:5432/memos?sslmode=disable
    ports:
      - "5230:5230"
    depends_on:
      - db

  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_USER: memos
      POSTGRES_PASSWORD: memos
      POSTGRES_DB: memos
    volumes:
      - pg-data:/var/lib/postgresql/data

volumes:
  pg-data:

Key Features

Markdown Editor

Memos supports full GitHub-Flavored Markdown:

# Meeting Notes 2024-01-15

## Action Items

- [x] Review PR #123
- [ ] Update documentation
- [ ] Schedule follow-up

## Code Snippet

```python
def process_data(items):
    return [transform(i) for i in items]

Important: Deadline is Friday #work #urgent


### Tag-Based Organization

Tags are first-class citizens in Memos:
- Use `#tag` inline in any memo
- Nested tags with `#parent/child` syntax
- Tag tree sidebar for browsing
- Filter by multiple tags simultaneously

### API Integration

```bash
# Create a memo via API
curl -X POST http://localhost:5230/api/v1/memos 
  -H "Authorization: Bearer YOUR_TOKEN" 
  -H "Content-Type: application/json" 
  -d '{"content": "Quick thought from CLI #idea"}'

# List memos
curl http://localhost:5230/api/v1/memos 
  -H "Authorization: Bearer YOUR_TOKEN"

Telegram Bot Integration

Memos can connect to a Telegram bot to capture notes directly from Telegram messages — perfect for mobile quick capture.

Memos vs Alternatives

Feature Memos Obsidian Notion Apple Notes
Open Source Yes (MIT) No No No
Self-hosted Yes Local files No iCloud
Quick capture Timeline UI Vault system Pages Notes
Markdown Native Native Partial No
API REST API Community API No
Multi-user Yes No Yes Family sharing
Storage SQLite/PostgreSQL Local files Cloud iCloud

常见问题

Q: Memos 适合做知识管理吗? A: Memos 更适合快速记录和碎片化知识捕获。如果需要双向链接和图谱功能,建议搭配 Obsidian 使用。Memos 负责快速捕获,Obsidian 负责深度整理。

Q: 数据如何备份? A: SQLite 模式下,备份 /var/opt/memos 目录即可(包含数据库和上传文件)。也可以通过 API 导出所有 memos 为 JSON 格式。

Q: 支持移动端吗? A: Memos 是 PWA 应用,在手机浏览器中添加到主屏幕即可获得类原生体验。也有社区开发的 iOS 和 Android 客户端(Moe Memos、MoeMemos)。

来源与致谢

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产