Training

Private knowledge repositories built from your files, pages and notes — indexed and searched entirely on your own machine.

Training is the feature, reached from the app's action grid and top bar. A Mind is one repository of knowledge inside it. You can keep as many Minds as you like and switch between them; the name matches the folder names on disk and the MCP tools.

Training, and what a Mind is

Training is where your own knowledge lives. Inside it, a Mind is a single private repository: you add documents, web pages and notes; Triplo processes them into searchable notes on your disk. When a Mind is selected, every prompt is quietly searched against it and only the relevant passages are attached before sending.

This is the difference between pasting a 40-page handbook into a prompt and asking a question that the handbook happens to answer. The first is expensive, often too large to send at all, and buries the answer. The second sends two paragraphs.

Why not just attach the file?

AttachmentMind
How much is sentThe first 5,000 charactersOnly the relevant passages
Number of documentsWhat you attach each timeHundreds, searched at once
PersistenceThat one promptEvery prompt, until deselected
Finding the answerThe model reads what fitsRetrieved by meaning before sending
Best forOne document, right nowA body of knowledge you return to

Typical Minds: your product documentation, a client's brand guidelines, your company's policies, a codebase's architecture notes, research for a book, past proposals you want to write in the style of.

The search never leaves your machine. Indexing and retrieval run locally, using a model bundled with the app. Only the passages that were selected travel onward — and only to whichever model you chose. With a local model, nothing leaves at all.

Creating a Mind Paid plan

How to reach it. Action grid → Training → Add a Mind….

1
Name it

The name becomes its folder name, so keep it short and specific — Acme Brand Guidelines, Internal API.

2
Save once, then add knowledge

The Mind must exist on disk before it can receive anything. Saving creates its folder structure.

3
Add sources

Attach files, paste URLs, or type notes directly. See below.

4
Wait for processing

Progress is shown live. Documents become searchable within seconds; the metadata pass finishes in the background.

5
Select it

Choose the Mind from the top bar. Only then does it ground your prompts.

Scope beats size. One Mind per coherent body of knowledge, not one giant Mind for everything. Retrieval competes: mixing your brand guidelines with your API docs means a question about tone can surface an endpoint reference. Several focused Minds, switched deliberately, work far better.

Adding knowledge

Four routes in, all ending in the same pipeline.

Attach files
The paperclip in the Mind editor. Select one or many. Originals are kept in the Mind's files/ folder.
Import URLs
Paste one per line, or comma-separated — the whole list imports in one go. Invalid entries are listed and skipped, and anything that fails stays in the box so you can retry just those.
URLs from a file
Point at a text file of links. Useful for a sitemap dump or an exported bookmark list.
Notes
Type or paste straight into the Mind editor. Good for things that live in your head rather than a document — decisions, conventions, gotchas.

The INGEST folder

Every Mind has an INGEST/ folder inside it. Anything you drop there is picked up automatically — no need to open Triplo at all.

~/Documents/Triplo AI/Minds/<your-mind>/INGEST/

This is the route to use in bulk. Copy in a folder of PDFs, point a scanner's output at it, or have a script deposit exports there nightly. Triplo watches the folder and processes what appears.

Add a folder to your Dock or file manager sidebar pointing at a Mind's INGEST/. Filing a document into your knowledge base then costs one drag.

How ingestion works

Understanding this explains most of what you will see in a Mind's folder, and why documents become searchable long before they look finished.

The two-phase ingestion pipeline INGEST/ file arrives Extract text PDF, Office, HTML, page or transcript Phase 1 — Prepare minimal metadata added, written to vault/, indexed immediately Searchable seconds later Phase 2 — Enrich title, summary, tags, entities, confidence — in the background re-indexed
A document is searchable after phase 1. Phase 2 improves how well it is found.

Phase 1 — prepare (fast)

Text is extracted, minimal metadata is written to the top of the file, and it lands in vault/. The search index picks it up straight away. The document is usable at this point.

Phase 2 — enrich (background)

A language model reads the document and writes back structured metadata: a proper title, a summary, tags, named entities, and a confidence rating. The file is renamed to match its real title, and the index is refreshed.

This is what makes retrieval good rather than merely functional — the summary and tags give the search far more to match against than raw body text.

Enrichment is the one step that sends your document text to Triplo's endpoint, and it happens once per document. If it fails — no connection, a timeout — the document stays indexed and searchable with its basic metadata. Nothing is lost; retrieval is just less sharp for that file.

Controls in the Mind editor

Process
Forces an immediate scan of INGEST/. Use after dropping files in by hand rather than waiting for the watcher.
Re-index
Rebuilds the Mind's catalogue from what is in vault/. Use after editing vault notes directly.
Progress
Live counts of processed, indexed and failed while a batch runs.
Sources
Everything currently in the Mind.

What ends up on disk

Minds/<mind-id>/ ├── INGEST/ # drop zone — emptied as files are processed ├── vault/ # the searchable notes (Markdown) ├── files/ # your original files, untouched ├── failed/ # anything that could not be processed └── index.md # generated catalogue of the vault

Vault filenames carry a prefix showing where the note came from: FILE_ from an imported file, CRWL_ from a URL, USER_ from notes you typed, EMAIL_ from mail.

