Importer
n8n
n8n already stores every execution, with the token usage of each model call. Import the workflow file and its history; nothing in your workflows changes.
- In n8n, open the workflow and choose Download from the Workflow menu.
- Run
import-n8nto turn the workflow into a draft blueprint and prompt files. - Fetch the execution history with your own n8n API key (the curl loop below).
- Run
import-n8n-runs, then build the console.
Import the workflow and its history
python harness.py import-n8n my-workflow.json --out-dir .harness
N8N_URL=https://your-n8n.example.com; WF=<workflow id>; mkdir -p n8n-history; cursor=""; page=1
while : ; do
curl -s -H "X-N8N-API-KEY: $N8N_API_KEY" \
"$N8N_URL/api/v1/executions?workflowId=$WF&includeData=true&limit=100${cursor:+&cursor=$cursor}" > n8n-history/page-$page.json
cursor=$(jq -r '.nextCursor // empty' n8n-history/page-$page.json); [ -z "$cursor" ] && break; page=$((page+1))
done
python harness.py import-n8n-runs n8n-history/*.json --blueprint .harness/harness.yaml --out .harness/runs/n8n.jsonl.gzWhere the log lands
In n8n's own execution history.
How it reaches the harness
You fetch it with the n8n API and your API key; the harness scripts never call the network.
If the instance does not save successful executions, or prunes them quickly, the history will look failure-heavy. Check the retention settings first.