Desktop applications
Add contextual assistants, document workflows, or operator tools without moving core state out of process.
Native agent systems · C++20
Wuwe brings model access, typed tools, reasoning, planning, memory, retrieval, MCP, and controlled execution into one composable C++ framework.
One runtime, explicit boundaries
Each subsystem has a focused contract and can be used independently. Higher-level reasoning and planning APIs compose them without hiding state, policy, or execution traces.
OpenAI-compatible APIs, Anthropic, Gemini, and Ollama
ReAct, reflection, plan execution, budgets, and approvals
Typed dispatch, MCP servers and clients, HTTP and stdio adapters
Memory, embeddings, hybrid retrieval, citations, and Qdrant
Capability checks, policy hooks, audit events, and traces
Composable modules
Sixteen focused modules share common contracts for events, state, policy, and execution. Adopt them independently, then compose only what the product needs.
Unified clients for OpenAI-compatible APIs, Anthropic, Gemini, Ollama, and OpenRouter.
Typed definitions, dispatch, structured results, and model-facing tool calls.
Observable reasoning loops with budgets, tool use, and execution traces.
Critique and iterative improvement backed by pluggable reflection stores.
Plan generation, persistence, reflection, and controlled step execution.
Flow primitives for composing runtime operations without hiding control.
Policy-driven memory with in-memory, file, SQLite, and Qdrant backends.
Loading, splitting, indexing, retrieval, reranking, grounding, and citations.
Clients, servers, gateways, host runtime, and HTTP, stdio, or process transports.
Selectable HTTP backends, streaming event parsing, and typed transport errors.
Explicit capability declarations and policy checks at runtime boundaries.
Approval service contracts for actions that require host authorization.
Structured audit events with configurable sinks and host-owned retention.
Common event sinks, module observers, traces, and telemetry adapters.
Execution registry, policies, path checks, and controlled process tools.
Backend enforcement contracts and explicit platform capability reporting.
A small surface to start
The same provider abstraction extends to streaming, tool calls, reasoning strategies, and host-owned state.
Get started#include <iostream>
#include <wuwe/wuwe.h>
int main() {
wuwe::llm_config config{.model = "gpt-4.1-mini"};
wuwe::llm_client_factory factory;
auto client = factory.create_shared("OpenAI", config);
const auto response = client->complete("Explain RAII briefly.");
if (!response) return 1;
std::cout << response.content << '\n';
}
Where it fits
Wuwe does not prescribe one application shape. It provides the runtime pieces and lets the host own the experience.
Add contextual assistants, document workflows, or operator tools without moving core state out of process.
Run tool-using and stateful agent workflows behind existing service boundaries and observability.
Compose planning, MCP, retrieval, and controlled execution for automation and engineering workflows.
Select local providers, persistence, and external services according to the product deployment model.
Documentation
The documentation follows the same path: build first, then compose reasoning, state, protocols, and controlled execution.