heiyuai15 downloadsAutomatically organize clipped notes into existing folders with AI summaries and related notes.
English | 简体中文
Organize clipped Markdown notes into existing folders with AI summaries, related-note links, review queues, and undo. Bring your own OpenAI-compatible model endpoint, including a local model.
Clip Tidy is an independent community plugin, not affiliated with Obsidian. This repository contains the Obsidian organizer only. It does not require a companion browser extension: save notes with Obsidian Web Clipper or any other tool, then organize them here.
Desktop only · Obsidian 1.8.7+ · Chinese interface and AI summaries
Note (2).md, Note (3).md, and so on.The plugin has been submitted to the community directory and is awaiting automated review. Until it is available for installation in Obsidian, use manual installation:
main.js, manifest.json, and styles.css from the latest release..obsidian/plugins/clip-tidy/ inside your vault and place those three files in it.Do not copy another person's data.json: it contains their settings, API key, and note backups.
The plugin currently has a Chinese interface. The steps below describe the controls in English; this document does not add an English interface to the plugin.
Clippings and at least one destination folder inside your vault.https://api.openai.com/v1 or local http://localhost:11434/v1. Leave the key empty if your local service does not require authentication.The organizer is disabled by default. You must configure it and explicitly enable AI organization before notes are sent to your selected service. The plugin is free; a cloud model provider may require an account and charge for API usage. A local compatible model can be used without a cloud account.
The automatic folder list excludes the inbox, its parents and descendants, hidden folders, and common attachment folders (such as assets, attachments, images, and their supported Chinese equivalents). Manual destinations must already exist and cannot overlap the inbox.
Click the archive icon in the left ribbon to open the history view. Its four tabs, from left to right, are:
Undo refuses to overwrite a note edited since organization or a newly occupied original path. If moving a note causes Obsidian to rewrite relative links, the operation may need manual review; use the original-text backup to recover safely. History backups supplement, but do not replace, your vault backup.
The only network requests made by this plugin are to the model endpoint you configure, using Obsidian's requestUrl. The default endpoint is https://api.openai.com/v1; no request is made until you test the connection or enable organization. HTTPS is required, except HTTP on localhost, 127.0.0.1, or [::1]. Requests use /chat/completions.
Each organization request sends:
Candidate matching happens locally using titles, paths, and tags. The plugin does not upload the entire vault, download images, crawl websites, access files outside the vault, collect telemetry, or run an author-operated backend. Your chosen model provider receives the payload and handles it under its own terms and privacy policy. Network-connected providers may charge even if a request times out or you stop the task.
Settings, the unencrypted API key, classification results, and complete before/after note backups are stored in .obsidian/plugins/clip-tidy/data.json. Vault syncing or backups may include this file. Never publish it or attach it to an issue. Disable the plugin before removing this file; removal resets settings and loses undo history. History is retained locally without automatic pruning and can grow over time.
Requires Node.js 22+ and npm.
npm ci
npm test
npm run build
The build type-checks TypeScript and produces readable main.js. Obsidian provides the runtime obsidian dependency. Tests cover folder boundaries, model-response validation, safe summary formatting, history state grouping, file collisions, concurrent edits, interrupted writes, and undo. Automated tests do not guarantee model quality or compatibility with every theme and provider.
To release, update manifest.json, package.json, versions.json, and the build banner, then create a GitHub release whose tag exactly matches the manifest version (no v prefix). Attach main.js, manifest.json, and styles.css as individual files.
Report reproducible problems in GitHub Issues. Include your Obsidian version and reproduction steps; exclude private notes and credentials.
MIT License. Copyright 2026 Heiyu. Obsidian is a trademark of its respective owner; this public release does not include modified Obsidian brand artwork.