DTLarchive — User Guide v2.2-5

The what, why, and how of every feature.

Lire ce guide en français
versionv2.2-5dateJuly 14, 2026audienceall userssystemWindowslanguagesfr / en

Getting started

What is DTLarchive for?

DTLarchive searches and gathers the knowledge stored in your ChatGPT conversation archives. It turns the export's JSON files into a local index, then produces a readable report that preserves the context of every match.

Privacy: archives, index, searches, and reports remain on your computer. No external AI service is required.

Audience: all users

Prepare the archives

What?

DTLarchive reads files named conversations*.json from a ChatGPT export.

Why?

These files contain the titles, dates, questions, and answers needed for searching.

How?

Extract the ChatGPT export into a folder you can easily find. Do not modify the JSON files before selecting them.

Do not confuse them: select the conversation JSON files, not the complete ZIP archive, the export's HTML pages, or reports previously produced by DTLarchive.

Quick walkthrough with the executable

  1. Double-click DTLarchive.exe.
  2. Type 1 and press Enter to switch to English. DTLarchive repeats the current question in English; press Enter again to continue.
  3. In File Explorer, select one or more conversations*.json files, then confirm.
  4. Review the available period. Optionally enter a start date and an end date in dd/mm/yyyy format, or leave the fields blank.
  5. Enter your search, then choose 1, 2, or 3 to determine which parts of the conversations are examined.
  6. When processing is complete, press a key. The report opens in your default browser.

Main features

Choose a language and request help

What?

The complete interface is available in French and English. Contextual help is available at every interactive question.

Why?

The selected language applies to questions, errors, windows, reports, conversation pages, and logs.

How?

At the first question, type 1 for English or press Enter for French. Type ?, aide, help, or h to display an explanation of the current question.

After a help request, DTLarchive displays the explanation and repeats the same question. Switching to English works the same way: no step is skipped.

Select archives and populate the index

What?

You can combine several archive files in a single search. DTLarchive records them in a persistent SQLite index.

Why?

The index speeds up later searches and avoids rereading unchanged files. A conversation duplicated across several exports is retained only once.

How?

In the selection window, hold Ctrl to choose separate files or Shift to choose a continuous range, then click Open.

During the update, the name of the current file is displayed. The final message states how many archives were imported or reused. Keep DTLarchive-index.sqlite next to the application to benefit from this reuse.

Limit the search to a date range

What?

The date filter keeps only conversations dated between two inclusive limits.

Why?

It reduces the number of results when the same terms occur across several years.

How?

Enter dates in dd/mm/yyyy format. Leave the start date blank to begin with the earliest archive, the end date blank to continue through the latest exchange, or both blank to search everything.

DTLarchive first displays the period actually available. If the end precedes the start or the range does not overlap any archive, it explains the error and asks for the dates again. A partially covered range remains valid.

Write a search query

What?

A search can contain a word, phrase, alternatives, required terms, an exclusion, or a word prefix.

Why?

The syntax lets you broaden or narrow the results without an AI service or semantic interpretation.

How?

Enter words as they may appear in the conversations. Combine them with AND, OR, a comma, -, or *.

NeedEntryEffect
One wordretirementFinds conversations containing that word.
A phrasewhite cardSearches for the complete phrase in the same order.
Alternativesinsurance, pensionFinds either term. OR and a semicolon have the same role.
Required termsasylum AND John DoeRequires both terms in the same conversation.
Two groupsasylum AND John Doe, pensionSearches for either the complete first group or pension.
An exclusionbackup, -networkExcludes every conversation containing network.
A word prefixprint*Finds words such as print, printer, and printing.
Good to know: searches are case-insensitive and accent-insensitive. A simple singular also recognizes its common plural form. French ET/OU and English AND/OR are accepted in either interface.

Choose the search scope

What?

The scope determines whether DTLarchive examines your questions, ChatGPT answers, or both. Titles are always examined.

Why?

Searching only your questions retrieves your intentions; searching answers is better suited to information written by ChatGPT.

How?

Type 1 for titles and your questions, 2 for titles and answers, or 3 for everything. Pressing Enter selects 1.

Read the report and restore context

What?

The HTML report ranks matching conversations and shows terms, roles, occurrences, and contextual excerpts.

Why?

You can quickly assess a result before opening the complete conversation.

How?

