- the daemon owns the runtime and durable state
- the daemon includes built-in connector support for HTTP, Slack, and Telegram ingress
- the Python SDK talks to the daemon from a separate package
- the separate
kheish-connectorsrepo adds external sidecar connectors around the same daemon - capture pushes observations into daemon-owned sources from a separate host-local repo
Start in this order
- Read Start Here to understand what runs where and which path to take first.
- Run Quickstart for one working daemon, one session, and one completed run.
- Then choose what you need next:
- Running the daemon, Docker and containers, and Security and auth for real operator guidance
- Use Kheish from Python for application code
- Send one webhook event into Kheish for the first external ingress path
- Capture one observation later, when you want host-local observation ingestion
What Kheish gives you
- Persistent sessions with journaled state, checkpoints, and restart recovery
- Detached runs that can pause on approvals or structured user questions and resume later
- Daemon-owned assets and multimodal inputs for text, documents, images, and retained audio
- Daemon-owned observation sources and materialized capture flows for screenshots, webcam frames, microphone segments, and other external producers
- Daemon-managed personas that bind immutable persona snapshots into sessions
- Immutable Playbooks and Flow projections for evidence-backed procedures over normal runs
- Durable public channels with shared message logs, reactions, and autonomous thread turns over member sessions
- Daemon-owned projects with durable membership, linked channels, and project-task execution over assigned sessions
- Multi-agent execution with sidechains, tasks, schedules, mailboxes, and background shell tasks
- Extensible runtime primitives for providers, tools, hooks, skills, MCP, connectors, and output delivery
- Operator controls for runtime reconfiguration, debug capture, and control-plane authentication
Learn the model
After the first successful run, continue with:- Overview for the product model.
- Sessions and runs for the execution backbone.
- Playbooks and flows before adding evidence-backed procedures over runs.
- Approvals and questions for blocked and resumable work.
- Providers and routing for
route_id,auth_ref, selector grammar, and route pinning. - Assets and multimodal input before integrating documents or images.
- Capture and observations before integrating host-local capture or durable external media ingestion.
- Channels and public conversations before modeling shared discussion among humans and agent-backed sessions.
- Projects and project tasks before modeling durable coordination across multiple sessions and channels.
- Connectors and reply targets before wiring Telegram, Slack, HTTP, or durable session reply defaults.
- Personas before binding long-lived identity instructions into sessions.
- Security and auth before exposing the control plane beyond localhost.
- Running the daemon before operating a real instance.
Minimal first-run CLI surface
For the first daemon success, the smallest useful CLI set is:serveruntime getsessions createsessions input --wait
approvals listtasks listruns get
Audience
This documentation is written for:- platform and infrastructure teams operating Kheish as a daemonized service
- application teams integrating sessions, runs, approvals, or connectors into other systems
- contributors working on the runtime, daemon, or surrounding integrations
