Quick Start¶
This guide walks through knowledge ingest, code registration, provenance, and explicit memory using the mock project in tests/smoke_test/. The examples use claude; substitute another agent (goose, codex, opencode, cline) if you prefer — the prompts are agent-agnostic.
DSAgt is BYOA: your agent talks to its own LLM provider directly, and the trace store is a serverless SQLite file per project.
Setup¶
# Install (any Python 3.12/3.13 environment)
pip install "git+https://github.com/AI-ModCon/dsagt.git"
# Set a convenience variable for the smoke test directory (not a normal dsagt step)
export SMOKE_DIR="$(pwd)/tests/smoke_test"
# 1. Create a project. `dsagt init` is interactive — follow the menu to name it
# `quickstart`, pick your agent, and choose knowledge collections + skill sources.
# It sets up the knowledge base on first run (a ~130 MB local embedder downloads once).
dsagt init
# 2. Launch the agent in the project:
dsagt start quickstart # …or: cd ~/dsagt-projects/quickstart && <your agent>
Agent Prompts¶
Inside the agent, paste these prompts one at a time. Replace $SMOKE_DIR with the absolute path you exported — the chat does not expand shell variables.
-
Ingest the docs in
$SMOKE_DIR/knowledge/into a collection namedknowledge. -
Register the CLI utility at
$SMOKE_DIR/csv_summary.pyas a code namedcsv-summaryso we can reuse it. -
Use the
scan-directorycode from the registry to scan$SMOKE_DIR/data/. -
Run the
csv-summarycode on$SMOKE_DIR/data/samples.csvand tell me the columns, row count, and any columns with null values. -
Put this in explicit memory: samples.csv has null values in the status and timestamp columns.
-
Tell me what you remember about the samples dataset.
csv_summary.py is stdlib-only, so there's no dependency to install — registration and execution work out of the box. Step 4's null-column finding is the fact you store and recall in 5–6.
Capabilities Covered¶
| Prompt | Capability |
|---|---|
| 1 | dsagt-server (kb_ingest) — chunks and indexes docs into ChromaDB |
| 2 | dsagt-server (save_code_spec) — writes codes/csv-summary/SKILL.md (a skill-standard dir), wrapping the executable with dsagt-run |
| 3–4 | dsagt-run provenance wrapper — records each execution to trace_archive/ |
| 5–6 | Explicit memory (kb_remember → .dsagt/explicit_memories.yaml) + KB recall (kb_get_memories) |
Verify the Artifacts¶
Exit the agent (Ctrl+C or /exit), then:
dsagt info quickstart # config + a session/trace summary
ls ~/dsagt-projects/quickstart/{codes,trace_archive}
cat ~/dsagt-projects/quickstart/.dsagt/explicit_memories.yaml
# Traces land in a serverless SQLite store. Browse them with:
mlflow ui --backend-store-uri sqlite:///$HOME/dsagt-projects/quickstart/mlflow.db
Non-Interactive Smoke Test¶
The same flow runs non-interactively and asserts each artifact is present:
Knowledge Base Setup¶
dsagt init sets up the project's knowledge base with three kinds of collection:
- Code Specs — DSAgt's built-in code specs, always set up so the agent finds them via
search_registryfrom the first session. - Skill Corpus — the skill sources you chose at init (default
genesis), cloned and indexed sosearch_skillsreturns installable skills. - Knowledge Collections — optional reference document sets you chose at init (
nemo_curator,aidrin).
--include / --exclude (asset names, or all) select the set non-interactively. The default embedder is a local sentence-transformers model (~130 MB, CPU-side, no API key).
Optional: Episodic Memory¶
Answer yes to "Enable episodic memory?" in the dsagt init prompts to have the MCP server capture each session turn into a searchable session_memory collection. Capture is mechanical (chunk + embed) and reuses the local embedder, so there's nothing extra to download. See Memory → Episodic Memory.