Introduction

When handling tasks, the Agent in DeepSeek Harness (DSH) often needs to directly operate Notion workspaces. dsh-notion-skill uses the official Notion REST API to give DSH Agents the ability to interact with your workspace, allowing them to directly read from and write to it.

What This Is

dsh-notion-skill is a DSH plugin maintained by Zhiyi-Zhao and belongs to the “Web Tools” category. It enables DSH Agents to use the official Notion REST API to search pages/databases, read page properties, read full page content (recursively converting to Markdown), and create/update pages and database entries.

Installation and Enablement

Install the plugin with the following command:

dsh plugin --profile web add github:Zhiyi-Zhao/dsh-notion-skill

Core Features

The plugin supports the following operations:

  • Credential validation: Verify whether a Notion token is valid.
  • Search: Search pages or databases by keyword.
  • Page operations: Read page properties, read full content, recursively convert to Markdown, create subpages, update page titles, and append content blocks.
  • Database operations: Query databases, create databases, add database entries, and update database entries.

Configuration and Security

  1. Obtain a token: Create an integration on the Notion integrations page and copy the token.
  2. Configure the token: Write the token to the configuration file ~/.dsh/notion/token, or set the environment variable NOTION_TOKEN.
  3. Authorize pages: In Notion, grant access to the pages/databases you need (Connections).
  4. Security mechanisms:
    • The token is stored in a local configuration file and is not written into code or repositories.
    • Write operations (create/update/append) first require the Agent to display a content summary, then execute after user confirmation.
    • Notion page content is treated as untrusted input to prevent prompt injection.

Usage Examples

Enter the following prompts directly in DSH:

  • “Read my xxx page in Notion”
  • “Save this text as a new page”
  • “Add a new record to the xxx database”

Technical Details

  • Implemented using only the Python standard library, with zero third-party dependencies.
  • Supports Windows / macOS / Linux.
  • Markdown content supports headings, lists, code blocks, and more; write operations are chunked automatically.