githubinferredactive
openclaw.net
provenance:github:clawdotnet/openclaw.net
Self-hosted OpenClaw gateway + agent runtime in .NET (NativeAOT-friendly)
README
<div align="center"> <img src="src/OpenClaw.Gateway/wwwroot/image.png" alt="OpenClaw.NET Logo" width="180" /> </div> # OpenClaw.NET [](https://opensource.org/licenses/MIT)     > **Disclaimer**: This project is not affiliated with, endorsed by, or associated with [OpenClaw](https://github.com/openclaw/openclaw). It is an independent .NET implementation inspired by their work. Self-hosted **AI agent runtime and gateway for .NET** with 48 native tools, 9 channel adapters, multi-agent routing, review-first self-evolving features, built-in OpenAI/Claude/Gemini provider support, built-in tool presets, NativeAOT support, and practical OpenClaw ecosystem compatibility. ## Why This Project Exists Most agent stacks assume Python- or Node-first runtimes. That works until you want to keep the rest of your system in .NET, publish lean self-contained binaries, or reuse existing tools and plugins without rebuilding your runtime around another language stack. OpenClaw.NET takes a different path: - **NativeAOT-friendly runtime and gateway** for .NET agent workloads - **Practical reuse of existing OpenClaw TS/JS plugins and `SKILL.md` packages** — install directly with `openclaw plugins install` - A real **tool execution layer** with approval hooks, timeout handling, usage tracking, and optional sandbox routing - **48 native tools** covering file ops, sessions, memory, web search, messaging, home automation, databases, email, calendar, and more - **9 channel adapters** (Telegram, SMS, WhatsApp, Teams, Slack, Discord, Signal, email, webhooks) with DM policy, allowlists, and signature validation - **Native LLM providers out of the box** for **OpenAI**, **Claude / Anthropic**, and **Gemini**, plus Azure OpenAI, Ollama, and OpenAI-compatible endpoints - **Review-first self-evolving workflows** that can propose profile updates, automation drafts, and skill drafts from repeated successful sessions - A foundation for **production-oriented agent infrastructure in .NET** If this repo is useful to you, please star it. ## Key Features ### Agent Runtime - Multi-step execution with tool calling, retries, per-call timeouts, streaming, and circuit-breaker behavior - Context compaction (`/compact` command or automatic) with LLM-powered summarization - Configurable reasoning effort (`/think off|low|medium|high`) - Delegated sub-agents with configurable profiles, tool restrictions, and depth limits - Multi-agent routing — route channels/senders with per-route model, prompt, tool preset, and tool allowlist overrides - Persistent session search, user profiles, and session-scoped todo state available to the agent and operators ### Built-In Providers - **OpenAI** via `Provider: "openai"` - **Claude / Anthropic** via `Provider: "anthropic"` or `Provider: "claude"` - **Gemini** via `Provider: "gemini"` or `Provider: "google"` - **Azure OpenAI** via `Provider: "azure-openai"` - **Ollama** via `Provider: "ollama"` - **OpenAI-compatible** endpoints via `Provider: "openai-compatible"`, `groq`, `together`, or `lmstudio` OpenClaw registers OpenAI, Claude, and Gemini natively at startup, so a fresh install only needs a provider id, model, and API key to get going. ### Review-First Learning - The runtime can observe completed sessions and create **pending learning proposals** instead of auto-mutating behavior - Proposal kinds include **`profile_update`**, **`automation_suggestion`**, and **`skill_draft`** - Approving a proposal can update a user profile, create a disabled automation draft, or write a managed skill draft and reload skills - Rejections, approvals, and source-session references are preserved so operators can audit what the system learned and why - Learning proposals are available over the admin API, `OpenClaw.Client`, and the TUI review flow ### Memory, Profiles, and Automation - **Session search** spans persisted conversation content for recall and operator lookup - **User profiles** store stable facts, preferences, projects, tone, and recent intent, with native `profile_read` / `profile_write` tools - **Automations** support list/get/preview/create/update/pause/resume/run flows and integrate with cron-backed delivery - **Todos** are persisted per session and available through the native `todo` tool and operator surfaces ### 48 Native Tools | Category | Tools | |----------|-------| | **File & Code** | `shell`, `read_file`, `write_file`, `edit_file`, `apply_patch`, `process`, `git`, `code_exec`, `browser` | | **Sessions** | `sessions`, `sessions_history`, `sessions_send`, `sessions_spawn`, `sessions_yield`, `session_status`, `session_search`, `agents_list` | | **Memory** | `memory`, `memory_search`, `memory_get`, `project_memory` | | **Web & Data** | `web_search`, `web_fetch`, `x_search`, `pdf_read`, `database` | | **Communication** | `message`, `email`, `inbox_zero`, `calendar` | | **Home & IoT** | `home_assistant`, `home_assistant_write`, `mqtt`, `mqtt_publish` | | **Productivity** | `notion`, `notion_write`, `todo`, `automation`, `cron`, `delegate_agent` | | **Media & AI** | `image_gen`, `vision_analyze`, `text_to_speech` | | **System** | `gateway`, `profile_read`, `profile_write` | ### Tool Presets & Groups Named presets control which tools are available per surface: | Preset | Description | |--------|-------------| | `full` | All tools, no restrictions | | `coding` | File I/O, shell, git, code execution, browser, memory, sessions | | `messaging` | Message, sessions, memory, profiles, todo | | `minimal` | `session_status` only | | `web` / `telegram` / `automation` / `readonly` | Channel-specific defaults | Presets compose from reusable **tool groups**: `group:runtime`, `group:fs`, `group:sessions`, `group:memory`, `group:web`, `group:automation`, `group:messaging`. ### 9 Channel Adapters | Channel | Transport | Features | |---------|-----------|----------| | **Telegram** | Webhook | Media markers, photo upload, signature validation | | **Twilio SMS** | Webhook | Rate limiting, opt-out handling | | **WhatsApp** | Webhook / Bridge | Official Cloud API + Baileys bridge, typing indicators, read receipts | | **Teams** | Bot Framework | JWT validation, conversation references, group/DM policy | | **Slack** | Events API | Thread-to-session mapping, slash commands, HMAC-SHA256, mrkdwn conversion | | **Discord** | Gateway WebSocket | Persistent connection, slash commands, Ed25519 interaction webhook, rate limiting | | **Signal** | signald / signal-cli | Unix socket or subprocess bridge, privacy mode (no-content logging) | | **Email** | IMAP/SMTP | MailKit-based | | **Webhooks** | HTTP POST | Generic webhook triggers with HMAC validation | All channels support DM policy (`open` / `pairing` / `closed`), sender allowlists, and deduplication. ### Skills 7 bundled skills: `daily-news-digest`, `data-analyst`, `deep-researcher`, `email-triage`, `homeassistant-operator`, `mqtt-operator`, `software-developer`. Skills are loaded from workspace (`skills/`), global (`~/.openclaw/skills/`), or plugins. Install from ClawHub with `openclaw clawhub install <slug>`. ### Chat Commands | Command | Description | |---------|-------------| | `/status` | Session info (model, turns, tokens) | | `/new` / `/reset` | Clear conversation history | | `/model <name>` | Override LLM model for session | | `/think off\|low\|medium\|high` | Set reasoning effort level | | `/compact` | Trigger history compaction | | `/verbose on\|off` | Show tool calls and token usage per turn | | `/usage` | Show total token counts | | `/help` | List commands | ### Plugin System Install community plugins directly from npm/ClawHub: ```bash openclaw plugins ins [truncated…]
PUBLIC HISTORY
First discoveredApr 2, 2026
IDENTITY
inferred
Identity inferred from code signals. No PROVENANCE.yml found.
Is this yours? Claim it →METADATA
platformgithub
first seenFeb 22, 2026
last updatedApr 1, 2026
last crawled15 days ago
version—
README BADGE
Add to your README:
