DAG-first AI agent harness — Entity→Target:verb(card). Reads .dag files. Rust router at 3ms.
Collar is forked from NousResearch/hermes-agent, rebuilt as a DAG-first harness. It reads .dag files as its behavioral ground truth. Skills auto-compile from .dog specs into .dag edges. No prose config, no baked-in prompts — just DAG paths.
Created by Justin DiClemente (@logohere).
git clone https://github.com/specdog/collar.git cd collar python3 -m venv .venv && source .venv/bin/activate pip install -e . npm install -g dotdog
Requires Python >= 3.11.
collar # interactive chat collar chat -q "..." # single query collar setup # first-time setup wizard
collar auth add openai-codex # ChatGPT Plus/Pro collar auth add xai-oauth # xAI SuperGrok collar auth add qwen-oauth # Qwen Plus/Pro collar auth add nous # Nous Portal
Then collar model to pick your provider. Or set OPENROUTER_API_KEY in ~/.dag/.env for pay-per-token access to 200+ models.
| Layer | Source | Format | Loader |
|---|---|---|---|
| System prompt | dags/*.dag | DAG-path plain text | _load_dag_text() |
| Skills | skills/*/SKILL.dag | DAG-path plain text | skill_view() |
| Projects | *.dag | JSON v2/v3 | MCP dotdog |
| 95% compression | 383k → 17k (skills) |
| 74% compression | 15k → 4k (system prompt) |
| 0 legacy refs | 6974+ renamed |
GitHub · dotdog · specdog org