The search index is not in there. Vectors live outside your content, under Vectors/<mind-id>/ in the user-data directory, because they are a build artefact rather than something you wrote. Copying a Mind's folder to another machine therefore carries the knowledge but not the index — Triplo rebuilds it on first use. Deleting the Vectors/ folder is safe and costs only a re-index.

Check failed/ occasionally. A file lands there when its text could not be extracted — most often a scanned PDF with no text layer, or a password-protected document.

Grounding a prompt

With a Mind selected, every prompt goes through the same short sequence:

  1. Triplo works out how much room is left in your model's context window, after your conversation and prompt.
  2. It searches the Mind with your prompt as the query.
  3. The best passages are trimmed to fit that budget.
  4. They are inserted as a system message ahead of your prompt.
  5. The sources are recorded so the response can show where it drew from.

The budget is calculated per model. A model with a 200,000-token window receives far more grounding than one with 8,000 — automatically, with nothing to configure. This is a concrete reason to prefer a large-context model when working with a substantial Mind.

Checking what was actually used

Look for the Grounded in N sources chip below the response. Expand it for each source and its relevance score; click one to open the file. No chip means the Mind contributed nothing — the answer came from the model alone. Worth checking before trusting an answer you expected to be grounded.

Pinning a Mind to a prompt

A SmartPrompt that only makes sense against a particular Mind can carry it as a Magnet. Triplo switches to that Mind for the prompt and restores your selection afterwards.

Vault reference

Vault notes are plain Markdown with YAML frontmatter. You can read and edit them in any editor; changes are re-indexed automatically.

--- title: Refund policy for annual plans entity_type: Policy source_type: file source_authority: official confidence: high memory_tier: reference retention_priority: standard tags: - refunds - billing entities: - Finance Team summary: Annual plans may be refunded pro rata within 60 days... enriched: true --- <<<>>> # Refund policy for annual plans The original document text follows here, unchanged.
FieldMeaning
titleDisplay name. Also used to rename the file after enrichment.
entity_typeWhat kind of thing this is — Policy, Note, Article, Specification.
source_typeWhere it came from: file, crawl, email, manual.
source_authorityHow authoritative the source is. unknown until enrichment decides.
confidencelow, medium or high. Numeric values are converted.
memory_tierDefaults to reference. Used to distinguish durable knowledge from working notes.
tags, entitiesExtracted by enrichment; strong signals for retrieval.
summaryA short abstract, indexed alongside the body.
enrichedfalse until phase 2 completes. Files marked false are picked up for enrichment.

The <<<>>> marker separates generated metadata from the original body. Everything after it is your content, untouched.

index.md

A generated catalogue at the root of each Mind: a table of every note with type, tags, tier and path, plus tag frequencies. Regenerated on every change. It is a build artefact — edit the notes, not this.

Editing vault notes by hand

Entirely supported and sometimes the fastest fix. Correct a wrong title, add tags to something that is not being found, or delete a note that should not be there. Run Re-index afterwards if the change does not show up within a few seconds.

To force a document through enrichment again, set enriched: false and run Process.

Limits & gotchas

  • One Mind at a time. Grounding uses the selected Mind only. Switch deliberately, or pin with a Magnet.
  • Creating a Mind does not select it. A common early confusion — nothing is grounded until you choose it in the top bar.
  • Inactive Minds do not ground. The toggle in the drawer also stops its watchers.
  • Only definitions sync between devices. A shared Mind carries its name, tags and notes — not the ingested documents or the index. Rebuild the knowledge on each machine, or use Backup and Restore.
  • Scanned PDFs need OCR first. With no text layer there is nothing to extract, and the file goes to failed/.
  • Deleting a Mind deletes its folder, including originals in files/. Back up first if those are the only copies.
  • Enrichment needs a connection. Offline, documents still ingest and index; they simply stay unenriched until you are back online and run Process.
  • The first search after launch is slower while the embedding model loads. After that it is fast.

Sharing a Mind with other AI tools

Minds are not only for Triplo. The built-in MCP server lets any MCP-compatible client — Claude Code, Cowork, and others — list your Minds, read their structure, search them, read their entries in full and add notes to them, over a local token-protected endpoint.

That turns a Mind from a feature of one app into a knowledge layer every AI tool on your machine can reach. See MCP Server.

Two open-source tools power Training on Triplo AI. Both run entirely on your machine, with no network calls of their own.

Retrieval is handled by vectra, built by Steven Ickman and released under the MIT licence: a local vector database for Node.js that relies on ordinary files on your disk rather than a hosted service. Triplo maintains one index per Mind, pins the version to each release, and ships it directly inside the app.

Passages and queries are converted into vectors using Xenova/all-MiniLM-L6-v2, released under Apache 2.0—an ONNX conversion, quantised to 4-bit, of sentence-transformers/all-MiniLM-L6-v2. This roughly 52 MB model is bundled with the app and runs through Transformers.js (Apache 2.0) on ONNX Runtime (MIT). The copyright notices, licence texts, and modification statements required by these licences are included with the Triplo AI installer.

None of this is licensed per seat, per document, or per query. Indexing and search run entirely on your machine; enrichment is the one step that leaves it, once per document.