Product reference
Doso holds two connected graphs. Knowledge records durable facts, sources, and provenance. Workflows record definitions, skills, runs, and review. Chat is the crossing between them: it asks the knowledge graph and can start work, while
judgment and permission belong at the edges an agent may take.
| Topic | What it covers |
|---|---|
| Deployment | Local compose vs hosted vs hosted+orgs |
| Cloud deploy recipes | Railway, Vercel, Cloudflare, Google Cloud, AWS |
| The instance | API + Postgres; web and Desktop are surfaces |
| Git vault | Versioned library/thoughts content plane; encrypted backup; single-active remote |
| Connections | Composio toolkits and paired host CLIs |
| Ask, chat & live sources | Progressive answers, fast/expert effort, retrieve-only evidence, chat memory / owner onboarding, citations, Firecrawl/X |
| API Reference | HTTP auth, Chat Completions, search/evidence, Library, graph, workflows, connections, identity |
| Workflows | Capabilities, library defs, runs/episodes, reuse/chain/build, promote lift, freeze-DAG prompt tuning, fixed catalog workflows, review boundaries |
| macOS desktop encryption at rest | Keychain policy, SQLCipher, migrations, recovery, and signing |
| Architecture | Logical components, data flows, and system guarantees |
| KG pipeline (design) | Extract → resolve → assemble |
| Predicates & ontology (design) | Open predicates: denylist noise, invent + grow ontology |
| Memory Groom (design) | Memories vs Library/Graph; reachability + groomed first-person projection |
| Entity wiki & statements (design) | Graph as SoT; view-time wiki; optional edge statements |
Product hierarchy#
| Route | Role |
|---|---|
/ and /?id=… | Chat hub. List, create, resume, and delete persisted conversations; ask the graph with live enrichment. The id query selects a conversation in the hub. |
/knowledge | Knowledge hub. Filter one master-detail surface across Memories (owner facts), Library (documents and ingest state), and Graph (entities, relations, and provenance). |
/workflow | Workflows hub. Capabilities + library defs vs runs (episodes). ?id= / ?run= opens that episode on the Runs filter. Run detail supports Save as workflow, edit source, or run again. |
/settings | Settings. Search and open Appearance, Storage, Models, Ontology, Tools, and Security. |
Legacy and deep links#
These routes remain available for compatibility, bookmarks, or focused task flows. They are not separate top-level surfaces:
- Chat compatibility:
/chat,/history. - Knowledge compatibility:
/memories,/library,/graph(/thoughtsredirects to/memories). - Workflow detail:
/workflow?id=…or/workflow?run=…selects a run in the hub. Standalone/workflow/new,/workflow/edit?id=…, and/workflow/run?id=…remain. The standalone/workflow/review?id=…route exists for thought-proposal decisions but is not linked from the primary hub today.
Providers and first run#
An empty provider catalog is valid during first-run setup. The app and Settings start without an LLM key; chat, ingest, and other model-backed operations need a provider before they can run.
Providers can be seeded with LLM_* environment variables or added under
Settings → Models. The catalog includes Apple, Baseten, xAI, OpenAI,
Anthropic, Gemini, OpenRouter, DeepSeek, Alibaba Cloud Model Studio / DashScope,
Z.AI / Zhipu GLM, Moonshot AI / Kimi, MiniMax, Fireworks, Together AI, Weights &
Biases, Vercel AI Gateway, Ramp Router, and Cursor.
OpenRouter supports either an API key or Connect in Settings. Connect uses
OAuth PKCE with an S256 challenge; the API exchanges the authorization code and
stores the issued key. Loopback callbacks work for desktop and local
development. Non-loopback deployments must set DOSO_PUBLIC_API_URL to the
public HTTPS API origin, without a path, query, or fragment, and the callback
origin must match.
ASK_SKEPTICS defaults to enabled in code and Settings. Set it to 0 only when
you explicitly want to skip the slower skeptic panel.