项目简介

Notelog 是一个命令行工具,用于快速记录个人想法、待办事项、见解等。它将笔记存储在本地目录的 Markdown 文件中,按年和月组织。此外,Notelog 集成了一个 Model Context Protocol (MCP) 服务器,使得支持该协议的 AI 助手可以直接与 Notelog 交互,实现通过自然语言创建和管理笔记。

主要功能点

  • 快速添加笔记: 支持从命令行参数、标准输入或指定文件创建笔记。
  • Markdown 格式存储: 笔记以 Markdown 文件格式存储,方便后续编辑和查阅。
  • 日期和目录管理: 自动按年份和月份组织笔记文件。
  • 标签支持: 支持为笔记添加标签,便于分类和检索。
  • AI 助手集成 (通过 MCP): 作为 MCP 服务器,Notelog 提供了一个工具(目前是 'add_note'),允许兼容的 AI 客户端调用来自动化笔记创建过程。
  • YAML Frontmatter: 使用 YAML Frontmatter 存储笔记的元数据,如创建时间和标签。

安装步骤

Notelog 使用 Rust 编写,需要安装 Rust 编程环境。

  1. 克隆仓库:
    git clone https://github.com/DataWraith/notelog.git
    cd notelog
  2. 安装: 使用 Cargo 构建并安装到您的系统路径:
    cargo install --path .
    请确保您的 Cargo bin 目录已添加到系统的 PATH 环境变量中。

服务器配置 (供 MCP 客户端使用)

Notelog 的 MCP 服务器功能通过运行特定的命令启动。为了让 MCP 客户端(如某些 AI 助手或应用)能够连接并使用 Notelog 的功能,您需要在客户端配置中指定启动 Notelog MCP 服务器的命令。

典型的 MCP 客户端配置需要以下信息:

  • 服务器名称 (Server Name): 您为 Notelog MCP 服务器指定的名称,例如 'notelog'。
  • 命令 (command): 启动 Notelog 可执行文件的路径,通常安装后是 'notelog'。
  • 参数 (args): 启动 MCP 服务器模式所需的命令行参数。至少需要指定 'mcp' 子命令,并且通常需要指定您的笔记存储目录。

根据 Notelog 的设计,一个常见的 MCP 客户端配置参数如下:

  • 'command': 'notelog'
  • 'args':
    • 'mcp': 启动 MCP 服务器模式的子命令。
    • '-d': 指定笔记存储目录的选项。
    • '/path/to/your/NoteLog/directory': 您的笔记实际存储目录路径。请将此替换为您系统中实际的笔记目录路径。

例如,一个 MCP 客户端的 JSON 配置片段可能类似于这样(请注意,这是客户端配置的示例,您不需要在 Notelog 本身运行这些 JSON):

{
  "mcpServers": {
    "notelog": {
      "command": "notelog",
      "args": [
        "mcp",
        "-d",
        "/home/username/NoteLog" // 替换为您的实际目录
      ]
    }
  }
}

MCP 客户端将使用 'command' 和 'args' 中指定的信息来启动 Notelog 进程,并通过标准输入/输出与其进行 MCP JSON-RPC 通信。

基本使用方法 (CLI)

在使用 Notelog 之前,请先创建您想要存储笔记的目录(默认是 '~/NoteLog'),并确保 Notelog 对该目录有写入权限。

  • 创建一个笔记目录:
    mkdir ~/NoteLog
  • 通过命令行添加笔记:
    notelog add "这是一条新的笔记"
    # 或指定标题
    notelog add --title "会议记录" "讨论了项目进展。"
    # 添加笔记并包含标签 (标签以 + 开头)
    notelog add "新想法关于人工智能" +ai +idea
  • 从文件添加笔记:
    notelog add --title "文件笔记" --file /path/to/your/note.md
  • 从标准输入添加笔记:
    echo "这是通过管道输入的笔记内容。" | notelog add
  • 打开编辑器添加笔记: 直接运行 'notelog' 会打开您配置的默认编辑器(如 nano, vim 等)让您撰写笔记。您可以编辑包含 Frontmatter 模板的内容。
    notelog
    在编辑器中保存并关闭文件后,笔记将被保存。

有关更详细的用法和选项,请参考 Notelog 的帮助信息(运行 'notelog --help')。

信息

分类

生产力应用