API Knowledge Articles
These articles explain the why and how of each Soothe package — architectural decisions, integration points, workflows, and gotchas. For exhaustive field/method references, consult the source files linked in each article.
Articles
| Article | Package | Role | Stability |
|---|---|---|---|
| Core API | soothe |
CoreAgent & SootheRunner: configuration, protocols, agent construction, runner | ⚠️ Beta |
| Daemon API | soothe_daemon |
SootheDaemon: background server, multi-transport, goal dispatch | ⚠️ Alpha |
| SDK API | soothe_sdk |
Client & plugin development: WebSocket client, decorators, events | ✅ Stable |
Core (soothe) — Framework Foundation
The configuration model, protocol abstractions, agent construction pipeline, and execution runner. Defines the three-tier architecture (CoreAgent → SootheRunner → SootheDaemon) and the protocol system that makes every capability pluggable.
Daemon (soothe_daemon) — Server Infrastructure
Long-running background server hosting SootheRunner instances. Manages WebSocket IPC, 15 messaging platform channels, client sessions, RPC commands, health checks, and daemon-owned autopilot goal dispatch.
SDK (soothe_sdk) — Client & Plugin API
Public API for two audiences: client developers connecting to a daemon (WebSocket client, RPC helpers) and plugin authors extending the agent (decorators for tools, subagents, events). Re-exports core protocols so plugins have zero hard dependency on the daemon package.
Architectural Tiers
SootheDaemon — IPC, transports, background scheduling
SootheRunner — goal orchestration, strange-loop, protocols
CoreAgent — pure execution: tools, subagents, middleware
Each tier has a strict contract: CoreAgent knows nothing about goals; SootheRunner knows nothing about the network; SootheDaemon coordinates everything. This enables embedding CoreAgent in any async process, using SootheRunner for agentic loops without a daemon, and running the full daemon for multi-client deployments.
Import Paths
| Package | Primary Imports |
|---|---|
soothe |
from soothe.config import SootheConfig · from soothe.foundation.core.agent import CoreAgent, create_soothe_agent · from soothe.runner import SootheRunner · from soothe.protocols import MemoryProtocol, DurabilityProtocol |
soothe_daemon |
from soothe_daemon import SootheDaemon, run_daemon · from soothe_daemon.bootstrap import pid_path |
soothe_sdk |
from soothe_sdk.client import WebSocketClient · from soothe_sdk import plugin, tool, subagent · from soothe_sdk.core.events import SootheEvent · from soothe_sdk.protocols import AsyncPersistStore, VectorStoreProtocol |
Version Compatibility
- Python:
>=3.11 - SDK version constraint:
>=0.5.0,<1.0.0(see__soothe_required_version__) - LangChain: Compatible with
langchain-core,langchain-community
Related Documentation
- Architecture Overview — System architecture and design
- Protocols Layer — Protocol specifications
- Capabilities Layer — Subagents, tools, MCP
- Configuration Guide — Configuration reference
- RFC Specifications — Detailed RFCs for each component