All Projects
AI/MLAgenticDeveloper Tools

Dossier

A local multi-agent research runtime. A planner fans out parallel researchers, an evaluator retries weak reports, and every cited URL is checked against tool output — no extra model call.

In active development since August 2026 - Present

Overview

Dossier is a local multi-agent research runtime built around an explicit ReAct loop. A planner decomposes a goal and delegates independent questions in one turn. Each researcher runs its own search-and-browse loop, then an evaluator scores the report PASS / WEAK / FAIL. A FAIL gets one extra pass before the planner synthesizes a final answer.

Researchers share a compact ledger of queries, URLs, and report summaries so later siblings and retries do not repeat work. Search and page fetches are cached per run. After the answer is written, every cited URL is checked against tool output with no extra model call. Unverified sources are flagged in the run report; a strict mode can fail the process if any URL does not trace back to evidence.

The terminal shows a live agent tree plus one-line tool actions. Full traces are saved as markdown under runs/ and can be replayed without calling the model. Everything runs locally through Ollama, and the runtime is covered by 85 pytest tests spanning the ReAct parser, evaluator, citation audit, ledger, recovery, and replay.

Architecture

A planner fans research out to parallel agents, an evaluator grades each report, and code, not a model, checks every citation at the end.

  • LLM step
  • Deterministic code
  • Service / data
  1. 01 · Plan
    Planner

    Explicit ReAct loop decomposes the goal

    (LLM step)
  2. 02 · Research×3 in parallel
    Researchers

    web_search + browse_page; shared ledger and per-run cache

    (LLM step)
  3. 03 · Grade
    Evaluator

    Scores each report PASS / WEAK / FAIL

    (LLM step)
  4. 04 · Synthesize
    Planner

    Writes the final answer from graded reports

    (LLM step)
  5. 05 · Verify
    Citation audit

    Every cited URL traced to tool output; no model call

    (Deterministic code)
  6. 06 · Record
    Run report

    Markdown trace in runs/, replayable offline

    (Service / data)
  • FAIL → the researcher is retried once
  • WEAK → the planner can spawn a focused follow-up researcher
  • Hit an iteration cap → salvage still returns the gathered evidence

Watch It Run

A replay of a real local run, rebuilt from its saved trace: the planner fans out three researchers, an evaluator fails one and it is retried, a follow-up researcher closes the gap, and the citation audit checks every source in the final answer.

dossier · replay of a real runqwen3.8 (local, via Ollama) · real time 210.8s
Goal

What is the best agent framework to build a new AI Agent on in 2026? I am looking at Langchain and Llama Index mainly, but I am open to trying others. What are the benefits and drawbacks of each?

Live agents
  • waiting to start…
Tool calls
0 agents0 searches/pages0 evals

The Build

My Role

Sole developer — designed the planner / researcher / evaluator loop, citation checker, and live trace UI.

Context & Problem

I wanted a small, inspectable multi-agent system I could run locally — not a chat product, just a supervisor that fans out research and checks its own sources.

Challenges

Getting local models to actually call stop tools, share context across parallel researchers without duplicate searches, and verify citations without a second LLM pass.

Approach & Decisions

Wrote an explicit ReAct loop instead of hiding the path in a graph runtime. Added a shared ledger, single-flight caches, a deterministic URL audit, and salvage/replay so a failed stop tool still leaves a usable report.

Key Learnings

Reliability work (evaluator retry, citation matching, fallbacks) mattered more than adding another role. Transparency in the live tree made it obvious when the planner was waiting versus when a researcher was stuck.

Impact & Results

A compact local demo of multi-agent orchestration I can run, replay, and point to without standing up a full product UI.

Screenshots

Technologies

PythonLangChainOllamaPlaywrightTrafilaturaDDGSRichpytest

Want to talk about building something like this?

Get in Touch