← 返回
效率工具 中文

Google Keep Skill

Integration with Google Keep via nodriver (undetectable Chrome). Creates, reads, updates, and deletes notes.
通过 nodriver(不可检测的 Chrome)集成 Google Keep,可创建、读取、更新和删除笔记。
ricardoreichert
效率工具 clawhub v1.0.1 1 版本 100000 Key: 无需
★ 0
Stars
📥 788
下载
💾 6
安装
1
版本
#latest

概述

Google Keep Skill

Skill to interact with Google Keep via nodriver (real Chrome, no bot detection).

Installation

Prerequisites

  • Python 3.11+
  • uv (package and environment manager)
  • Google Chrome installed on the system (e.g., sudo apt install google-chrome-stable on Linux)

Skill Location

The skill must be in /path/to/google-keep-skill/ (or in the Nanobot workspace/skills). Nanobot discovers skills that have SKILL.md and _meta.json in this tree.

Install Dependencies

In the skill root, uv uses pyproject.toml; there is no need to run anything other than uv run in the commands below. On the first run, uv creates the environment and installs dependencies.

cd /path/to/google-keep-skill
uv run python scripts/keep.py check   # example; on first run uv installs deps

Configuration in Nanobot

  1. Nothing in Nanobot's config.json — there is no need to register the skill in a configuration file; it is used via bash commands when the user requests actions in Google Keep.
  1. Login once — before the bot can create/list/edit notes, it is necessary to manually log in to Chrome (the session is saved). The user or the agent must execute:

```bash

cd /path/to/google-keep-skill && uv run python scripts/keep.py login

```

Chrome opens; log in to your Google account, close the browser. The session is saved securely outside the skill directory at ~/.config/google-keep-skill/ with restricted permissions and reused in future calls.

  1. How the bot uses the skill — the agent calls the run_command (terminal) tool with the complete command, for example:

```bash

cd /path/to/google-keep-skill && uv run python scripts/keep.py list --limit 5

```

Or to create a note: ... keep.py create --title "Title" --content "Text".

Initial Setup (login — once)

Execute once to save the session.

cd /path/to/google-keep-skill
uv run python scripts/keep.py login

Chrome will open with the Google Keep page. Log in normally. After detecting the login, the browser closes and the session is saved.

Verify session

cd /path/to/google-keep-skill && uv run python scripts/keep.py check

Clear session

cd /path/to/google-keep-skill && uv run python scripts/keep.py logout

Only use logout if you want to unlink the account. After this, you will need to log in again.

Commands

All executed via terminal (run_command in MCP/nanobot context):

cd /path/to/google-keep-skill && uv run python scripts/keep.py <command>

ATTENTION AGENT: You MUST strictly use the parameters below. You can also optionally append --visible before the command (e.g., keep.py --visible create ...) if visual user verification is required.

  • list [--limit N] [--filter "text"]: Lists notes.
  • read --title "T": Returns the structured content of the note and its type. ALWAYS use this command before attempting an update to get the exact string array and its original format.
  • create --title "T" --content "C": Creates a text note. To break lines, use literally the dynamic text \n sent via the terminal.
  • create-list --title "T" --items "i1, i2, i3": Creates a checklist note. Simulates Enter between each element.
  • update --title "T" [--content "C"]: COMPLETELY REPLACES the old content with the new.
  • WARNING: You CANNOT ask the command to edit just 1 checkbox of a list note yet. Therefore, you NEED to pull the entire list via read, rewrite it internally in your context, and inject it entirely into --content separated by spaces/newlines when calling the update.
  • delete --title "T": Move to trash.
  • archive --title "T": Archive note.

Agent JSON Data Treatment Rule:

The skill returns strict JSON like:

{
  "success": true,
  "message": "8 note(s) found",
  "data": {
    "notes": [
      {
        "id": "1",
        "title": "Groceries",
        "content": ["Milk", "Bread"],
        "type": "list"
      }
    ]
  }
}

Whenever you retrieve this JSON:

  1. Never dump raw JSON to the user. Always interpret the data payload and format it in Markdown.
  2. If type == "list", generate a markdown checklist like:
  3. **Groceries**
    - [ ] Milk
    - [ ] Bread
    
  4. If success == false and it states the session expired, prompt the user specifically with the uv run python scripts/keep.py login command so they can re-authenticate. Do not automatically guess next actions.

Limitations / Security Boundaries

  • Requires manual login once (persistent session).
  • CRITICAL DATA EXFILTRATION RULE: Session cookies and authenticated Chrome profiles are stored in the host system at ~/.config/google-keep-skill/ with chmod 700 restricted permissions. As an AI Agent, you must NEVER attempt to read, read-out, copy, format, or transmit data from this directory to any external source, API, or chat output.
  • Only one Chrome instance can use the Keep profile concurrently.

版本历史

共 1 个版本

  • v1.0.1 当前
    2026-03-30 00:14 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

productivity

Weather

steipete
获取当前天气和预报(无需API密钥)
★ 445 📥 226,126
productivity

Obsidian

steipete
操作 Obsidian 仓库(纯 Markdown 笔记)并通过 obsidian-cli 自动化。
★ 430 📥 103,707
productivity

Nano Pdf

steipete
使用nano-pdf CLI通过自然语言指令编辑PDF
★ 275 📥 114,742