continuum
Health Warn
- License — License: Apache-2.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 6 GitHub stars
Code Fail
- execSync — Synchronous shell command execution in .claude/helpers/github-safe.js
- rm -rf — Recursive force deletion command in .claude/helpers/guidance-hooks.sh
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Continuum — the agent runtime by ShyftLabs. Build, orchestrate, ship.
by ShyftLabs
The agent runtime for builders who ship.
Build, run, and deploy reliable AI agents at enterprise scale — multi-LLM routing, persistent memory, MCP-native tools, durable workflows, and full observability, out of the box.
📖 Documentation · ⚡ Quick start · ⚙️ Configuration · 🧩 Components · 🧪 Examples · 🤝 Contributing
Continuum is a production-grade Python framework for building, orchestrating, and shipping autonomous AI agents at enterprise scale. It unifies a clean, typed agent core with cost-aware multi-model inference, stateful long- and short-term memory, open standards-based tool calling, durable execution, and end-to-end observability — all behind one small, composable, type-safe API.
✨ Features
- 🤖 Agentic core & orchestration — a strongly-typed agent primitive with full lifecycle hooks, schema-validated structured outputs, and nine composable multi-agent patterns (sequential, parallel, loop, routing, planning, reflection, debate, scatter, supervised).
- 🔀 Smart Inference — cost-aware inference routing that classifies every request by complexity and dispatches it to the cheapest capable model, with seamless cross-provider failover and zero lock-in.
- 🧠 Stateful memory — persistent semantic long-term recall plus low-latency working memory, with multi-tenant isolation scopes and built-in PII redaction for privacy-by-default agents.
- 🔌 Open tool calling — plug into any standards-based tool ecosystem (Model Context Protocol) across multiple transports, with fine-grained capability scoping, context capture/injection, and rich generative-UI artifacts.
- 🔁 Durable execution — long-running, crash- and restart-safe agent workflows with human-in-the-loop approval gates and exactly-once guarantees.
- 🔭 Full observability — first-class distributed tracing, token/latency/error telemetry, and one-line function instrumentation for complete run transparency.
- 🌐 Model-agnostic — target frontier or open-weight models through a single model string; swap providers without touching agent code.
- 🤝 Multi-agent handoffs — context-preserving agent-to-agent delegation with history summarization, cycle detection, and depth control.
- 📡 Real-time streaming — token-, tool-, handoff-, and memory-level events streamed the moment they happen.
- ✅ Built-in evaluation — turn live production traces into golden datasets and regression-test agent quality with standard LLM-evaluation metrics.
🚀 Quick start
Requirements: Python 3.13+ and Docker (for Redis · Milvus/Qdrant · Langfuse).
git clone https://github.com/shyftlabs/continuum.git
cd continuum
python3.13 -m venv .venv && source .venv/bin/activate
pip install -e .
cp .env.template .env # add your provider key(s) — see Configuration below
docker compose up -d # Redis · Milvus/Qdrant · Langfuse
Your first agent:
import asyncio
from orchestrator.agent import BaseAgent, AgentRunner
async def main():
agent = BaseAgent(
name="hello-agent",
instructions="You are a friendly assistant.",
model="gpt-4o-mini",
)
runner = AgentRunner()
response = await runner.run(agent, "Hi!")
print(response.content)
asyncio.run(main())
AgentRunner.run() returns an AgentResponse with content, structured_output, usage, tool_calls, run_artifacts, latency_ms, and the full handoff chain. See the docs for streaming, tools/MCP, memory, handoffs, and workflows.
⚙️ Configuring Continuum
Continuum is configured through environment variables (copy .env.template → .env). Set keys only for the providers and components you use — everything else has sensible defaults. The most common settings:
LLM providers & routing
| Variable | Description | Example |
|---|---|---|
OPENAI_API_KEY / ANTHROPIC_API_KEY / GEMINI_API_KEY |
Provider API keys — set the one(s) you use | sk-… |
DEFAULT_LLM_MODEL |
Default model (provider/model, or bare name for OpenAI) |
gemini/gemini-2.5-flash |
FALLBACK_LLM_MODEL |
Model used if the default fails | gpt-4o-mini |
LLM_ENABLE_FALLBACK |
Automatically fall back on provider errors | true |
SMART_LAYER_ENABLED |
Enable cost-aware tier routing (Smart Inference) | true |
Memory (long-term) & embeddings
| Variable | Description | Example |
|---|---|---|
MEMORY_ENABLED |
Enable mem0-backed long-term memory | true |
VECTOR_STORE_PROVIDER |
Vector store backend | qdrant / milvus |
EMBEDDER_PROVIDER / EMBEDDER_MODEL |
Embedding provider & model | openai / text-embedding-3-small |
MEMORY_ISOLATION |
Scope of memory isolation | user / agent / run / shared |
Sessions (short-term)
| Variable | Description | Example |
|---|---|---|
SESSION_ENABLED |
Enable Redis-backed conversation sessions | true |
SESSION_REDIS_HOST / SESSION_REDIS_PORT |
Redis connection | localhost / 6380 |
SESSION_TTL_SECONDS |
Session lifetime | 172800 |
Observability (Langfuse)
| Variable | Description | Example |
|---|---|---|
LANGFUSE_ENABLED |
Enable tracing | true |
LANGFUSE_PUBLIC_KEY / LANGFUSE_SECRET_KEY |
Langfuse credentials | pk-… / sk-… |
LANGFUSE_HOST |
Langfuse endpoint | http://localhost:3000 |
Temporal (optional, durable workflows)
| Variable | Description | Example |
|---|---|---|
TEMPORAL_ENABLED |
Enable durable workflow orchestration | false |
TEMPORAL_HOST |
Temporal frontend | localhost:7233 |
Optional extras:
pip install -e ".[temporal]"for Temporal,".[eval]"for evaluation,".[embeddings]"for local embeddings. See.env.templatefor the complete, annotated reference.
🧩 Components
| Component | What it does |
|---|---|
| Agents | BaseAgent + AgentRunner — config, hooks, structured outputs, ReAct |
| Workflows | Nine multi-agent patterns for chaining, branching, looping, and self-improvement |
| Smart Inference | Request classifier + cost-aware model routing with fallback |
| Memory | mem0 + Qdrant/Milvus (long-term) · Redis (sessions) · multi-tenant scopes |
| Tools / MCP | MCP servers over Stdio/SSE/StreamableHTTP, tool filtering, widget artifacts |
| Temporal | Durable, restart-safe workflows with human-in-the-loop gates |
| Observability | Langfuse traces, metrics, @observe decorators |
| Evaluation | Golden datasets + DeepEval / RAGAS metrics |
📚 Documentation
Full documentation lives at docs.continuum.shyftlabs.io — guides for building & running agents, Smart Inference, memory, tools/MCP, workflows, handoffs, streaming, evaluation, and the research behind it.
Markdown sources are also in docs/ if you prefer reading on GitHub — e.g. agent.md, memory.md, tools.md, and the integration GUIDE.md.
🧪 Examples
Runnable demos live under playground/:
gateway-local-shop— an MCP server + agent + chat UI for a pet-shop assistant (end-to-end: server → agent → UI).gateway-multi-agent-shop— a multi-agent workflow variant with routing and handoffs.frontend/— the demo web UIs (assortment,commerce-chat).
🤝 Contributing
Contributions are welcome! Please read CONTRIBUTING.md for the branch model, Conventional Commits, DCO sign-off, and local setup. By participating you agree to our Code of Conduct.
- 🐛 Bugs & features — use the issue templates
- 💬 Questions & ideas — GitHub Discussions
- 🔒 Security — report privately via
SECURITY.md, never a public issue
📄 License
Licensed under the Apache License, Version 2.0. Copyright © 2025–2026 ShyftLabs Inc.
For commercial / enterprise inquiries — SLAs, indemnification, hosted offerings, custom features — contact [email protected].
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found