命令行Notion PKM工具

一个基于Python的命令行工具,用于通过Notion API与个人知识管理系统交互。

  • by conrad1451
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 conrad1451/notion-mcp-cli

使用说明

概念pkm-cli

一个用Python编写的终端CLI,用于通过Notion API直接从命令行与我的Notion个人知识管理(PKM)系统交互。

特性

  • 启动时的交互式数据库选择器
  • 每个数据库的命令菜单(搜索、读取、创建、追加)
  • 选择时显示的数据库属性
  • 带有终端超链接的按键驱动搜索结果
  • 搜索结果仅限于所选数据库

需求

  • Python 3.11+
  • Notion集成令牌
  • 与您的集成共享的Notion页面/数据库

安装

1.克隆仓库

git clone https://github.com/your-username/notion-pkm-cli.git
cd notion-pkm-cli

2.创建并激活虚拟环境

python3 -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

3.安装依赖项

pip install -r requirements.txt

或手动:

pip install notion-client click python-dotenv readchar

4.设置您的Notion集成

  1. 首选 notion.so/profile/集成
  2. 点击 新集成 给它起个名字
  3. 复制令牌(以开头 ntn_)
  4. 创建一个 .env 项目根目录中的文件:
NOTION_TOKEN=ntn_your_token_here
  1. 通过集成共享您的Notion数据库:在Notion中打开任何数据库→ ••• menu → 添加连接 → 选择您的集成

5.配置您的数据库

创建一个 databases.json 项目根目录中的文件:

{
  "databases": [
    { "name": "Work", "id": "your-database-id-here" },
    { "name": "Personal", "id": "your-database-id-here" }
  ]
}

要查找数据库ID:在Notion中打开数据库,并在最后一个URL后复制32个字符串 / 在 ?.

用法

python notion_cli.py

您将看到一个数据库选择器,然后是一个命令菜单:

🗂  Select a database:

  [1] Work
  [2] Personal

Press a key to select: 1

📂 Database: Work
  Properties: Name, Status, Assignee, Due Date
────────────────────────────────────────
  [1] Search pages
  [2] Read page by ID
  [3] Create page
  [4] Append to page
  [5] Switch database
  [6] Quit

Choose an action:

命令

命令 描述
搜索页面 在所选数据库中搜索并通过按键打开结果
按ID读取页面 通过粘贴ID读取任何页面
创建页面 在所选数据库中创建新页面
附加到页面 将段落附加到现有页面
切换数据库 返回数据库选择器
退出 退出应用程序

项目结构

notion-pkm-cli/
├── notion_cli.py       # Main CLI script
├── databases.json      # Your database config (gitignored)
├── .env                # Your Notion token (gitignored)
├── requirements.txt    # Python dependencies
└── .gitignore

Gitigned文件

以下内容不在版本控制范围内,必须在本地创建:

  • .env --包含您的秘密Notion令牌
  • databases.json --包含您的数据库ID

备注

  • 搜索结果中的终端超链接需要一个现代终端(VS Code终端、iTerm2、Warp、Ghostty)。它们在不受支持的终端中优雅地降级。
  • venv文件夹被忽略。重新创建它 python3 -m venv venv && pip install -r requirements.txt 克隆后。