Skip to main content

Wuwe overview

Wuwe is a C++20 framework for building tool-using, stateful, and auditable AI agents in native applications, services, and command-line programs.

Root-scoped filesystem tools and allowlisted process execution provide reusable local operations without making an unrestricted shell the default integration surface.

Its modules are independently usable. A host can start with one provider client and typed tools, then add reasoning, planning, memory, retrieval, MCP, or controlled execution only where needed.

Modules

ModuleResponsibility
LLM providersProvider configuration, normalized requests and responses, streaming, retries, and errors
Context budgetUnified allocation across system prompts, conversation, memory, retrieval, tool schemas/results, and reserved output
Resource routingCapability-aware model profiles, token and cost budgets, and dynamic model selection
ToolsTyped schemas, JSON argument parsing, dispatch, and provider composition
SkillsStrict packages, SemVer dependencies, immutable registry snapshots, governed activation, and explicit runtime projections
FilesystemRoot-scoped reads, writes, exact edits, search, transfer, revisions, approvals, and audit
ProcessAllowlisted argv execution, bounded I/O, process-tree cleanup, and an opt-in shell adapter
ReasoningSimple, ReAct, reflect-and-retry, plan-execute, and Best-of-N runs with budgets and traces
ReflectionRule-based or model-based evaluation, revision guidance, policy, and persistence
PlanningPlan generation, validation, dependency execution, retries, replanning, approvals, and checkpoints
Multi-AgentAgent registry, roles and skills, lifecycle, capacity, shared sessions, parallel work, consensus, and Planning dispatch
A2AAgent Card discovery, remote Messages, Tasks, Artifacts, JSON-RPC/HTTP transport, and local/remote Agent adapters
GuardrailsOrdered input/output and runtime-boundary checks with modification, denial, approval, audit, and telemetry
EvaluationWeighted output, structured-result, and trajectory regression suites
Learning and adaptationExperience and reward ledgers, versioned artifacts, offline optimization, regression gates, approval, activation, and rollback
Exploration and discoveryBounded hypotheses, approved experiments, evidence review, confidence thresholds, persistence, and explicit evidence export
OrchestrationTyped flows with branching, bounded fan-out/fan-in, filtering, retry, cancellation, recovery, and routing primitives
MemoryScoped records, context injection, persistence, ranking, embeddings, and model-visible tools
Knowledge / RAGLoading, splitting, indexing, retrieval, reranking, grounding, and citation support
MCPServer, client, host, gateway, stdio, process, and HTTP integration
NetworkingA common HTTP interface with cpr/libcurl and cpp-httplib backends
Capability policyExplicit authorization decisions for sensitive actions
ApprovalsHost-controlled approval requests and decisions
AuditStructured event sinks for security-relevant operations
Controlled executionPolicy-bound Python subprocess execution with limits and cancellation
Sandbox contractsIsolation and enforcement capability descriptions exposed by execution backends
ObservabilityCommon events, module observers, traces, metrics adapters, and host-owned sinks
Agent Host protocolVersioned, transport-neutral run, approval, resume, cancellation, and event contracts
Storage contractsExplicit durability, transaction, migration, replay, and coordination guarantees

Release boundary

Version 1.0.0 is verified on Windows x64 with Visual Studio 2022, Ubuntu 24.04 Linux x64, and macOS Apple Silicon with AppleClang.

The release is an SDK, not a hosted agent product. Applications retain ownership of user identity, secrets, UI, storage policy, approvals, and deployment topology.

Optional capabilities stay explicit:

  • Windows uses Schannel by default; Linux and macOS release builds use OpenSSL.
  • SQLite is required by the official release presets but remains configurable for custom builds.
  • Default packages bundle Tika and a platform-specific Java 21 runtime for document parsing; either runtime component can be omitted for core-only or host-managed deployments.
  • Qdrant and other remote indexes are external services configured by the host.
  • controlled_process applies policy and resource limits but is not a strong isolation boundary.

Start here

  1. Build and run Wuwe.
  2. Configure an LLM provider and typed tools.
  3. Compose the agent runtime, reusable Skills, optional Agent Host protocol, orchestration, reasoning, planning, multi-agent runtime, reflection, learning and adaptation, or exploration and discovery layer you need.
  4. Add memory, knowledge retrieval, MCP, or remote A2A interoperability.
  5. Review security and governance, observability, storage contracts, dependencies, packaging, and controlled execution before deployment.