Configuration

Perceptor can be run with command-line switches only, but a config file is better for repeat work.

Example Config

root: /analysis/perceptor
tools_root: /opt/perceptor-tools
eztools_root: /opt/perceptor-tools/eztools
plugins:
  - /opt/perceptor/forensic_orchestrator/plugins/eztools.yaml

Run with:

uv run perceptor --config config.yaml standalone doctor

Command-line --root and --plugin override config values.

Common Environment Variables

export EZTOOLS_ROOT=/opt/perceptor-tools/eztools
export SIDR_BIN=/opt/perceptor-tools/sidr/sidr
export USNJRNL_FORENSIC_BIN=$HOME/.cargo/bin/usnjrnl-forensic
export BMC_TOOLS=/path/to/bmc-tools.py
export BSTRINGS_BIN=/path/to/bstrings

Managed installs can write these to an env file:

uv run perceptor standalone install-tool all \
  --tools-dir ~/tools \
  --env-file ~/tools/perceptor.env
source ~/tools/perceptor.env

Analytics Mode

DuckDB is the default analytics store. Use SQLite mode only for tests or debugging:

export FORENSIC_ANALYTICS_MODE=sqlite

The normal case layout expects parsed artifact tables in per-case DuckDB files.