nia-vault
v0.1.0
Published
CLI app for querying local notes via Nia semantic search
Downloads
516
Readme
nia-vault
A CLI application for querying your local notes and files using AI-powered semantic search via Nia.
Features
- Semantic Search: Query your notes using natural language
- Multiple Folders: Search across multiple synced folders
- Seamless Integration: Automatically uses credentials from nia-sync
- Flexible Sync: Sync folders on-demand or before searches
Prerequisites
- Node.js >= 18.0.0 or Bun
- nia-sync >= 2.0.0 installed and configured
# Install nia-sync
pip install nia-sync
# Authenticate with Nia
nia login
# Add folders to sync
nia add ~/Documents/notes
nia startInstallation
# With Bun (recommended)
bun install -g nia-vault
# With npm
npm install -g nia-vault
# With pnpm
pnpm install -g nia-vaultAfter installation, the vault command is available globally.
Quick Start
# Initialize nia-vault (select which folders to search)
vault init
# Ask a question
vault ask "Summerize meeting notes from last week"
vault ask "What are my notes about project planning?"
# Find files and open in your editor
vault find "meeting notes from last week"Commands
vault init
Interactive setup wizard that detects your nia-sync configuration and lets you select which folders to include in searches.
vault ask "<question>"
Query your notes using semantic search.
Options:
| Flag | Description |
| ------------------- | ---------------------------------------------------------- |
| -f, --folder <id> | Search specific folder only |
| -s, --sync | Sync folders before searching |
| -p, --plain | Disable terminal markdown rendering (outputs raw markdown) |
| --no-stream | Disable streaming (wait for full response) |
vault find "<query>"
Search for files matching your query and open the selected file in your editor.
vault find "meeting notes from last week"This command:
- Searches your indexed folders for files matching the query
- Displays an interactive file picker
- Opens the selected file in your default editor (
$VISUALor$EDITOR, falling back tovi)
vault sync
Manually trigger a sync of all folders.
vault folders
List, add, or remove folders from search scope.
vault config
View or reset configuration.
Configuration
nia-sync Configuration (read-only)
nia-vault reads the API key from ~/.nia-sync/config.json. This file is managed by nia-sync.
nia-vault Configuration
Location: ~/.config/nia-vault/config.json
{
"selectedFolders": ["folder-id-1", "folder-id-2"]
}This file only stores which folders are included in searches. The API key is always read from nia-sync.
Troubleshooting
| Error | Solution |
| ------------------------- | -------------------------------------------------- |
| nia-sync not configured | Run nia login to authenticate |
| No configuration found | Run vault init to set up |
| Invalid API key | Run nia login to re-authenticate |
| No synced folders found | Run nia add ~/path to add folders |
| No folders selected | Run vault folders to select folders |
| Editor not found | Set $EDITOR or $VISUAL environment variable |
| No matching files found | Try a different query or ensure folders are synced |
Contributing
Adding a Changeset
When making changes that should be included in a release, please add a changeset:
bun changesetThis will prompt you to describe your changes. Choose the appropriate version bump:
- patch (0.0.x): Bug fixes, small improvements, documentation updates
- minor (0.x.0): New features, non-breaking changes
- major (x.0.0): Breaking changes
The changeset file should be committed with your PR.
Development Workflow
# Clone the repository
git clone https://github.com/chenxin-yan/nia-vault.git
cd nia-vault
# Install dependencies
bun install
# Run in development mode
bun run dev
# Build the project
bun run buildLicense
MIT
