Glossary
🔵 Unified terms for all documentation.
| Term | Definition |
|---|---|
| Kernel | the Agent OS event loop: schedules, rate-limits, isolates, routes IPC, and mediates tool calls |
| LLM | language model; the platform's "CPU" — inference runs on an external provider |
| Provider | pluggable LLM backend (OpenAI-compatible, DeepSeek, Ollama) |
| Agent / process | an independent unit with its own PID, instructions, context, tools, and budget |
| Template | a reusable agent recipe in config/agents/<name>/agent.yaml |
| Session | a user conversation bound to a process (session_id, user_id) |
| PID | unique process identifier (UUID) |
| Lazy spawn | the process is created on the first request to the template, not at startup |
| Context window | the agent's limited working memory (message history) with an eviction policy |
| Eviction | context release policy: fifo, summary_first, sliding_window |
| Token | unit of LLM consumption (and money — via pricing) |
| Budget (token bucket) | token limits: refill_per_sec, max_bucket, max_total |
| Budget group | a shared quota for a process tree (analogous to cgroups) with optional per-user and per-session layers |
| Budget level | what has been exhausted: session / user / group |
| Scheduler | decides which ready process runs next |
| Concurrency limit | cap on the number of processes streaming tokens simultaneously |
| Tool | the agent's only way to interact with the world; every call is mediated by the kernel |
| Built-in tool | http_fetch, fs_read, job_done — implemented in the kernel, no YAML |
| Hook | agent lifecycle interceptor (before/after a turn) |
| IPC | message exchange between agents (send/recv) |
| Syscall | the API by which an agent requests kernel services (spawn, fork, kill, yield, …) |
| fork / spawn | clone a process (COW context, group inheritance) / create a new one |
| Subagent | a child agent process to which a task is delegated and from which the response is read |
| State store | scoped key-value (session / user / agent / team), DuckDB backend |
| Team | a shared subject: common team:<id> state and grants for agents/tools/routes; many-to-many membership, roles owner/member (see §45) |
| Message store | session transcripts + FAQ cache + full-text search |
| Event store / Event DB | DuckDB event storage (logs/events.db) |
| JSONL trace | line-by-line event log of a single process (process-<pid>.jsonl) |
| Checkpoint | a snapshot of process state for recovery |
| Cron job | scheduled agent run (schedule / interval_secs / oneshot_at) |
| Monitor | pull trigger: watches a source (RSS) and launches the agent when new items appear |
| Trigger | what launches an agent without a human: cron / webhook / monitor |
| Channel | agent input: HTTP API, widget, Telegram, VK, Yandex Messenger, email, webhook |
| Sink | where the result is delivered (log / webhook / telegram / vk / yandex_messenger / messages_db / email / agent / workflow / storage) |
| Workflow | a declarative pipeline (DAG) of steps agent / tool / condition / for_each |
| Live reload | hot-reload of config/agents/** and config/web/** without a restart |
| Structured output | output_schema — the agent finishes via job_done with a validated payload |
| MiniJinja | templating engine ({{ var }}, {% if %}) in tools and workflows |
| Script tool/hook | a tool/hook in JS (QuickJS) or Rhai |
| Rhai | a compact embeddable language (.rhai) |
| QuickJS | embedded JavaScript engine (.js) |
| Widget | embeddable chat interface (/widget, /widget.js) |
| Proxy | /proxy — a secure (SSRF-safe) proxy for the frontend |
| Admin API | 🔒 endpoints requiring a bearer token or session cookie |