一键导入
cleandesktop
Desktop file organizer - auto-archive by week with type classification and CSV logging.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Desktop file organizer - auto-archive by week with type classification and CSV logging.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Open local review artifacts in Xiaoer Omia when users ask to open, preview, inspect, or review a file.
Run a measured improvement loop for a skill by defining a yes/no checklist, capturing a baseline, scoring candidate outputs, and logging each iteration's keep/revert decision. Use when a skill works inconsistently and you want evidence-driven iteration instead of random prompt edits.
Build a static HTML report site from CSV, JSON, Markdown, or HTML inputs. Use when the user wants to turn existing data into a human-readable site, generate a data showcase page, create a static report website, or optionally publish the built site.
Add offline multilingual support to static HTML, small web projects, or reports by extracting text into tokens, maintaining language dictionaries, applying translated outputs, and optionally embedding a local language switcher. Use when the user asks for bilingual support, tokenizing Chinese copy, offline language switching, or i18n for reports and lightweight sites.
Unified entrypoint for Obsidian note operations such as cleanup, merge, lint/fix, meeting archive, daily rollover, and docs sync. Use when the user wants one command surface over an existing notes-tools repo instead of calling many atomic scripts by hand.
Test, tune, and regression-check LLM system prompts with a golden dataset. Use when the user wants to optimize a prompt, run prompt regression tests, manage `cases.yaml`, compare expected vs actual outputs, or follow a TDD workflow for prompts.
| name | cleandesktop |
| description | Desktop file organizer - auto-archive by week with type classification and CSV logging. |
| version | 2.1.0 |
| author | Vivi |
| tags | ["productivity","desktop","archive","cleanup"] |
| platforms | ["macos","linux"] |
| dependencies | ["python3"] |
Auto-archive desktop files into weekly folders with dual-tag classification (category + type) and CSV logging.
list and stats commands)--dry-run preview modecd cleandesktop
cp .env.example .env # Edit paths if needed
# Preview what would happen
python3 main.py archive --dry-run
# Archive with GUI category picker (macOS)
./bin/cleandesktop.sh --gui --yes
# Archive with explicit category
python3 main.py archive --category work --yes
| Command | Description | Example |
|---|---|---|
archive | Move desktop files to archive | archive --category work --yes |
archive --dry-run | Preview without moving | archive --dry-run |
archive --gui | GUI category picker (macOS) | archive --gui --yes |
list | Query archive log | list --category work --limit 10 |
list --type <t> | Filter by file type | list --type images |
list --week <w> | Filter by week folder | list --week 2025.08.21-2025.08.27 |
stats | Show archive statistics | stats |
All via environment variables (or .env file):
| Variable | Description | Default |
|---|---|---|
CLEANDESKTOP_SOURCE | Source directory to clean | ~/Desktop |
CLEANDESKTOP_ARCHIVE | Archive root directory | ~/Desktop/archive |
CLEANDESKTOP_LOG | CSV log file path | <archive>/archive_log.csv |
CLEANDESKTOP_CATEGORY | Default category tag | other |
Legacy variables (DESKTOP_PATH, ARCHIVE_PATH, LOG_PATH, DEFAULT_CATEGORY) are also supported as fallback.
~/Desktop/archive/
by-week/
2025.08.18-2025.08.24/
2025.08.20 meeting-notes.pdf
2025.08.21 screenshot.png
images-archive/ # Image copies
docs-archive/ # Document copies
sheets-archive/ # Spreadsheet copies
archive_log.csv # Operation log
| Field | Description |
|---|---|
archived_at | Timestamp (ISO format) |
original_name | Original filename |
new_name | Archived filename (with date prefix) |
category_tag | Category tag |
type_tag | File type tag |
week_folder | Week folder name |
src_path | Original path |
dest_path | Archived path |
| Type | Extensions |
|---|---|
| images | png, jpg, jpeg, gif, bmp, tiff, webp, heic, svg |
| docs | txt, md, pdf, doc, docx, rtf, pages |
| sheets | xlsx, xls, csv, numbers |
| videos | mp4, mov, avi, mkv, wmv |
| audio | mp3, wav, aac, flac, m4a |
| archives | zip, rar, 7z, tar, gz |
| code | py, js, ts, html, css, java, swift, go, rs, sh |
Log not updating? Check that the archive directory exists and is writable. Run manually and look for error output.
Can't find archived file?
Query the log: python3 main.py list --limit 10 and check the dest_path field in the CSV.
GUI dialog not appearing?
--gui requires macOS. On other platforms it falls back to terminal selection.