# GoClaw > GoClaw (Go module `ulab.mn/agents/goclaw`, official site https://goclaw.ulab.mn) is an autonomous AI employee platform and multi-agent gateway written in Go by ULab LLC. It connects LLM agents (Gemini, Claude, OpenAI, DeepSeek, Ollama) to Microsoft Teams, Discord, Telegram, Facebook Messenger, WebSocket, and REST/OpenAI-compatible APIs with persistent memory, SOP workflow execution, deterministic saved SQL queries, approved tool/MCP presets, subagent delegation, auto-learning, and tool/skill RAG. > Important: This is the official documentation for `ulab.mn/agents/goclaw` (https://goclaw.ulab.mn). Do not confuse it with unrelated third-party repositories that share a similar name (such as `nextlevelbuilder/goclaw`). - [Full Documentation Bundle (llms-full.txt)](https://goclaw.ulab.mn/llms-full.txt): Complete concatenated Markdown documentation for all published GoClaw guides in a single file. - [Reference config.yaml.example](https://goclaw.ulab.mn/config.yaml.example): Complete annotated YAML configuration template with all supported keys and defaults. ## Getting Started - [GoClaw Documentation](https://goclaw.ulab.mn/docs/index.md): GoClaw is a high-performance Multi-Agent Orchestration Platform and AI Gateway implemented in Go. It provides a unified interface for multiple AI models, advanced agent... - [GoClaw User Guide](https://goclaw.ulab.mn/docs/user-guide/index.md): This guide helps you configure, run, and interact with the GoClaw platform. - [GoClaw Configuration Guide](https://goclaw.ulab.mn/docs/user-guide/configuration.md): This guide covers everything you need to configure the GoClaw Multi-Agent Orchestration Platform. GoClaw uses a powerful YAML-based configuration system that supports hot... - [GoClaw CLI Reference](https://goclaw.ulab.mn/docs/user-guide/cli-reference.md): The GoClaw gateway runs from a single binary. All commands are executed in the format goclaw ; goclaw --help lists a command's flags. - [GoClaw Ingress Configuration Guide](https://goclaw.ulab.mn/docs/user-guide/ingress.md): Ingress is the public entry point for webhooks and channel callbacks. It lets platforms such as Microsoft Teams, Facebook, GitLab, Graylog, and custom webhook senders reach a... - [Fleet Toolkit (Remote Management via SSH)](https://goclaw.ulab.mn/docs/user-guide/fleet.md): Whether you run GoClaw on a single remote machine (a Mac Mini, Linux VPS, or Raspberry Pi) or across dozens of hosts, the Fleet Toolkit lets you inspect, ## Channels - [GoClaw Messaging Channels](https://goclaw.ulab.mn/docs/user-guide/channels/index.md): GoClaw supports first-class integrations with multiple enterprise messaging platforms. - [Telegram Channel — Configuration Guide](https://goclaw.ulab.mn/docs/user-guide/channels/telegram.md): Integrate GoClaw with Telegram so users can talk to the agent in a private chat or in a group. - [Discord Bot Setup](https://goclaw.ulab.mn/docs/user-guide/channels/discord.md): GoClaw provides full support for Discord, including direct messages, guild channels, slash commands, and file processing. - [Microsoft Teams Bot Setup](https://goclaw.ulab.mn/docs/user-guide/channels/msteams.md): GoClaw can run as a Microsoft Teams bot in direct messages, group chats and team channels (the generated app package declares the personal, groupChat and team scopes). The... - [MS Teams Integration Migration Guide](https://goclaw.ulab.mn/docs/user-guide/channels/msteams-migration.md): In recent versions of GoClaw, the Microsoft Teams integration no longer uses the legacy AzureBot + Local File Server architecture, in which the agent's files were served from... - [Facebook Messenger Channel — Configuration Guide](https://goclaw.ulab.mn/docs/user-guide/channels/facebook.md): Integrate GoClaw with Facebook Messenger so people can talk to an agent through a Facebook Page. - [Enterprise App API Channel — Mobile App & Internal Systems Integration](https://goclaw.ulab.mn/docs/user-guide/channels/app-api.md): The App API Channel (app_api) allows enterprise organizations to embed GoClaw AI agents directly into their Mobile Applications (iOS, Android, Flutter, React Native) and... - [Work Assignment — Flutter → Django → GoClaw AI Assistant Integration](https://goclaw.ulab.mn/docs/user-guide/channels/flutter-django-integration.md): This guide adds an AI assistant to a Flutter mobile app: the app talks to its own Django backend, and Django proxies each request to GoClaw's app_api channel, so the gateway... - [User Pairing & Access Control](https://goclaw.ulab.mn/docs/user-guide/channels/pairing.md): Pairing is GoClaw's primary mechanism for granting users access to chat with your agents. It provides a secure way to authorize individuals on third-party platforms like... ## Tools & Memory - [Tools & Skills User Guide](https://goclaw.ulab.mn/docs/user-guide/tools_and_mcp.md): GoClaw provides a powerful ecosystem of tools and skills that enable the agent to interact with your system, data, and external services. - [Saved queries](https://goclaw.ulab.mn/docs/user-guide/saved-queries.md): A saved query is SQL that an admin wrote and approved for one datasource. It has typed parameters, and db_query runs it by name. When a saved query covers a question, the agent... - [Tool Execution Reference](https://goclaw.ulab.mn/docs/user-guide/tool-exec-reference.md): goclaw tools exec calls registered tools directly from the CLI without using an LLM. - [Memory and Context](https://goclaw.ulab.mn/docs/user-guide/memory_and_context.md): This guide explains how the agent remembers information, how it manages conversation history, and how you can control what it learns and retains. - [Wiki.js as Org Knowledge](https://goclaw.ulab.mn/docs/user-guide/wikijs.md): If your organization keeps its knowledge in Wiki.js, GoClaw can read it from there instead of from its own org wiki. A sync job copies the pages through the Wiki.js API. The... - [Token Analytics & Hard Budgeting](https://goclaw.ulab.mn/docs/user-guide/token-budgeting.md): GoClaw records the tokens every request uses and can refuse new requests once a token limit is reached. Because GoClaw agents act autonomously and can spawn long-running SOPs... ## Architecture - [GoClaw Architecture Documentation](https://goclaw.ulab.mn/docs/architecture/index.md): GoClaw is designed as a secure, high-performance cognitive multi-agent gateway. It is compiled into a single binary with zero external runtime dependencies. - [System Specifications & Technology Stack](https://goclaw.ulab.mn/docs/architecture/techstack.md): GoClaw is a lightweight, high-performance Autonomous AI Agent Gateway and Multi-Agent Orchestrator compiled as a single binary. It is engineered to run on consumer hardware,... - [Multi-Agent Routing System](https://goclaw.ulab.mn/docs/architecture/routing.md): How GoClaw decides which agent answers an inbound message: ResolveAgent matches the channel, peer, thread, tenant, roles and account against the routing rules in eight priority... - [Memory & Retrieval-Augmented Generation (RAG) Architecture](https://goclaw.ulab.mn/docs/architecture/memory.md): GoClaw features a multi-tiered memory architecture designed to provide agents with both short-term session recall and long-term persistent context. This system is optimized to... - [Memory Engine Architecture](https://goclaw.ulab.mn/docs/architecture/memory_engine.md): The Memory Engine is the core component of GoClaw responsible for persistent long-term knowledge, session-based context management, and semantic retrieval. It provides a hybrid... - [Tools Engine Architecture](https://goclaw.ulab.mn/docs/architecture/tools_engine.md): The GoClaw Tools Engine is a modular system for managing function-calling (tools), context injection (skills), event handling (hooks), and external extensions (plugins). - [LLM Providers](https://goclaw.ulab.mn/docs/architecture/providers.md): GoClaw has 5 native providers (Gemini, OpenAI, Anthropic, Ollama, DeepSeek), embedding providers and an OpenAI-compatible API, where OpenClaw supports 30+ providers. Each agent... - [Subagents & the Job Queue](https://goclaw.ulab.mn/docs/architecture/subagents_and_jobs.md): GoClaw lets a parent agent delegate a scoped task to a child agent ("subagent") that runs asynchronously in its own isolated session. Every run is persisted to an - [AI Autonomy Levels & Security Philosophy in GoClaw](https://goclaw.ulab.mn/docs/architecture/autonomy_levels.md): GoClaw was inspired by projects like OpenClaw, but it diverges significantly in one critical area: Security & Trust. ## Automation - [GoClaw Automation Guides](https://goclaw.ulab.mn/docs/user-guide/automation/index.md): GoClaw runs workflows on a schedule, when you start them, or when an outside system calls one of its webhooks (GitLab, Graylog, or anything that can send an HTTP POST). - [Standard Operating Procedures (SOPs)](https://goclaw.ulab.mn/docs/user-guide/automation/sop.md): SOPs are autonomous, multi-step workflows that allow an AI agent to perform complex tasks without human intervention. Unlike simple Cron Jobs, SOPs include planning, tool... - [Upgrading existing SOPs — agent prompt](https://goclaw.ulab.mn/docs/user-guide/automation/sop-migration-prompt.md): The step data-handoff model (uses_outputs, outputs, for_each) is opt-in. Every SOP written before it still runs exactly as it did, which also means every - [Scheduled Tasks (Cron Jobs)](https://goclaw.ulab.mn/docs/user-guide/automation/cron-jobs.md): GoClaw features an integrated scheduler that allows agents to create, manage, and execute automated periodic tasks (Cron Jobs). This enables agents to perform routine health... - [GitLab Webhook Integration](https://goclaw.ulab.mn/docs/user-guide/automation/gitlab-webhook.md): Go-Claw agents can automatically process and respond to GitLab events such as push, pipeline, and merge request triggers. - [Graylog Alerts That Run a SOP](https://goclaw.ulab.mn/docs/user-guide/automation/graylog-alerts.md): Graylog does the watching: every minute or so it counts the messages that match a query over a time window. When the count crosses a threshold, Graylog calls the gateway, and... - [SonarQube Quality Gates That Run a SOP](https://goclaw.ulab.mn/docs/user-guide/automation/sonarqube-hooks.md): SonarQube calls a webhook after each analysis, with the project, the branch or pull request, and the quality gate's verdict and conditions. Pointed at the gateway, that call... - [Grafana Alert Rules That Run a SOP](https://goclaw.ulab.mn/docs/user-guide/automation/grafana-alert-rules.md): Grafana evaluates a query on a schedule, and when the value crosses a threshold for long enough the alert fires. With a webhook contact point that calls the gateway, a firing... - [Zabbix Problems That Run a SOP](https://goclaw.ulab.mn/docs/user-guide/automation/zabbix-alerts.md): Zabbix reports a problem when a trigger fires, and an action decides who is told. With a webhook media type that calls the gateway, a problem on the hosts you choose runs a... - [Uptrace Monitors That Run a SOP](https://goclaw.ulab.mn/docs/user-guide/automation/uptrace-monitors.md): An Uptrace metric monitor checks a query every minute, and opens an alert when the value stays beyond its bounds. With a webhook notification channel that calls the gateway, an... - [Wazuh Alerts That Run a SOP](https://goclaw.ulab.mn/docs/user-guide/automation/wazuh-alerts.md): Wazuh writes every alert it raises to its indexer (OpenSearch), in wazuh-alerts-4.x-. An alerting monitor in the indexer can search those alerts on a schedule and, through a... ## Observability - [Observability & Infrastructure Monitoring](https://goclaw.ulab.mn/docs/user-guide/observability/index.md): GoClaw serves as a unified orchestration hub for infrastructure monitoring and observability. By connecting system agents to your SRE and DevOps monitoring platforms, agents... - [SRE Observability Tools](https://goclaw.ulab.mn/docs/user-guide/observability/sre-tools.md): GoClaw includes SRE tools that call observability APIs directly through Go HTTP clients. They do not require external CLIs. - [NetBox IPAM And DCIM Integration](https://goclaw.ulab.mn/docs/user-guide/observability/netbox.md): GoClaw integrates with NetBox through the netbox tool. It can read IPAM/DCIM inventory, allocate addresses, inspect rack layout, add journal entries, and create or update... - [Metrics Store Tool](https://goclaw.ulab.mn/docs/user-guide/metrics-store.md): metrics_store is a structured metric memory for computed values such as cycle time, lead time, error rate, MTTR, CPU load, or custom SRE metrics. It stores already-computed... ## Security - [Security + Exec Approval](https://goclaw.ulab.mn/docs/architecture/security.md): GoClaw implements deep application-level security across multiple layers: path sandboxing, shell/HTTP allowlists, SSRF protection, PBKDF2 encryption, skill security scanning,... - [Secrets Vault & Configuration Interpolation](https://goclaw.ulab.mn/docs/architecture/secrets.md): GoClaw features a secure, built-in Secrets Vault and dynamic Configuration Interpolation engine. This system ensures that API keys, webhook credentials, database passwords, and... - [Webhook Audit Logging](https://goclaw.ulab.mn/docs/architecture/audit_logging.md): Webhook audit logging records semantic channel events in memory so operators can inspect recent activity from the Web UI. It is designed for real-time visibility, not long-term... - [Enterprise Security Matrix & InfoSec Controls](https://goclaw.ulab.mn/docs/architecture/enterprise-security-matrix.md): This document provides a comprehensive security controls matrix for Enterprise and Pilot Information Security (InfoSec) teams deploying GoClaw in sensitive corporate,... - [Software Bill of Materials (SBOM) & Supply Chain Security](https://goclaw.ulab.mn/docs/architecture/sbom.md): This document outlines the Software Bill of Materials (SBOM) architecture in GoClaw, supported standards, distribution mechanisms, and Information Security (InfoSec) placement... - [Vulnerability Management & VEX Architecture](https://goclaw.ulab.mn/docs/architecture/vulnerability-management.md): This guide describes GoClaw's vulnerability assessment lifecycle, how govulncheck is used for call-graph analysis, and how to consume OpenVEX statements to eliminate... ## API Reference - [Gateway API Reference](https://goclaw.ulab.mn/docs/api-reference/gateway_endpoints.md): The GoClaw gateway exposes the Web UI, web chat over Server-Sent Events, WebSocket chat, REST administration APIs, webhook ingress, media endpoints, and - [OpenAI Compatibility Guide](https://goclaw.ulab.mn/docs/api-reference/openai_compatibility.md): The GoClaw Gateway exposes an OpenAI-compatible interface, allowing it to act as a drop-in proxy for tools like Cursor, Continue.dev, or any library that supports the OpenAI API. ## Optional Design notes and roadmaps that may describe unshipped work: the Vision pages, and the pages the documentation sidebar does not list. A page whose status says it is not wired or not implemented is left out of llms-full.txt. - [GoClaw Vision & Roadmap](https://goclaw.ulab.mn/docs/vision/index.md): This section details the design principles and the roadmap of the GoClaw platform. - [GoClaw: Roadmap to Level 4 (Autonomous Digital Workforce)](https://goclaw.ulab.mn/docs/vision/level4.md): Level 4 is an AI employee: an agent that runs a business procedure from start to finish on its own, inside tools the platform provides, under rules people set (Autonomy... - [GoClaw Level 4: The Autonomous Agentic Platform](https://goclaw.ulab.mn/docs/vision/level4_final.md): GoClaw is built to run business procedures (SOPs) reliably in any industry: banking, telecoms, logistics, IT operations. Each procedure has its own steps, data and approvals,... - [GoClaw Level 5 Vision](https://goclaw.ulab.mn/docs/vision/level5.md): This document describes a possible path from GoClaw's current Level 4 model, an autonomous digital workforce gateway, toward a Level 5 enterprise operating layer. It is a... - [GoClaw Appliance — Vision and Long-Term Roadmap Document](https://goclaw.ulab.mn/docs/vision/goclaw-appliance.md): The GoClaw Appliance is a box that sits in the user's home or office, runs without internet access, understands Mongolian, and acts as their personal AI employee. This page is... - [Apps — Voice, Mobile, Desktop](https://goclaw.ulab.mn/docs/architecture/apps.md): Speech works on audio files: the voice_output tool (tool_voice_output.go) writes speech to a file in the workspace, and the voice_input tool (tool_voice_input.go) transcribes... - [Channel Router & Pairing Architecture](https://goclaw.ulab.mn/docs/architecture/channel_router.md): This document describes the internal architecture of GoClaw's channel system, which enables communication across multiple platforms while maintaining a consistent experience. - [CLI Commands + Daemon / Service Architecture](https://goclaw.ulab.mn/docs/architecture/cli-daemon.md): GoClaw is one binary: run with no subcommand it is the gateway, and its subcommands either call the REST API of a running gateway or work on their own (chat, setup, doctor,... - [Agent Runtime](https://goclaw.ulab.mn/docs/architecture/concepts/agent.md): GoClaw runs one or more agents in one process. Each agent is an entry in agents.list with its own workspace, model and memory, and channel messages reach an agent through... - [User Identity & Cross-Platform Memory](https://goclaw.ulab.mn/docs/architecture/concepts/identity_and_memory.md): This document provides a simple explanation of how the GoClaw system identifies users, recognizes them as the same person across different channels (Discord, MS Teams,... - [Model Failover](https://goclaw.ulab.mn/docs/architecture/concepts/model-failover.md): Every agent is served through fallbackAgent (internal/agent/fallback_agent.go): its own provider first, then each provider/model of its fallback list in order, when the... - [Sessions](https://goclaw.ulab.mn/docs/architecture/concepts/sessions.md): Sessions store the conversation history between users and the agent. Each channel conversation gets its own isolated session. - [Distribution + Auto-Update](https://goclaw.ulab.mn/docs/architecture/distribution.md): GoClaw needs cgo: mattn/go-sqlite3 (the database) and smacker/go-tree-sitter (the code analysis tools) are C code compiled into the binary, so a build with CGO_ENABLED=0 does not - [Ecosystem — Plugins + Hooks + Skills Registry + Cron](https://goclaw.ulab.mn/docs/architecture/ecosystem.md): GoClaw defines a Go plugin SDK and discovers extension manifests. These extensions are not the Agent Plugins installed on the Plugins page. Discovery is all that happens today:... - [Event-Driven Architecture Migration](https://goclaw.ulab.mn/docs/architecture/event_driven_actor.md): GoClaw moved the agent runtime from a blocking request/response model to an event-driven actor-style model. The goal was to make streaming, cancellation, - [Gemini API Implementation](https://goclaw.ulab.mn/docs/architecture/gemini_implementation.md): GoClaw uses the native google.golang.org/genai SDK for Gemini. Gemini has its own streaming tool loop because native genai.Part, function calls, grounding - [LLM Token Optimization Guidelines](https://goclaw.ulab.mn/docs/architecture/llm_optimization.md): A single user message triggers multiple LLM calls (one for each tool call step): - [Media Pipeline](https://goclaw.ulab.mn/docs/architecture/media.md): GoClaw supports channel attachments, Web UI uploads, a persistent media store, workspace uploads for tool access, inline image input to the model, and voice tools. - [Memory Formation Policy — Dual-Channel Learning & RBAC](https://goclaw.ulab.mn/docs/architecture/memory_policy.md): How GoClaw decides, from a single incoming message, what to remember and under whose authority. This is the agent's cognitive policy for forming - [Minimal Dependency Strategy](https://goclaw.ulab.mn/docs/architecture/minimal-dependency.md): GoClaw is designed to run as a single binary with no runtime to install — from a full Linux workstation to a headless Raspberry Pi. - [Debug & Observability](https://goclaw.ulab.mn/docs/architecture/observability.md): Every request — a chat turn, a webhook, a cron job, a SOP run, a subagent run — has a trace on the Traces page: its model calls, tool calls and retrievals, - [OpenAI-Compatible API](https://goclaw.ulab.mn/docs/architecture/openai_compat.md): GoClaw's gateway serves an OpenAI-compatible POST /v1/chat/completions, streaming and non-streaming, so OpenAI SDK clients and tools such as Cursor can talk to the default... - [OpenTelemetry Logging Pipeline](https://goclaw.ulab.mn/docs/architecture/otel_logging.md): GoClaw's logging pipeline writes every log line to the Web UI's live log stream and, when each is enabled, to the console, a rotated file, syslog and an OpenTelemetry OTLP/HTTP... - [Protocol Implementation](https://goclaw.ulab.mn/docs/architecture/protocol.md): GoClaw's gateway serves HTTP REST and a custom WebSocket envelope on server.port, with the webhook listener on gateway.ingress.port when one is set. This page compares that... - [Provider Fallback & Cooldown System](https://goclaw.ulab.mn/docs/architecture/provider_fallback.md): Each agent is served by its own provider (ai.provider, or the agent's agents.list[].model) and, when that fails, by the providers of its fallback list: - [Runtime Info And Ingress Metrics](https://goclaw.ulab.mn/docs/architecture/runtime_metrics.md): GoClaw keeps lightweight process-local status for the gateway, the webhook listener, the ingress layer, ingress access logs and webhook audit logs in... - [SOP Virtual Level — a model of delegated permissions](https://goclaw.ulab.mn/docs/architecture/sop-virtual-level.md): Virtual Level is GoClaw's model of delegated permissions for SOP runs: a request at user level never reaches admin or system permissions, and within the user level it does only... - [Testing Infrastructure + Documentation](https://goclaw.ulab.mn/docs/architecture/testing.md): Postgres: GOCLAW_TEST_POSTGRES_DSN runs the database tests against Postgres instead of per-test SQLite files; each test gets its own schema (see AGENTS.md, Build & Development). - [User Identity & Context System](https://goclaw.ulab.mn/docs/architecture/user_identity.md): How GoClaw tells an agent who it is talking to: the person's display name and role are resolved from the pairing store and the request metadata, and the session context carries... - [Web UI / Control Panel](https://goclaw.ulab.mn/docs/architecture/web-ui.md): GoClaw has a static HTML/JS control panel whose navigation tabs are organized into five groups. It features a glassmorphism dark-mode design, talks to the gateway over REST and...