Local-first mind map editor prototype.
Current focus:
- Default root node and keyboard-first editing
- GitMind-like floating workspace shell
- Light/dark theme toggle
- Markdown export and Markdown/TXT import
- Manual relation edges distinct from hierarchy
- Go backend with local JSON persistence
- Branch collapse, subtree deletion, and auto layout
cmd/server: Go HTTP serverinternal/mindmap: document model plus import/export helpersinternal/store: local JSON persistenceinternal/server: API and static file servingfrontend: Vite + TypeScript clientdocs: product plan and open issues
- Default root node with
Tabchild creation andEntersibling creation - Root sibling creation as floating nodes
- Double-click or
F2rename - First-run language picker with English and Simplified Chinese
- In-page settings drawer for locale, theme, and local AI defaults
- Local AI settings now include optional API Key and configurable max output tokens
- AI workspace for automatic semantic relation suggestions
- AI connection test for LM Studio or another OpenAI-compatible local endpoint
- AI topic-based knowledge graph generation
- Built-in AI template example maps
- Priority badges:
P0toP3 - Branch collapse and expand
- Node drag for non-root nodes
- Manual relation edges with editable labels
- Hierarchy auto layout
- Read-only 3D floating graph overlay with search, drag-to-orbit, optional auto-rotate, and jump-back
- Local JSON persistence through the Go backend
- Markdown export and Markdown/TXT import
- Wails desktop shell build
Tab: add child nodeEnter: add sibling nodeDelete: delete selected node subtreeSpace: enter editing with cursor at the endF2: rename selected nodeArrow keys: move selection by directionShift + Arrow keys: extend selectionCtrl/Cmd + C: copy current primary subtreeCtrl/Cmd + V: paste subtree under current primary nodeCtrl/Cmd + L: tidy hierarchy layoutCtrl/Cmd + S: save
Detailed shortcut notes live in docs/keyboard-shortcuts.md.
Root dev mode:
npm install
npm run devnpm run dev 会同时启动 Vite 和本地 Go API。AI 测试不会直接访问 LM Studio,而是先访问本地 /api/*,再由 Go 后端转发到你配置的 LM Studio 地址。
Backend only:
go run ./cmd/serverProduction frontend build:
npm run buildAfter building the frontend, the Go server serves frontend/dist.
Wails desktop dev:
$w = Join-Path (go env GOPATH) 'bin\wails.exe'
& $w devWails desktop build:
$w = Join-Path (go env GOPATH) 'bin\wails.exe'
& $w build -nopackageCurrent desktop output:
build/bin/CodeMind.exe
Backend tests:
go test ./...Frontend build:
cd frontend
npm run build