-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Detailed updates to the KiloClaw docs #6366
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
2edcdda
Move to multiple pages for KiloClaw
olearycrew b8e8852
Add a lot more details about how it all works
olearycrew a5d8cfa
Update packages/kilo-docs/pages/automate/kiloclaw/control-ui.md
olearycrew 54e2504
Update packages/kilo-docs/pages/automate/kiloclaw/overview.md
olearycrew c95f1ea
Update packages/kilo-docs/pages/automate/kiloclaw/overview.md
olearycrew 35cab3d
Update packages/kilo-docs/pages/automate/kiloclaw/overview.md
olearycrew f8871ba
Update packages/kilo-docs/pages/automate/kiloclaw/control-ui.md
olearycrew 7622370
Update packages/kilo-docs/pages/automate/kiloclaw/troubleshooting.md
olearycrew 0f91f53
Control UI update warning
olearycrew f84b884
Add beta note
olearycrew 53ecafc
Updated a few other values
olearycrew d964c2e
Merge branch 'main' into docs/update-kiloclaw-docs
olearycrew File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
76 changes: 76 additions & 0 deletions
76
packages/kilo-docs/pages/automate/kiloclaw/chat-platforms.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,76 @@ | ||
| --- | ||
| title: "Connecting Chat Platforms" | ||
| description: "Connect your KiloClaw agent to Telegram, Discord, Slack, and more" | ||
| --- | ||
|
|
||
| # Connecting Chat Platforms | ||
|
|
||
| KiloClaw supports connecting your AI agent to Telegram, Discord, and Slack. You can configure channels from the **Settings** tab on your [KiloClaw dashboard](/docs/automate/kiloclaw/dashboard#channels), or from the OpenClaw Control UI after accessing your instance. | ||
|
|
||
| ## Supported Platforms | ||
|
|
||
| ### Telegram | ||
|
|
||
| To connect Telegram, you need a **Bot Token** from [@BotFather](https://t.me/BotFather) on Telegram. | ||
|
|
||
| Enter the token in the Settings tab and click **Save**. You can remove or replace a configured token at any time. | ||
|
|
||
| {% image src="/docs/img/kiloclaw/telegram.png" alt="Connect account screen" width="800" caption="Telegram bot token entry" /%} | ||
|
|
||
| Advanced settings such as DM policy, allow lists, and groups can be configured in the OpenClaw Control UI after connecting. | ||
|
|
||
| ### Discord | ||
|
|
||
| To connect Discord, you need a **Bot Token** from the [Discord Developer Portal](https://discord.com/developers/applications). | ||
|
|
||
| {% image src="/docs/img/kiloclaw/discord.png" alt="Connect account screen" width="800" caption="Discord bot token entry" /%} | ||
olearycrew marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| Enter the token in the Settings tab and click **Save**. You can remove or replace a configured token at any time. | ||
|
|
||
| ### Slack | ||
|
|
||
| To connect Slack, you need **both** of the following tokens from [Slack App Management](https://api.slack.com/apps): | ||
|
|
||
| - **Bot Token** — starts with `xoxb-` | ||
| - **App Token** — starts with `xapp-` | ||
|
|
||
| {% image src="/docs/img/kiloclaw/slack.png" alt="Connect account screen" width="800" caption="Slack bot and app token entry" /%} | ||
olearycrew marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| Both tokens are required — you cannot save with only one. | ||
|
|
||
| ## Configuring a Channel | ||
|
|
||
| 1. Open your [KiloClaw dashboard](/docs/automate/kiloclaw/dashboard) | ||
| 2. Go to the **Settings** tab | ||
| 3. Scroll to the **Channels** section | ||
| 4. Enter the required token(s) for your platform | ||
| 5. Click **Save** | ||
|
|
||
| {% callout type="info" %} | ||
| After saving channel tokens, you need to **Redeploy** or **Restart OpenClaw** for the changes to take effect. | ||
| {% /callout %} | ||
|
|
||
| To remove a channel, clear its token(s) in Settings and save. Redeploy or Restart OpenClaw afterward to apply the removal. | ||
|
|
||
| ## Pairing Requests | ||
|
|
||
| After connecting a channel and starting your instance, new users and devices need to be approved before they can interact with your agent. | ||
|
|
||
| - **Channel pairing** — When someone messages your bot on Telegram, Discord, or Slack for the first time, a pairing request appears on your dashboard. You need to click **Approve** to allow them to use the bot. | ||
| - **Device pairing** — When a new browser or device connects to the OpenClaw Control UI, a similar request appears. Click **Approve** to authorize it. | ||
|
|
||
| {% callout type="note" %} | ||
| Pairing data is cached for about 2 minutes. Use the refresh button to check for new requests. | ||
| {% /callout %} | ||
|
|
||
| ## Future Support | ||
|
|
||
| Additional platforms (such as WhatsApp) are planned for future releases. For the latest on supported platforms, refer to the [OpenClaw documentation](https://docs.openclaw.ai). | ||
|
|
||
| ## Related | ||
|
|
||
| - [KiloClaw Overview](/docs/automate/kiloclaw/overview) | ||
| - [Dashboard Reference](/docs/automate/kiloclaw/dashboard) | ||
| - [Troubleshooting](/docs/automate/kiloclaw/troubleshooting) | ||
| - [KiloClaw Pricing](/docs/automate/kiloclaw/pricing) | ||
| - [OpenClaw Documentation](https://docs.openclaw.ai) | ||
102 changes: 102 additions & 0 deletions
102
packages/kilo-docs/pages/automate/kiloclaw/control-ui.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,102 @@ | ||
| --- | ||
| title: "OpenClaw Control UI" | ||
| description: "Browser-based dashboard for managing your OpenClaw instance" | ||
| --- | ||
|
|
||
| # OpenClaw Control UI | ||
|
|
||
| The Control UI is a browser-based dashboard (built with Vite + Lit) served by the OpenClaw Gateway on the same port as the gateway itself (default: `http://localhost:18789/`). It connects via WebSocket and gives you real-time control over your agent, channels, sessions, and system configuration. For KiloClaw users, see [Accessing the Control UI](/docs/automate/kiloclaw/dashboard#accessing-the-control-ui) to get started. | ||
|
|
||
| ## Features | ||
|
|
||
| - **Chat** — Send messages, stream responses with live tool-call output, view history, and abort runs. | ||
| - **Channels** — View the status of connected messaging platforms, scan QR codes for login, and edit per-channel config. | ||
| - **Sessions** — List active sessions with thinking and verbose overrides. | ||
| - **Cron Jobs** — Create, edit, enable/disable, run, and view history of scheduled tasks. | ||
| - **Skills** — View status, enable/disable, install, and manage API keys for skills. | ||
| - **Nodes** — List paired devices and their capabilities. | ||
| - **Exec Approvals** — Edit gateway or node command allowlists. See [Exec Approvals](#exec-approvals) below. | ||
| - **Config** — View and edit `openclaw.json` with schema-based form rendering and a raw JSON editor. | ||
| - **Logs** — Live tail of gateway logs with filtering and export. | ||
| - **Debug** — Status, health, model snapshots, event log, and manual RPC calls. | ||
| - **Update** — Run package updates and restart the gateway. | ||
|
|
||
| For more details, please see the official [OpenClaw documentation](https://docs.openclaw.ai/web/control-ui). | ||
|
|
||
| {% callout type="warning" %} | ||
| Do not use the **Update** feature in the Control UI to update KiloClaw. Use **Redeploy** from the [KiloClaw Dashboard](/docs/automate/kiloclaw/dashboard#redeploy) instead. Updating via the Control UI will not apply the correct KiloClaw platform image and may break your instance. | ||
| {% /callout %} | ||
|
|
||
| ## Authentication | ||
|
|
||
| Auth is handled via token or password on the WebSocket handshake. We use the one time "access code" from your KiloClaw Dashboard to pair your device. Other remote connections require one-time device pairing — the pairing request appears on the [KiloClaw Dashboard](/docs/automate/kiloclaw/dashboard#pairing-requests) or in the Control UI itself. | ||
|
|
||
| ## Exec Approvals | ||
|
|
||
| Exec approvals are the safety interlock that controls which commands your agent can run on the host machine (gateway or node). By default, **all host exec requests are denied** — you must explicitly allowlist the commands you want your agent to run independently. This prevents accidental execution of destructive commands. | ||
|
|
||
| {% callout type="warning" %} | ||
| The default security policy is `deny`. You must configure an allowlist before your agent can execute any host commands. | ||
| {% /callout %} | ||
|
|
||
| ### How It Works | ||
|
|
||
| Approvals are enforced locally on the execution host and sit on top of tool policy and elevated gating. The effective policy is always the **stricter** of `tools.exec.*` and the approvals defaults. Settings are stored in `~/.openclaw/exec-approvals.json` on the host. | ||
|
|
||
| ### Security Policies | ||
|
|
||
| | Policy | Behavior | | ||
| | ----------- | ---------------------------------------------- | | ||
| | `deny` | Block all host exec requests (default) | | ||
| | `allowlist` | Allow only commands matching the allowlist | | ||
| | `full` | Allow everything (equivalent to elevated mode) | | ||
|
|
||
| ### Ask Behavior | ||
|
|
||
| The `ask` setting controls when the user is prompted for approval: | ||
|
|
||
| | Setting | Behavior | | ||
| | --------- | ------------------------------------------------------- | | ||
| | `off` | Never prompt | | ||
| | `on-miss` | Prompt only when the allowlist does not match (default) | | ||
| | `always` | Prompt on every command | | ||
|
|
||
| If a prompt is required but no UI is reachable, the `askFallback` setting decides the outcome (`deny` by default). | ||
|
|
||
| ### Allowlists | ||
|
|
||
| Allowlists are **per agent** — each agent has its own set of allowed command patterns. Patterns are case-insensitive globs that must resolve to binary paths (basename-only entries are ignored). | ||
|
|
||
| Example patterns: | ||
|
|
||
| ``` | ||
| ~/Projects/**/bin/rg | ||
| ~/.local/bin/* | ||
| /opt/homebrew/bin/rg | ||
| ``` | ||
|
|
||
| Each entry tracks last-used metadata (timestamp, command, resolved path) so you can audit and keep the list tidy. | ||
|
|
||
| ### Approval Flow | ||
|
|
||
| When a command requires approval, the gateway broadcasts the request to connected operator clients. The approval dialog shows the command, arguments, working directory, agent ID, and resolved path. You can: | ||
|
|
||
| - **Allow once** — run the command now | ||
| - **Allow always** — add to the allowlist and run | ||
| - **Deny** — block the request | ||
|
|
||
| Approval prompts can also be forwarded to chat channels (Slack, Telegram, Discord, etc.) and resolved with `/approve`. | ||
|
|
||
| ### Editing in the Control UI | ||
|
|
||
| Navigate to **Nodes > Exec Approvals** in the Control UI to edit defaults, per-agent overrides, and allowlists. Select a scope (Defaults or a specific agent), adjust the policy, add or remove allowlist patterns, then save. | ||
|
|
||
| {% callout type="info" %} | ||
| If a node does not yet advertise exec approval capabilities, edit its `~/.openclaw/exec-approvals.json` file directly. You can also use the CLI: `openclaw approvals`. | ||
| {% /callout %} | ||
|
|
||
| ## Related | ||
|
|
||
| - [KiloClaw Dashboard](/docs/automate/kiloclaw/dashboard) | ||
| - [KiloClaw Overview](/docs/automate/kiloclaw/overview) | ||
| - [Connecting Chat Platforms](/docs/automate/kiloclaw/chat-platforms) |
158 changes: 158 additions & 0 deletions
158
packages/kilo-docs/pages/automate/kiloclaw/dashboard.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,158 @@ | ||
| --- | ||
| title: "KiloClaw Dashboard Reference" | ||
| description: "Managing your KiloClaw instance from the dashboard" | ||
| --- | ||
|
|
||
| # KiloClaw Dashboard | ||
|
|
||
| This page covers everything you can do from the KiloClaw dashboard. For getting started, see [KiloClaw Overview](/docs/automate/kiloclaw/overview). | ||
|
|
||
| {% image src="/docs/img/kiloclaw/dashboard.png" alt="Connect account screen" width="800" caption="The KiloClaw Dashboard" /%} | ||
olearycrew marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| ## Instance Status | ||
|
|
||
| Your instance is always in one of these states as indicated by the status label at the top of your dashboard: | ||
|
|
||
| | Status | Label | Meaning | | ||
| | --------------- | --------------- | ------------------------------------------------------------- | | ||
| | **Running** | Machine Online | Your agent is online and reachable | | ||
| | **Stopped** | Machine Stopped | The machine is off, but all your files and data are preserved | | ||
| | **Provisioned** | Provisioned | Your instance has been created but never started | | ||
| | **Destroying** | Destroying | The instance is being permanently deleted | | ||
|
|
||
| ## Instance Controls | ||
|
|
||
| There are four actions you can take on your instance. Which ones are available depends on the current status. | ||
|
|
||
| ### ▶️ Start Machine | ||
|
|
||
| Boots your instance. If this is the first time starting after provisioning, the machine is created; otherwise, the existing machine resumes. Can take up to 60 seconds. | ||
|
|
||
| Available when the instance is **stopped** or **provisioned**. | ||
|
|
||
| ### 🔄 Restart OpenClaw | ||
|
|
||
| Restarts just the OpenClaw process without rebooting the machine. This is a quick way to recover from a process-level issue — active sessions will briefly disconnect and reconnect automatically. | ||
|
|
||
| Available when the instance is **running**. | ||
|
|
||
| ### ↩️ Redeploy | ||
|
|
||
| Stops the machine, applies the latest platform image and your current configuration (environment variables, secrets, channel tokens), and starts it again. | ||
|
|
||
| **Your files, git repos, cron jobs, and everything on your persistent volume are preserved.** Redeploy is not a factory reset — think of it as "update and restart." | ||
|
|
||
| You should redeploy when: | ||
|
|
||
| - The changelog shows "Redeploy Required" or "Redeploy Suggested" | ||
| - You've changed channel tokens or secrets in Settings | ||
| - You want to pick up the latest platform updates | ||
|
|
||
| Available when the instance is **running**. | ||
|
|
||
| ### 🩺 OpenClaw Doctor | ||
|
|
||
| Runs diagnostics and automatically fixes common configuration issues. This is the recommended first step when something isn't working. Output is shown in real time. | ||
|
|
||
| Available when the instance is **running**. | ||
|
|
||
| ## Gateway Process | ||
|
|
||
| The Gateway Process tab shows the health of the OpenClaw process running inside your machine: | ||
|
|
||
| - **State** — Whether the process is Running, Stopped, Starting, Stopping, Crashed, or Shutting Down | ||
| - **Uptime** — How long it's been running since the last start | ||
| - **Restarts** — How many times the process has been automatically restarted | ||
| - **Last Exit** — The exit code and timestamp from the last time the process stopped or crashed | ||
|
|
||
| If the gateway crashes, it's automatically restarted. The machine itself can be running even when the gateway process is down — they're independent. | ||
|
|
||
| {% callout type="note" %} | ||
| Gateway process info is only available when the machine is running. | ||
| {% /callout %} | ||
|
|
||
| ## Settings | ||
|
|
||
| ### Changing the Model | ||
|
|
||
| Select a model from the dropdown and click **Save & Provision**. The API key is platform-managed and refreshes automatically when you save — you never need to enter one. The key has a 30-day expiry. | ||
|
|
||
| ### Channels | ||
|
|
||
| You can connect Telegram, Discord, and Slack by entering bot tokens in the Settings tab. See [Connecting Chat Platforms](/docs/automate/kiloclaw/chat-platforms) for setup instructions. | ||
|
|
||
| {% callout type="info" %} | ||
| After saving channel tokens, you need to **Redeploy** or **Restart OpenClaw** for the changes to take effect. | ||
| {% /callout %} | ||
|
|
||
| ### Stop and Destroy | ||
|
|
||
| At the bottom of Settings: | ||
|
|
||
| - **Stop Instance** — Shuts down the machine. All your data is preserved and you can start it again later. | ||
| - **Destroy Instance** — Permanently deletes your instance and all its data, including files, configuration, and workspace. This cannot be undone. | ||
|
|
||
| ## Accessing the Control UI | ||
|
|
||
| When your instance is running you can access the [OpenClaw Control UI](/docs/automate/kiloclaw/control-ui) — a browser-based dashboard for managing your agent, channels, sessions, exec approvals, and more: | ||
|
|
||
| 1. Click **Access Code** to generate a one-time code (expires in 10 minutes) | ||
| 2. Click **Open** to launch the OpenClaw web interface in a new tab | ||
| 3. Enter the access code to authenticate | ||
|
|
||
| See the [Control UI reference](/docs/automate/kiloclaw/control-ui) for a full overview of its capabilities. | ||
|
|
||
| {% callout type="warning" %} | ||
| Do not use the **Update** feature in the OpenClaw Control UI to update KiloClaw. Use **Redeploy** from the KiloClaw Dashboard instead. Updating via the Control UI will not apply the correct KiloClaw platform image and may break your instance. | ||
| {% /callout %} | ||
|
|
||
| ## Pairing Requests | ||
|
|
||
| When your instance is running, the dashboard shows any pending pairing requests. These appear when: | ||
|
|
||
| - Someone messages your bot on Telegram, Discord, or Slack for the first time | ||
| - A new browser or device connects to the Control UI | ||
|
|
||
| You need to **approve** each request before the user or device can interact with your agent. See [Pairing Requests](/docs/automate/kiloclaw/chat-platforms#pairing-requests) for details. | ||
|
|
||
| ## Changelog | ||
|
|
||
| The dashboard shows recent KiloClaw platform updates. Each entry is tagged as a **feature** or **bugfix**, and some include a deploy hint: | ||
|
|
||
| - **Redeploy Required** — You must redeploy for this change to take effect on your instance | ||
| - **Redeploy Suggested** — Redeploying is recommended but not strictly necessary | ||
|
|
||
| ## Instance Lifecycle | ||
|
|
||
| | Action | What Happens | Data Preserved? | | ||
| | ---------------------- | --------------------------------------------------------------------- | --------------- | | ||
| | **Create & Provision** | Allocates storage in the best region available and saves your config. | N/A | | ||
| | **Start Machine** | Boots the machine and starts OpenClaw. | Yes | | ||
| | **Stop Instance** | Shuts down the machine. | Yes | | ||
| | **Restart OpenClaw** | Restarts the OpenClaw process. Machine stays up. | Yes | | ||
| | **Redeploy** | Stops, updates, and restarts the machine. | Yes | | ||
| | **Destroy Instance** | Permanently deletes everything. | No | | ||
|
|
||
| ## Machine Specs | ||
|
|
||
| Each instance runs on a dedicated machine — there is no shared infrastructure between users. | ||
|
|
||
| | Spec | Value | | ||
| | ------- | -------------------- | | ||
| | CPU | 2 shared vCPUs | | ||
| | Memory | 3 GB RAM | | ||
| | Storage | 10 GB persistent SSD | | ||
|
|
||
| Your storage is region-pinned — once your instance is created in a region (e.g., DFW), it always runs there. OpenClaw config lives at `/root/.openclaw` and the workspace at `/root/clawd`. | ||
|
|
||
| {% callout type="info" %} | ||
| These are the beta specifications for machines and subject to change without notice. | ||
| {% /callout %} | ||
|
|
||
| ## Related | ||
|
|
||
| - [KiloClaw Overview](/docs/automate/kiloclaw/overview) | ||
| - [OpenClaw Control UI](/docs/automate/kiloclaw/control-ui) | ||
| - [Connecting Chat Platforms](/docs/automate/kiloclaw/chat-platforms) | ||
| - [Troubleshooting](/docs/automate/kiloclaw/troubleshooting) | ||
| - [KiloClaw Pricing](/docs/automate/kiloclaw/pricing) | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.