87 lines
2.1 KiB
Markdown
87 lines
2.1 KiB
Markdown
# RTK Plugin for OpenClaw
|
|
|
|
Transparently rewrites shell commands executed via OpenClaw's `exec` tool to their RTK equivalents, achieving 60-90% LLM token savings.
|
|
|
|
This is the OpenClaw equivalent of the Claude Code hooks in `hooks/rtk-rewrite.sh`.
|
|
|
|
## How it works
|
|
|
|
The plugin registers a `before_tool_call` hook that intercepts `exec` tool calls. When the agent runs a command like `git status`, the plugin delegates to `rtk rewrite` which returns the optimized command (e.g. `rtk git status`). The compressed output enters the agent's context window, saving tokens.
|
|
|
|
All rewrite logic lives in RTK itself (`rtk rewrite`). This plugin is a thin delegate -- when new filters are added to RTK, the plugin picks them up automatically with zero changes.
|
|
|
|
## Installation
|
|
|
|
### Prerequisites
|
|
|
|
RTK must be installed and available in `$PATH`:
|
|
|
|
```bash
|
|
brew install rtk
|
|
# or
|
|
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh
|
|
```
|
|
|
|
### Install the plugin
|
|
|
|
```bash
|
|
# Copy the plugin to OpenClaw's extensions directory
|
|
mkdir -p ~/.openclaw/extensions/rtk-rewrite
|
|
cp openclaw/index.ts openclaw/openclaw.plugin.json ~/.openclaw/extensions/rtk-rewrite/
|
|
|
|
# Restart the gateway
|
|
openclaw gateway restart
|
|
```
|
|
|
|
### Or install via OpenClaw CLI
|
|
|
|
```bash
|
|
openclaw plugins install ./openclaw
|
|
```
|
|
|
|
## Configuration
|
|
|
|
In `openclaw.json`:
|
|
|
|
```json5
|
|
{
|
|
plugins: {
|
|
entries: {
|
|
"rtk-rewrite": {
|
|
enabled: true,
|
|
config: {
|
|
enabled: true, // Toggle rewriting on/off
|
|
verbose: false // Log rewrites to console
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## What gets rewritten
|
|
|
|
Everything that `rtk rewrite` supports (30+ commands). See the [full command list](https://github.com/rtk-ai/rtk#commands).
|
|
|
|
## What's NOT rewritten
|
|
|
|
Handled by `rtk rewrite` guards:
|
|
- Commands already using `rtk`
|
|
- Piped commands (`|`, `&&`, `;`)
|
|
- Heredocs (`<<`)
|
|
- Commands without an RTK filter
|
|
|
|
## Measured savings
|
|
|
|
| Command | Token savings |
|
|
|---------|--------------|
|
|
| `git log --stat` | 87% |
|
|
| `ls -la` | 78% |
|
|
| `git status` | 66% |
|
|
| `grep` (single file) | 52% |
|
|
| `find -name` | 48% |
|
|
|
|
## License
|
|
|
|
Apache 2.0 -- same as RTK.
|