Unsterwerx

import

Import data from external sources including the local filesystem plus ChatGPT, Notion, Obsidian, and Telegram exports. Each source type has a dedicated adapter that normalizes the data into the Unsterwerx document format.

Usage

bash
unsterwerx import <SUBCOMMAND>

Subcommands

SubcommandDescription
runImport data from any supported source
backfillBackfill missing provenance rows for legacy documents
statusShow import status and registered sources
sourcesList available source adapters
historyShow import batch history

import run

Imports data from a source path. The source type is auto-detected from the directory/file structure, or can be specified explicitly.

bash
unsterwerx import run [OPTIONS] <PATH>

Arguments

ArgumentRequiredDescription
PATHYesPath to source data (directory or export file)

Options

OptionShortTypeDefaultDescription
--source-typestringautoSource type: local, chatgpt, notion, obsidian, telegram
--dry-runflagShow what would be imported without writing to the database
--weightintegerOverride the source trust weight
--scopestringScope path for imported documents (e.g., acme/sales)
--backgroundflagRun in background (returns immediately with job ID)
--foregroundflagForce foreground execution (overrides background_default config)
--resumestringResume a stale/stopped/failed run by job ID or prefix
--jsonflagOutput as JSON

Example

bash
unsterwerx import run /path/to/documents
unsterwerx import run --source-type chatgpt ~/Downloads/chatgpt-export.zip
unsterwerx import run --dry-run /path/to/documents
unsterwerx import run --scope acme/engineering /path/to/project-docs

import status

Shows registered import sources with item counts and recent batch history.

bash
unsterwerx import status
Import Sources
══════════════════════════════════════════════════════════════
  chatgpt      ChatGPT Export            weight=1 items=0
  local        Local Filesystem          weight=2 items=1901
  notion       Notion Export             weight=2 items=0
  obsidian     Obsidian Vault            weight=2 items=0
  telegram     Telegram Export           weight=1 items=0
══════════════════════════════════════════════════════════════

Recent Batches
──────────────────────────────────────────────────────────────
  [+] 2e96772f local        2873 items (1901 imported, 0 skipped, 32 errors)
──────────────────────────────────────────────────────────────

import sources

Lists available import source adapters and their supported formats.

bash
unsterwerx import sources
Available Import Adapters
══════════════════════════════════════════════════════════════
  local        Local filesystem directory (PDF, DOCX, XLSX, PPTX, TXT, CSV, Markdown, SQL)
  chatgpt      ChatGPT data export (ZIP with conversations.json)
  notion       Notion workspace export (ZIP with markdown files)
  obsidian     Obsidian vault directory (markdown with wikilinks)
  telegram     Telegram data export (directory with result.json)
══════════════════════════════════════════════════════════════

import history

Shows import batch history with item counts and outcomes.

bash
unsterwerx import history [OPTIONS]

Options

OptionShortTypeDefaultDescription
--source-typestringFilter by source type
--limitinteger20Maximum number of batches to show
bash
unsterwerx import history
Import History
══════════════════════════════════════════════════════════════
  2e96772f local        2026-02-25 16:25:52 → 2026-02-25 16:32:59
    (1901 imported, 0 skipped, 32 errors)
    path: /path/to/documents/ (2873 total)
══════════════════════════════════════════════════════════════

Notes