vestige/docs/CONFIGURATION.md

188 lines
3.8 KiB
Markdown
Raw Normal View History

# Configuration Reference
> Environment variables, CLI commands, and setup options
---
## First-Run Network Requirement
Vestige downloads the **Nomic Embed Text v1.5** model (~130MB) from Hugging Face on first use.
**All subsequent runs are fully offline.**
### Model Cache Location
The embedding model is cached in platform-specific directories:
| Platform | Cache Location |
|----------|----------------|
| macOS | `~/Library/Caches/com.vestige.core/fastembed` |
| Linux | `~/.cache/vestige/fastembed` |
| Windows | `%LOCALAPPDATA%\vestige\cache\fastembed` |
Override with environment variable:
```bash
export FASTEMBED_CACHE_PATH="/custom/path"
```
---
## Environment Variables
| Variable | Default | Description |
|----------|---------|-------------|
chore: remove 3,091 LOC of orphan code + fix ghost env-var docs Nine tool modules in crates/vestige-mcp/src/tools/ had zero callers after the v2.0.x unification work shipped *_unified + maintenance::* replacements. They'd been #[allow(dead_code)]-papered over and forgotten. Verified each module independently: grep for tools::<name>::, string dispatch in server.rs, cross-crate usage — all nine returned zero external callers. Removed modules (all superseded): checkpoint (364 LOC) — no callers anywhere codebase (298) — superseded by codebase_unified consolidate (36) — superseded by maintenance::execute_consolidate ingest (456) — superseded by smart_ingest intentions (1,093) — superseded by intention_unified knowledge (106) — no callers anywhere recall (403) — superseded by search_unified search (184) — superseded by search_unified stats (132) — superseded by maintenance::execute_system_status Also removed: - EmotionCategory::base_arousal (10 LOC, zero callers) Kept (still string-dispatched from server.rs): - context, feedback, memory_states, review, tagging Doc fixes (ghost env vars that were documented but zero Rust source reads): - docs/CONFIGURATION.md — dropped VESTIGE_DATA_DIR, VESTIGE_LOG_LEVEL rows (neither is read anywhere; --data-dir CLI flag + RUST_LOG are the real mechanisms). Added the full real env-var table. - packages/vestige-mcp-npm/README.md — same two ghost rows dropped - docs/VESTIGE_STATE_AND_PLAN.md:399 — dropped VESTIGE_DATA_DIR row - docs/VESTIGE_STATE_AND_PLAN.md:709 — typo VESTIGE_API_KEY -> VESTIGE_AUTH_TOKEN (matches shipping convention), "open if unset" -> "auto-generated if unset" to match actual behavior Verified post-cleanup: - cargo check --workspace clean - cargo clippy --workspace -D warnings clean - cargo test --workspace 1,223 passing / 0 failed - cargo build --release -p vestige-mcp clean Net: -3,091 LOC (14 files), zero behavior change, zero regressions.
2026-04-23 03:18:53 -05:00
| `RUST_LOG` | `info` (via tracing-subscriber) | Log verbosity + per-module filtering |
| `FASTEMBED_CACHE_PATH` | `./.fastembed_cache` | Embedding model cache location |
chore: remove 3,091 LOC of orphan code + fix ghost env-var docs Nine tool modules in crates/vestige-mcp/src/tools/ had zero callers after the v2.0.x unification work shipped *_unified + maintenance::* replacements. They'd been #[allow(dead_code)]-papered over and forgotten. Verified each module independently: grep for tools::<name>::, string dispatch in server.rs, cross-crate usage — all nine returned zero external callers. Removed modules (all superseded): checkpoint (364 LOC) — no callers anywhere codebase (298) — superseded by codebase_unified consolidate (36) — superseded by maintenance::execute_consolidate ingest (456) — superseded by smart_ingest intentions (1,093) — superseded by intention_unified knowledge (106) — no callers anywhere recall (403) — superseded by search_unified search (184) — superseded by search_unified stats (132) — superseded by maintenance::execute_system_status Also removed: - EmotionCategory::base_arousal (10 LOC, zero callers) Kept (still string-dispatched from server.rs): - context, feedback, memory_states, review, tagging Doc fixes (ghost env vars that were documented but zero Rust source reads): - docs/CONFIGURATION.md — dropped VESTIGE_DATA_DIR, VESTIGE_LOG_LEVEL rows (neither is read anywhere; --data-dir CLI flag + RUST_LOG are the real mechanisms). Added the full real env-var table. - packages/vestige-mcp-npm/README.md — same two ghost rows dropped - docs/VESTIGE_STATE_AND_PLAN.md:399 — dropped VESTIGE_DATA_DIR row - docs/VESTIGE_STATE_AND_PLAN.md:709 — typo VESTIGE_API_KEY -> VESTIGE_AUTH_TOKEN (matches shipping convention), "open if unset" -> "auto-generated if unset" to match actual behavior Verified post-cleanup: - cargo check --workspace clean - cargo clippy --workspace -D warnings clean - cargo test --workspace 1,223 passing / 0 failed - cargo build --release -p vestige-mcp clean Net: -3,091 LOC (14 files), zero behavior change, zero regressions.
2026-04-23 03:18:53 -05:00
| `VESTIGE_DASHBOARD_PORT` | `3927` | Dashboard HTTP + WebSocket port |
| `VESTIGE_HTTP_PORT` | `3928` | Optional MCP-over-HTTP port |
| `VESTIGE_HTTP_BIND` | `127.0.0.1` | HTTP bind address |
| `VESTIGE_AUTH_TOKEN` | auto-generated | Dashboard + MCP HTTP bearer auth |
| `VESTIGE_DASHBOARD_ENABLED` | `true` | Set `false` to disable the web dashboard |
| `VESTIGE_CONSOLIDATION_INTERVAL_HOURS` | `6` | FSRS-6 decay cycle cadence |
> **Storage location** is controlled by the `--data-dir <path>` CLI flag (see below), not an env var. Default is your OS's per-user data directory: `~/Library/Application Support/com.vestige.core/` on macOS, `~/.local/share/vestige/` on Linux, `%APPDATA%\vestige\core\data\` on Windows.
---
## Command-Line Options
```bash
vestige-mcp --data-dir /custom/path # Custom storage location
vestige-mcp --help # Show all options
```
---
## CLI Commands (v1.1+)
Stats and maintenance were moved from MCP to CLI to minimize context window usage:
```bash
vestige stats # Memory statistics
vestige stats --tagging # Retention distribution
vestige stats --states # Cognitive state distribution
vestige health # System health check
vestige consolidate # Run memory maintenance
vestige restore <file> # Restore from backup
```
---
2026-04-05 18:50:57 +03:00
## Client Configuration
### Codex (One-liner)
```bash
codex mcp add vestige -- /usr/local/bin/vestige-mcp
```
### Codex (Manual)
Add to `~/.codex/config.toml`:
```toml
[mcp_servers.vestige]
command = "/usr/local/bin/vestige-mcp"
```
### Claude Code (One-liner)
```bash
claude mcp add vestige vestige-mcp -s user
```
### Claude Code (Manual)
Add to `~/.claude/settings.json`:
```json
{
"mcpServers": {
"vestige": {
"command": "vestige-mcp"
}
}
}
```
### Claude Desktop (macOS)
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"vestige": {
"command": "vestige-mcp"
}
}
}
```
### Claude Desktop (Windows)
Add to `%APPDATA%\Claude\claude_desktop_config.json`:
```json
{
"mcpServers": {
"vestige": {
"command": "vestige-mcp"
}
}
}
```
---
## Custom Data Directory
For per-project or custom storage:
```json
{
"mcpServers": {
"vestige": {
"command": "vestige-mcp",
"args": ["--data-dir", "/path/to/custom/dir"]
}
}
}
```
See [Storage Modes](STORAGE.md) for more options.
---
## Updating Vestige
**Latest version:**
```bash
cd vestige
git pull
cargo build --release
sudo cp target/release/vestige-mcp /usr/local/bin/
```
**Pin to specific version:**
```bash
git checkout v1.1.2
cargo build --release
```
**Check your version:**
```bash
vestige-mcp --version
```
---
## Development
```bash
# Run tests
cargo test --all-features
# Run with logging
RUST_LOG=debug cargo run --release
# Build optimized binary
cargo build --release --all-features
```