Seeking Fragments of the Soul
A minimalist, local-first desktop notes app for writing Markdown notes, searching quickly, and keeping deleted items recoverable through a trash workflow.
- Local-first Markdown notes.
- Obsidian-style Edit and Preview modes: Edit writes raw Markdown, Preview renders it for reading.
- Auto-save.
- Search.
- Trash, restore, and permanent delete workflows.
- Mindmap notes.
- Chinese and English UI modes.
- Browser-only local development mode through
local-server.mjs. - Desktop app packaging through Tauri.
XG-Seeking treats Markdown as the canonical note format. It is not a Word-style rich text editor: note content is saved as Markdown source, and formatting should be represented with Markdown syntax rather than hidden rich-text state.
The app is local-first. Notes, mindmaps, trash, and settings are stored locally, with safer write paths and smoke tests intended to catch data-loss, page-switching, trash, restore, and preview regressions before release.
Download the latest XG221B_0.x.x_x64-setup.exe from Releases and run it.
To uninstall, use Windows Settings > Apps > XG221B, or run uninstall.exe from the install directory.
Prerequisites:
- Node.js
- Rust + Cargo
- Windows WebView2
Common commands:
npm install
npm run dev
npm run web:dev
npm run web:build
npm run smoke
npm run smoke:ui
npm run qa
npm run buildQA commands:
npm run smoke: API/data smoke test for notes, trash, mindmaps, settings contracts, validation, and cleanup.npm run smoke:ui: real browser UI smoke test for Notes and Mindmaps. It uses installed Chrome/Edge, orCHROME_PATHif a custom browser path is needed.npm run qa: runs both smoke suites.
xg-seeking/
|-- .github/ # GitHub workflows and release config
|-- docs/ # Project documentation
| |-- CHANGELOG.md
| `-- QA-WORKFLOW.md
|-- scripts/ # Helper scripts for local use
| `-- start-xg221b.vbs / startup script
|-- src/ # Frontend source
| |-- main.js
| `-- styles.css
|-- src-tauri/ # Tauri/Rust desktop shell
| |-- src/
| | |-- main.rs
| | |-- notes.rs
| | |-- mindmap.rs
| | |-- settings.rs
| | `-- storage.rs
| |-- icons/
| |-- Cargo.toml
| `-- Cargo.lock
|-- tests/ # Smoke and regression checks
| `-- smoke/
|-- AGENTS.md # Agent workflow and QA rules
|-- index.html # Vite entry
|-- local-server.mjs # Browser-only local backend
|-- package.json
|-- package-lock.json
|-- LICENSE
`-- README.md
Generated or local-only folders are intentionally ignored by Git:
node_modules/dist/src-tauri/target/src-tauri/gen/local-data/
MIT, XG221B