Documentation

Toolsmith

Optional Python libraries and commands for HTTP downloads, files, text readers and local search.

Toolsmith provides Python functions and command-line tools for HTTP downloads, file handling, text reading, journals and search. A fleet can use them with its own files and SQLite databases. Your application supplies source permissions, summaries, interpretation and domain-specific workflows.

It is a separate project from ctlflow and is not required to run a fleet. It runs no server or background worker; a fleet may use it or omit it completely.

For example, an agent can download an approved article, extract its text, and add that text to an index in the fleet’s own SQLite database. Lexical search finds words and phrases. Semantic search uses a local model to convert text into numeric vectors and compare them for similarity. It does not generate answers.

Capabilities#

TaskWhat Toolsmith doesInterface
Download a URLFetch approved HTTPS sources with DNS, redirect and quota checksPython / CLI
Handle filesHash, copy and inventory files; pack or extract selected ZIP entriesPython / CLI
Track request allowancesReserve and settle shared request and byte budgetsPython / CLI
Keep a JSON journalAppend and verify caller-defined recordsPython
Read textDecode UTF-8, JSON, static HTML, RSS, Atom and CSVPython / CLI
Find wordsSearch literal passages or an SQLite FTS5 indexPython / CLI
Find similar passagesEncode English text locally and query vectors in SQLitePython / CLI; optional model dependencies
Keep a text archiveRetain versions of text and files with references to source passagesPython / CLI; optional archive
Maintain an archiveBack up, restore, audit and rebuild its indexesPython / CLI; optional archive

HTML readers preserve table markup for a model or caller to interpret. They do not infer a table’s meaning. Toolsmith does not run a browser, extract PDFs or perform OCR.

The base installation has no third-party runtime dependencies. HTTP and semantic search have optional dependencies. Semantic search compares the query vector with every vector in the requested corpus using a native SQLite extension.

The optional archive stores immutable imports. A citation identifies the retained version, text part and character range. Physical page numbers are supplied by the caller; they are not inferred by the archive. Applications with their own stores can use the file and search libraries without adopting this archive.

Use from any controller implementation#

A fleet can invoke Toolsmith commands regardless of which controller implementation it uses. Python programs can import the library directly. Installing it for a fleet does not add Python to the crossfire server.