Begin with the summary and statistics. In the table, click the context count to expand excerpts, then click Open conversation to jump to the first matching message.

Example DTLarchive report in English
The main report presents the query, statistics, a descriptive summary, and ranked conversations.

The score prioritizes matches in the title, followed by your questions and then ChatGPT answers. It also increases with the number of occurrences and distinct terms. The “main titles” are titles of matching conversations, not AI-based thematic analysis.

Reuse structured results

Audience: experienced user

What?

mining_results.json contains the run settings, statistics, conversations, scores, terms, and contexts.

Why?

This output can serve as a first stage for knowledge extraction, comparison, or knowledge-base enrichment tools.

How?

Retrieve the file from DTLarchive-output and import it into software that accepts JSON. Use the metadata to retain the source, period, and scope of the search.

Warning: the JSON may contain conversation excerpts. Apply the same privacy rules as for the original archives.

Advanced use

Manage and rebuild the SQLite index

Audience: experienced user

What?

The default index is DTLarchive-index.sqlite. It remembers archives already processed and makes later searches faster.

Why?

A rebuild may help after moving many archives, an incompatibility warning, or doubts about the indexed content.

How?

Close DTLarchive, then start it from the command line with --reindex. To preserve the old index, specify a new path with --index.

DTLarchive.exe D:\Archives\ChatGPT --mots-cles "retirement" --reindex

Rebuilding clears the selected index and reimports the supplied archives. It does not delete your ChatGPT export files.

Automate a search from the command line

Audience: experienced user

What?

The command line provides the same functions without interactive questions.

Why?

It lets you repeat a search, choose exact output locations, and include DTLarchive in an automated process.

How?

Open PowerShell in the DTLarchive folder, enter the executable or script, archives, and options. Enclose paths or searches containing spaces in quotation marks.

.\DTLarchive.exe "D:\Archives\ChatGPT" `
  --mots-cles "asylum AND John Doe, OFPRA" `
  --date-debut 01/01/2024 `
  --date-fin 31/12/2025 `
  --role user `
  --lang en
OptionHow to use it
files or foldersPlace one or more paths immediately after the program name. In a folder, the default pattern is conversations*.json.
--mots-clesAdd the search between quotation marks.
--date-debut / --date-finEnter inclusive dates in dd/mm/yyyy format.
--roleChoose user, assistant, or both.
--outputSpecify the folder in which to create the report, pages, and JSON.
--patternSpecify another file pattern, for example conversations-2025*.json.
--indexSpecify the path to another SQLite file.
--reindexAdd this option alone to fully rebuild the selected index.
--quietAdd this option alone to hide the console summary.
--langUse fr or en.
--help / --versionDisplay option help or the version respectively, then exit.

On the command line, an invalid date, reversed period, period with no overlap, or missing archive stops execution with exit code 2.

Read the diagnostic log

What?

Each run appends to a daily HTML log in the logs folder.

Why?

The log helps explain a rejected archive, index error, incorrect setting, or unexpected stop.

How?

Open logs\DTLarchive_YYYYMMDD.html in your browser. Find the relevant run time, then read lines marked ERROR or WARNING.

If you request support, provide the DTLarchive version and copy only the useful lines. First check that they do not contain a path or information you do not wish to share.

Help and security

Solve common difficulties

ObservationHow to respond
No archive selectedRestart DTLarchive and choose at least one extracted conversations*.json file.
Invalid dateUse the exact dd/mm/yyyy format, for example 01/06/2026.
No conversation in the periodCompare your dates with the displayed available period, then widen or clear one limit.
No resultCheck spelling, remove an exclusion, replace AND with a comma, or choose scope 3.
Too many resultsAdd a term with AND, an exclusion with -word, or a shorter date range.
Incompatible or unreadable indexClose the application and rebuild the index with --reindex. Read the log if the error persists.
The report does not openManually open DTLarchive-output\DTLarchive-report.html in your browser.

Protect privacy

Quick glossary

TermMeaning
JSON archiveStructured ChatGPT export file containing conversations.
SQLite indexLocal database used to remember and quickly search archive content.
ScopeParts examined: titles, questions, answers, or a combination of these items.
OccurrencePresence of a search term in a conversation.
ContextA match with nearby messages that help explain its meaning.
Results JSONStructured, reusable version of the run results.