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.

TopicWhat it covers
DeploymentLocal compose vs hosted vs hosted+orgs
Cloud deploy recipesRailway, Vercel, Cloudflare, Google Cloud, AWS
The instanceAPI + Postgres; web and Desktop are surfaces
Git vaultVersioned library/thoughts content plane; encrypted backup; single-active remote
ConnectionsComposio toolkits and paired host CLIs
Ask, chat & live sourcesProgressive answers, fast/expert effort, retrieve-only evidence, chat memory / owner onboarding, citations, Firecrawl/X
API ReferenceHTTP auth, Chat Completions, search/evidence, Library, graph, workflows, connections, identity
WorkflowsCapabilities, library defs, runs/episodes, reuse/chain/build, promote lift, freeze-DAG prompt tuning, fixed catalog workflows, review boundaries
macOS desktop encryption at restKeychain policy, SQLCipher, migrations, recovery, and signing
ArchitectureLogical 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#

RouteRole
/ 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.
/knowledgeKnowledge hub. Filter one master-detail surface across Memories (owner facts), Library (documents and ingest state), and Graph (entities, relations, and provenance).
/workflowWorkflows 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.
/settingsSettings. Search and open Appearance, Storage, Models, Ontology, Tools, and Security.

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 (/thoughts redirects 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.