vault backup: 2026-01-31 08:25:19

This commit is contained in:
windyboy
2026-01-31 08:25:19 +08:00
parent 0450479e72
commit b83116eb26
35 changed files with 52219 additions and 25059 deletions
+3 -381
View File
@@ -44,375 +44,13 @@
"thinkingBudget": "off",
"permissionMode": "normal",
"lastNonPlanPermissionMode": "normal",
"permissions": [
{
"toolName": "Bash",
"pattern": "mkdir -p \"03_Resources/Articles\" \"03_Resources/Books\" \"03_Resources/Concepts\" \"03_Resources/People\" \"03_Resources/Tools\" \"03_Resources/Quotes\" \"03_Resources/Examples\" \"03_Resources/Learning\"",
"approvedAt": 1767579982085,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "mkdir -p \"06_Metadata/Reference\" \"06_Metadata/Templates\" \"06_Metadata/Agents\" \"06_Metadata/Workflows\" \"06_Metadata/Archive\"",
"approvedAt": 1767580054324,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "if [ -f .gitignore ]; then echo \"EXISTS\"; else echo \"NOT_FOUND\"; fi",
"approvedAt": 1767587601599,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "mkdir -p 03_Resources/Prompt-Library",
"approvedAt": 1767592134447,
"scope": "always"
},
{
"toolName": "Write",
"pattern": "03_Resources/Prompt-Library/Gemini 图片生成提示词模板.md",
"approvedAt": 1767592217296,
"scope": "always"
},
{
"toolName": "Write",
"pattern": "03_Resources/Prompt-Library/README.md",
"approvedAt": 1767592256349,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "mv \"01_Projects/AI-Development/Prompt-Library/baibot-system-prompts.md\" \"03_Resources/Prompt-Library/\" && mv \"01_Projects/AI-Development/Prompt-Library/cycling-training-prompt.md\" \"03_Resources/Prompt-Library/\" && mv \"01_Projects/AI-Development/Prompt-Library/dev-engineering-rules.md\" \"03_Resources/Prompt-Library/\" && mv \"01_Projects/AI-Development/Prompt-Library/movie-review-prompt.md\" \"03_Resources/Prompt-Library/\"",
"approvedAt": 1767592881054,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "rmdir \"01_Projects/AI-Development/Prompt-Library\"",
"approvedAt": 1767592895883,
"scope": "always"
},
{
"toolName": "Edit",
"pattern": "03_Resources/Prompt-Library/README.md",
"approvedAt": 1767592921581,
"scope": "always"
},
{
"toolName": "Write",
"pattern": "03_Resources/Prompt-Library/baibot-system-prompts.md",
"approvedAt": 1767593197954,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "python3 << 'EOF'\nimport os\nimport re\n\nchinese_pattern = re.compile(r'[\\u4e00-\\u9fff]+')\nchinese_files = []\n\nfor root, dirs, files in os.walk('.'):\n # 跳过隐藏目录\n dirs[:] = [d for d in dirs if not d.startswith('.')]\n \n for file in files:\n if chinese_pattern.search(file):\n full_path = os.path.join(root, file)\n chinese_files.append(full_path)\n\nfor f in sorted(chinese_files):\n print(f)\nEOF",
"approvedAt": 1767593330771,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "python << 'EOF'\nimport os\nimport re\n\nchinese_pattern = re.compile(r'[\\u4e00-\\u9fff]+')\nchinese_files = []\n\nfor root, dirs, files in os.walk('.'):\n # 跳过隐藏目录\n dirs[:] = [d for d in dirs if not d.startswith('.')]\n \n for file in files:\n if chinese_pattern.search(file):\n full_path = os.path.join(root, file)\n chinese_files.append(full_path)\n\nprint(f\"Found {len(chinese_files)} files with Chinese characters:\\n\")\nfor f in sorted(chinese_files):\n print(f)\nEOF",
"approvedAt": 1767593392020,
"scope": "always"
},
{
"toolName": "Write",
"pattern": ".scripts/scan-vault-para.ps1",
"approvedAt": 1767593508230,
"scope": "always"
},
{
"toolName": "Write",
"pattern": ".scripts/rename-chinese-to-english.ps1",
"approvedAt": 1767593891436,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "powershell -ExecutionPolicy Bypass -File \".\\.scripts\\rename-chinese-to-english.ps1\"",
"approvedAt": 1767593905094,
"scope": "always"
},
{
"toolName": "Write",
"pattern": ".scripts/rename-chinese-to-english.py",
"approvedAt": 1767594043665,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "python .scripts/rename-chinese-to-english.py",
"approvedAt": 1767594060348,
"scope": "always"
},
{
"toolName": "Edit",
"pattern": ".scripts/rename-chinese-to-english.py",
"approvedAt": 1767594101469,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "python .scripts/rename-chinese-to-english.py --execute",
"approvedAt": 1767594252544,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "python .scripts/rename-chinese-to-english.py --execute 2>&1 | grep -E \"^\\[\" | tail -30",
"approvedAt": 1767594293947,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "ls 00_Inbox/*.md 2>&1 | head -5",
"approvedAt": 1767604467950,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "ls 03_Resources/*.md 2>&1 | head -5",
"approvedAt": 1767604961692,
"scope": "always"
},
{
"toolName": "Write",
"pattern": ".claude/project-instructions.md",
"approvedAt": 1767605314357,
"scope": "always"
},
{
"toolName": "Edit",
"pattern": "2026-01-05.md",
"approvedAt": 1767605423829,
"scope": "always"
},
{
"toolName": "WebFetch",
"pattern": "{\"url\":\"https://silentvoid13.github.io/Templater\",\"prompt\":\"提取Templater插件的主要功能、安装方法、基本使用方式和核心语法\"}",
"approvedAt": 1767605778052,
"scope": "always"
},
{
"toolName": "Write",
"pattern": "06_Metadata/Templater使用指南.md",
"approvedAt": 1767606555612,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "mkdir -p \"06_Metadata/Templates\"",
"approvedAt": 1767606562910,
"scope": "always"
},
{
"toolName": "Write",
"pattern": "06_Metadata/Templates/daily-note.md",
"approvedAt": 1767606599739,
"scope": "always"
},
{
"toolName": "Write",
"pattern": "06_Metadata/Templates/project.md",
"approvedAt": 1767606602396,
"scope": "always"
},
{
"toolName": "Write",
"pattern": "06_Metadata/Templates/meeting.md",
"approvedAt": 1767606604749,
"scope": "always"
},
{
"toolName": "Write",
"pattern": "06_Metadata/Templates/quick-note.md",
"approvedAt": 1767606606848,
"scope": "always"
},
{
"toolName": "Write",
"pattern": "06_Metadata/Templates/book-note.md",
"approvedAt": 1767606608965,
"scope": "always"
},
{
"toolName": "Write",
"pattern": "06_Metadata/Templates/person.md",
"approvedAt": 1767606610745,
"scope": "always"
},
{
"toolName": "Write",
"pattern": "06_Metadata/Templater配置指南.md",
"approvedAt": 1767606650610,
"scope": "always"
},
{
"toolName": "Write",
"pattern": "06_Metadata/Templater快速参考.md",
"approvedAt": 1767606680611,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "cd 06_Metadata && mv \"Templater使用指南.md\" \"Templater-User-Guide.md\" && mv \"Templater配置指南.md\" \"Templater-Setup-Guide.md\" && mv \"Templater快速参考.md\" \"Templater-Quick-Reference.md\"",
"approvedAt": 1767606719668,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "ls -lh 06_Metadata/*.md",
"approvedAt": 1767606724364,
"scope": "always"
},
{
"toolName": "Edit",
"pattern": "06_Metadata/Templater-Setup-Guide.md",
"approvedAt": 1767606758871,
"scope": "always"
},
{
"toolName": "Edit",
"pattern": "06_Metadata/Templater-Quick-Reference.md",
"approvedAt": 1767606763446,
"scope": "always"
},
{
"toolName": "Write",
"pattern": "06_Metadata/Obsidian-Plugins-Manual.md",
"approvedAt": 1767608585967,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "git remote remove origin 2>&1 || echo \"no origin to remove\"",
"approvedAt": 1767616810536,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "pnpm install",
"approvedAt": 1767616837185,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "mkdir -p 00_Inbox 01_Projects 02_Areas 03_Resources 04_Archive 05_Attachments/Organized 06_Metadata/Reference 06_Metadata/Plans 06_Metadata/Templates && echo \"Folders created successfully\"",
"approvedAt": 1767617713953,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "cat > \"01_Projects/README.md\" << 'EOF'\n# Projects\n\n**Purpose:** Time-bound initiatives with clear completion criteria.\n\n## What is a Project?\n\nA project has:\n- A specific goal or deliverable\n- A clear end date or completion criteria\n- Multiple tasks or actions\n\nExamples: Writing a paper, launching a product, planning an event, learning a new skill\n\n## Recommended Structure\n\nFor each project folder, create:\n- `Research/` - Source materials and references\n- `Drafts/` - Work in progress\n- `Output/` - Final deliverables\n- `README.md` - Project objectives, timeline, and status\n\n## Project Lifecycle\n\n1. **Start:** Create folder with subfolders and README\n2. **During:** Keep all related materials in the project folder\n3. **Complete:** Create summary note, then move to `04_Archive/`\n\n## Tips\n\n- Link to relevant Areas and Resources\n- Commit regularly to track progress with git\n- Review weekly to check status and next actions\nEOF\necho \"Created 01_Projects/README.md\"",
"approvedAt": 1767618086311,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "cat > \"04_Archive/README.md\" << 'EOF'\n# Archive\n\n**Purpose:** Completed or inactive items from Projects and Areas.\n\n## What Gets Archived\n\n- **Completed projects** - Move entire project folder here\n- **Inactive areas** - Areas you're no longer maintaining\n- **Old resources** - Outdated reference materials (use sparingly)\n\n## Archive Structure\n\nMaintain the same folder structure:\n- `Projects/` - Completed project folders\n- `Areas/` - Inactive areas\n- `Resources/` - Outdated resources (if needed)\n\n## Before Archiving a Project\n\n1. Create a project summary note with:\n - What was accomplished\n - Key learnings\n - Links to important outputs\n2. Update related Area notes\n3. Move the entire project folder here\n\n## Maintenance\n\n- Review quarterly to see what can be deleted\n- Some archived items may be reactivated\n- Keep the archive organized (mirror active structure)\n\n## Tips\n\n- Don't archive too aggressively - keep valuable reference material\n- Use git history to track when things were archived\n- Archived doesn't mean forgotten - you can still search and reference\nEOF\necho \"Created 04_Archive/README.md\"",
"approvedAt": 1767618088747,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "cat > \"05_Attachments/README.md\" << 'EOF'\n# Attachments\n\n**Purpose:** Storage for all non-text files (images, PDFs, videos, audio).\n\n## Organization\n\n- **Root (05_Attachments/)** - Unprocessed attachments\n- **Organized/** - Files that have been properly named and referenced\n\n## Naming Convention\n\nUse descriptive names that indicate the related note:\n- `[RelatedNote]_[Description].[ext]`\n- Example: `ProjectAlpha_Architecture_Diagram.png`\n- Example: `BookNotes_Thinking_Fast_Slow_Cover.jpg`\n\n## Helper Scripts\n\n```bash\npnpm attachments:list # List unprocessed files\npnpm attachments:organized # Count organized files\npnpm attachments:orphans # Find unreferenced files\npnpm attachments:update-links # Update links after moving\n```\n\n## Processing Workflow\n\n1. Files initially land in `05_Attachments/`\n2. Rename with descriptive names\n3. Reference in notes using `![[filename.ext]]`\n4. Move to `Organized/` subfolder\n5. Update any links if paths change\n\n## Tips\n\n- Process attachments regularly (don't let them pile up)\n- Use consistent naming patterns\n- Delete duplicates and unused files\n- Consider using Gemini Vision to analyze images\nEOF\necho \"Created 05_Attachments/README.md\"",
"approvedAt": 1767618090058,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "cat package.json | grep -A 30 '\"scripts\"'",
"approvedAt": 1767618132102,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "mkdir -p .claude && echo '{\"user\":{\"name\":\"\",\"publicProfile\":false},\"organizationMethod\":\"PARA\",\"primaryUses\":[\"research\",\"writing\",\"project-management\",\"daily-notes\"],\"tools\":{\"geminiVision\":false,\"firecrawl\":true},\"weeklyReview\":true,\"importedAt\":\"2026-01-05\",\"lastUpdated\":\"2026-01-05\"}' > .claude/vault-config.json && cat .claude/vault-config.json",
"approvedAt": 1767618135787,
"scope": "always"
},
{
"toolName": "Write",
"pattern": "D:\\tmp\\vault\\my-vault\\CLAUDE.md",
"approvedAt": 1767618385844,
"scope": "always"
},
{
"toolName": "Write",
"pattern": "D:\\tmp\\vault\\my-vault\\WEEKLY_REVIEW.md",
"approvedAt": 1767618388814,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "test -f \"D:\\tmp\\vault\\my-vault\\.gitignore\" && echo \"exists\" || echo \"not found\"",
"approvedAt": 1767618406650,
"scope": "always"
},
{
"toolName": "Edit",
"pattern": "D:\\tmp\\vault\\my-vault\\.gitignore",
"approvedAt": 1767618439421,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "pnpm vault:stats",
"approvedAt": 1767618580628,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "git add CLAUDE.md WEEKLY_REVIEW.md .gitignore .claude/vault-config.json 01_Projects/README.md 02_Areas/README.md 03_Resources/README.md 04_Archive/README.md 05_Attachments/README.md pnpm-lock.yaml",
"approvedAt": 1767618604305,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "git commit -m \"$(cat <<'EOF'\nInitial vault setup with PARA structure\n\n- Created CLAUDE.md configuration file\n- Created WEEKLY_REVIEW.md template\n- Set up PARA folder structure (Projects, Areas, Resources, Archive)\n- Created README files for each main folder\n- Configured .gitignore for vault files\n- Saved vault configuration to .claude/vault-config.json\n\nGenerated with Claude Code\nCo-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>\nEOF\n)\"",
"approvedAt": 1767618611184,
"scope": "always"
},
{
"toolName": "Write",
"pattern": ".claude/commands/git-commit-msg.md",
"approvedAt": 1767619909039,
"scope": "always"
},
{
"toolName": "Edit",
"pattern": ".claude/commands/README.md",
"approvedAt": 1767619920589,
"scope": "always"
},
{
"toolName": "Write",
"pattern": ".git-commit-msg-temp.txt",
"approvedAt": 1767620317298,
"scope": "always"
},
{
"toolName": "Write",
"pattern": "01_Projects/Work/Government-Projects/Municipal-Development-Reform/login.md",
"approvedAt": 1767753309725,
"scope": "always"
},
{
"toolName": "Bash",
"pattern": "git add \"01_Projects/Work/Government-Projects/Municipal-Development-Reform/Server-Credentials.md\" && git commit -m \"Rename: login.md → Server-Credentials.md for better clarity\"",
"approvedAt": 1767755418968,
"scope": "always"
}
],
"permissions": [],
"excludedTags": [],
"mediaFolder": "",
"mediaFolder": "05_Attachments",
"environmentVariables": "",
"envSnippets": [],
"systemPrompt": "",
"allowedExportPaths": [
"~/Desktop",
"~/Downloads"
],
"allowedContextPaths": [],
@@ -421,21 +59,5 @@
"scrollDownKey": "s",
"focusInputKey": "i"
},
"claudeCliPath": "",
"hooks": {
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "[ -f FIRST_RUN ] && echo '{\"hookSpecificOutput\":{\"hookEventName\":\"SessionStart\",\"additionalContext\":\"\\n\\n# 🚀 Welcome to Claudesidian!\\n\\n**This appears to be your first time using this vault.**\\n\\n## Quick Start\\n\\nRun the setup wizard:\\n\\n⬇\\n/init-bootstrap\\n⬆\\n\\n## What this will do:\\n\\n✅ Set up your personalized configuration\\n✅ Disconnect from the original repository\\n✅ Help you import any existing Obsidian vault\\n✅ Configure your preferred workflow\\n✅ Create your PARA folder structure\\n\\nThe setup wizard will guide you through everything!\\n\\n\"}}' || true"
},
{
"type": "command",
"command": "npm run check-updates --silent 2>/dev/null || true"
}
]
}
]
}
"claudeCliPath": "/Users/windy/.local/bin/claude"
}