Handle CSV data in a modular way — chain xan commands together like building blocks in a visual pipeline, without leaving your desktop.
Built with Tauri v2 + React 19 + React Flow, and powered by xan as the underlying CSV toolkit.
- Visual pipeline editor — drag, connect and configure xan commands on a node canvas (dagre auto-layout, cut/fall animations, undo/redo, copy/paste)
- 58 built-in xan commands — from basic
sort/filter/selecttopivot,window,join,stats,split,partition,to/fromconversion and more, each with a dedicated configuration dialog - AI assistant — describe what you want in natural language (Chinese/English), and the assistant generates ready-to-insert pipeline steps via DeepSeek / Qwen, with RAG over per-command docs
- Expression editor — syntax highlighting and autocomplete for 200+ Moonblade functions
- Batch operations — batch filter (split one CSV into many files by column value) and batch format conversion (CSV ↔ XLSX ↔ JSON)
- Data profiling — one-click column statistics (count, nulls, min/max/mean, etc.) via
xan stats - Pipeline versioning — save / restore / delete pipeline versions with tags
- Data lineage — track how columns transform through your pipeline
- Execution log — per-step output inspection and copy
- Bilingual UI — English / 中文, plus dark/light/system themes
- Place a Windows
xan.exebinary insrc-tauri/resources/— it is embedded into the binary at compile time and extracted on first run (seesrc-tauri/src/xan.rs). You can build it withcargo build --releasefrom the xan source, or download a pre-built binary from xan releases. - Install project dependencies:
pnpm installpnpm tauri devpnpm tauri buildpnpm test # run the vitest suite
pnpm test:watch # watch mode- Open a CSV — drag & drop a file onto the window, or use
Ctrl+O - Browse commands — the left panel lists all 58 xan commands by category (or press
Alt+C) - Add to flow — click a command (or ask the AI assistant with
Alt+A) to add it to your pipeline - Configure parameters — click the gear icon on a step card, or double-click the node
- Execute — press
Ctrl+Rto run the whole pipeline, then inspect results in the log panel (Alt+Q) and the data profile (open it from the More Panels menu in the top bar)
| Shortcut | Action |
|---|---|
Ctrl+O / Ctrl+N |
Open file / open file in new tab |
Ctrl+S / Ctrl+E |
Save / export pipeline |
Ctrl+I |
Import pipeline |
Ctrl+Z / Ctrl+Y |
Undo / redo |
Ctrl+R |
Execute pipeline |
Shift+H / Shift+C / Shift+S |
Help / check update / settings |
Alt+C / Alt+Q / Alt+A |
Commands / logs / AI panel |
Configure your provider and API key in Settings → AI (Shift+S).
Supported providers:
| Provider | Model examples |
|---|---|
| DeepSeek | deepseek-v4-flash, deepseek-v4-pro |
| Qwen | qwen-turbo, qwen-max, qwen3.7-plus |
| GLM | glm-4.7-flash, glm-4-flash-250414, glm-4-flash |
The assistant only uses your current message (not conversation history), and commands it generates are automatically connected to the last step in your pipeline.
- docs/AI/INDEX.md — full architecture and codebase index (Rust backend, frontend, hooks, components, how to modify each area)
- docs/AI/USAGE.md — merged usage docs for all 58 xan commands
- src/docs/AI_usage/ — generated per-command docs (source:
pnpm run generate-ai-usage) - src/docs/cmd/ — per-command help docs (English)
- docs/cmd_zh/ — per-command help docs (Chinese)
MIT

