Soothe Wiki

Goal-driven orchestration framework for building 24/7 long-running autonomous agents

Welcome to the Soothe documentation. This wiki provides comprehensive guides for users, developers, and operators.


πŸš€ Quick Start

New to Soothe? Start with Quick Start β€” install CLI, start the daemon (Docker or local), run your first prompt. Then browse Getting Started for installation details and core concepts.


πŸ“– Documentation Index

πŸš€ Getting Started

πŸ€– Core Capabilities

  • Autonomous Mode - Multi-step autonomous task execution
  • Subagents - Specialized subagents (planner, deep_research, academic_research, veritas, etc.)
  • Thread Management - Conversation threads and session resumption

πŸ”§ Configuration & Management

πŸš€ Deployment & Operations

πŸ—οΈ Architecture & Core Modules

πŸ”§ Backend Implementations

πŸ› οΈ Troubleshooting

πŸ“š Reference & Community


πŸ—οΈ Architecture

Three-Level Execution Model

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ ContextEngine: Autonomous Goal Management (RFC-624)        β”‚
β”‚ β€’ Manages goal DAGs, delegates single goals to StrangeLoop   β”‚
β”‚ β€’ Loop: Goal/Goals β†’ PLAN β†’ PERFORM β†’ REFLECT β†’ Update     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          ↓ PERFORM (full delegation)
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ StrangeLoop: Agentic Goal Execution (RFC-201)                 β”‚
β”‚ β€’ Executes single goals through Plan β†’ Execute iterations   β”‚
β”‚ β€’ Loop: Plan β†’ Execute (max ~8 iterations)                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          ↓ EXECUTE (step execution)
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ CoreAgent: Runtime (RFC-100)                                β”‚
β”‚ β€’ Model β†’ Tools β†’ Model loop (LangGraph native)            β”‚
β”‚ β€’ Foundation: create_soothe_agent() β†’ CompiledStateGraph    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key Principles:

  • Protocol-first design - All modules defined as protocols with pluggable implementations
  • Durable by default - Agent state persists and recovers from crashes
  • Plan-driven execution - Complex goals decomposed into plans with steps
  • Least-privilege delegation - Fine-grained permissions for tools and subagents

Framework Stack

+------------------------------------------------------+
|  Soothe (orchestration framework)                    |
|  - ContextEngine: Autonomous Goal Management         |
|  - StrangeLoop: Agentic Goal Execution                 |
|  - CoreAgent: Runtime                                |
|  - MemoryProtocol, PlannerProtocol,                 |
|    PolicyProtocol, DurabilityProtocol               |
+------------------------------------------------------+
|  deepagents (agent framework)                        |
|  - BackendProtocol, AgentMiddleware,                 |
|    SubAgent/CompiledSubAgent, SummarizationMiddleware|
+------------------------------------------------------+
|  langchain / langgraph (runtime layer)               |
|  - BaseChatModel, BaseTool, StateGraph,              |
|    Checkpointer, BaseStore, RemoteGraph              |
+------------------------------------------------------+

Plan β†’ Execute Loop

User Query
    ↓
PLAN (LLM plans, assesses progress, decides steps)
    ↓
EXECUTE (execute tools, collect results)
    ↓
Assess Progress β†’ More steps needed? β†’ PLAN
                  ↓
              Complete β†’ Return Result

Benefits:

  • Automatic strategy adjustment
  • Structured tool outputs for reliable evaluation
  • Sub-second responses for simple queries
  • Intelligent iteration for complex tasks

πŸ”Œ Plugin System

Extend Soothe with custom tools and subagents:

from soothe_sdk.plugin import plugin, tool

@plugin(name="my-plugin", version="1.0.0")
class MyPlugin:
    @tool(name="my_tool", description="Custom tool")
    def my_tool(self, arg: str) -> str:
        return f"Result: {arg}"

Learn more: RFC-600: Plugin Extension System


πŸ“š Additional Resources


πŸ†˜ Getting Help

  • Documentation: You’re here! Browse the guides above.
  • Troubleshooting: See Troubleshooting Guide
  • Issues: Report bugs on GitHub Issues
  • Community: Join discussions on GitHub Discussions

Feature Status

Feature Status Documentation
Intelligent Execution Loop βœ… Production Ready RFC-201
Research Subagent βœ… Production Ready Subagents Guide
Plugin System βœ… Production Ready RFC-600
Multi-Transport Daemon βœ… Production Ready Multi-Transport Setup
Thread Management βœ… Production Ready Thread Management
Security Policies βœ… Production Ready RFC-102
Autonomous Mode 🚧 Experimental Autonomous Mode

Additional Resources

πŸ“– Extended Documentation


Getting Help

Common Issues

Community

  • Report issues: GitHub Issues
  • Ask questions: Use GitHub Discussions or check the Troubleshooting guide

Contributing

Interested in contributing to Soothe? See:


Table of contents