{"_id":"@10iii/air-openclaw-plugin","_rev":"4-c823eb4118a6d423e2846bf542065bd7","name":"@10iii/air-openclaw-plugin","dist-tags":{"latest":"0.2.18"},"versions":{"0.2.9":{"name":"@10iii/air-openclaw-plugin","version":"0.2.9","keywords":["ai","llm","openclaw","plugin","compression","ai-tools"],"license":"MIT","_id":"@10iii/air-openclaw-plugin@0.2.9","maintainers":[{"name":"10iii","email":"10iiishisan@gmail.com"}],"homepage":"https://github.com/10iii/air#readme","bugs":{"url":"https://github.com/10iii/air/issues"},"dist":{"shasum":"00bf2070396e9f5e681b74ea681b67ccf2b0f22c","tarball":"https://registry.npmjs.org/@10iii/air-openclaw-plugin/-/air-openclaw-plugin-0.2.9.tgz","fileCount":5,"integrity":"sha512-o0zhp1fCHx4+40y4jLnylpvjGsQ60qPRVdiJbXwqq3EVesYRnv4ui2lWPjah4CpNwiujuiTaSRagQbeV+KrqRw==","signatures":[{"sig":"MEYCIQCAU2eCFe1W0lNGLkuja+V//yEtSJwgPuU0M4yAMqfNPAIhAKQ28GJg24o82M9vHQtg3/QWKadYwROzu/0tiHyomD0p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21652},"main":"dist/index.js","type":"module","_from":"file:10iii-air-openclaw-plugin-0.2.9.tgz","types":"dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"10iii","email":"10iiishisan@gmail.com"},"_resolved":"/tmp/c2c3d1c96cfd4fd22494a5b197a29b3b/10iii-air-openclaw-plugin-0.2.9.tgz","_integrity":"sha512-o0zhp1fCHx4+40y4jLnylpvjGsQ60qPRVdiJbXwqq3EVesYRnv4ui2lWPjah4CpNwiujuiTaSRagQbeV+KrqRw==","repository":{"url":"git+https://github.com/10iii/air.git","type":"git","directory":"packages/openclaw-plugin"},"_npmVersion":"10.8.2","description":"OpenClaw plugin for AIR - AI-optimized tool output compression","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@10iii/air-core":"0.2.9"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.7.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/air-openclaw-plugin_0.2.9_1774757272385_0.6351846387604678","host":"s3://npm-registry-packages-npm-production"}},"0.2.13":{"name":"@10iii/air-openclaw-plugin","version":"0.2.13","keywords":["ai","llm","openclaw","plugin","compression","ai-tools"],"license":"MIT","_id":"@10iii/air-openclaw-plugin@0.2.13","maintainers":[{"name":"10iii","email":"10iiishisan@gmail.com"}],"homepage":"https://github.com/10iii/air#readme","bugs":{"url":"https://github.com/10iii/air/issues"},"dist":{"shasum":"02102bc207cc56398170c1e78d74dd608b5f92df","tarball":"https://registry.npmjs.org/@10iii/air-openclaw-plugin/-/air-openclaw-plugin-0.2.13.tgz","fileCount":5,"integrity":"sha512-ITIz/ejO7X1A2LSFqBo4pjjADupQVeHZijlzb+TgAFxqgLrXlfDEBQ5ltsJC7tIYrbJKqoBX4GXsW5Uc574nTw==","signatures":[{"sig":"MEQCIE4t1uV8M04F2HGuqC6x9BHL0+7W+n0kr1dUs3PI5ZxBAiAfoGNMj60LZKW5DCJgobmSldyUYrdZOdHNSRBFOx3Prw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21654},"main":"dist/index.js","type":"module","_from":"file:10iii-air-openclaw-plugin-0.2.13.tgz","types":"dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"10iii","email":"10iiishisan@gmail.com"},"_resolved":"/tmp/751a7ee0854826fbffc9ded03b9b1c72/10iii-air-openclaw-plugin-0.2.13.tgz","_integrity":"sha512-ITIz/ejO7X1A2LSFqBo4pjjADupQVeHZijlzb+TgAFxqgLrXlfDEBQ5ltsJC7tIYrbJKqoBX4GXsW5Uc574nTw==","repository":{"url":"git+https://github.com/10iii/air.git","type":"git","directory":"packages/openclaw-plugin"},"_npmVersion":"10.8.2","description":"OpenClaw plugin for AIR - AI-optimized tool output compression","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@10iii/air-core":"0.2.13"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.7.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/air-openclaw-plugin_0.2.13_1774876617723_0.9957221985178177","host":"s3://npm-registry-packages-npm-production"}},"0.2.17":{"name":"@10iii/air-openclaw-plugin","version":"0.2.17","keywords":["ai","llm","openclaw","plugin","compression","ai-tools"],"license":"MIT","_id":"@10iii/air-openclaw-plugin@0.2.17","maintainers":[{"name":"10iii","email":"10iiishisan@gmail.com"}],"homepage":"https://github.com/10iii/air#readme","bugs":{"url":"https://github.com/10iii/air/issues"},"dist":{"shasum":"fef33fb6407f2c9c9f0ba4f14f65ecb6c5312734","tarball":"https://registry.npmjs.org/@10iii/air-openclaw-plugin/-/air-openclaw-plugin-0.2.17.tgz","fileCount":5,"integrity":"sha512-IkXdsxYTnntieoEYOfCzkbYOeOUTfbMJjmWEzmGoGgsDTzGUvbM+GH4rk0qhV+vEURhar/xOm6eZ8sWC9e/Vxw==","signatures":[{"sig":"MEQCIDVFAV9qQDfAj1i9FRUSvenWR1E0Mrb1sr0g+ii6RiDDAiAQxrk3ov9TwQYWNnQ3g/E88bqxRp+Os3N4l4RITnnLCg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21654},"main":"dist/index.js","type":"module","_from":"file:10iii-air-openclaw-plugin-0.2.17.tgz","types":"dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"10iii","email":"10iiishisan@gmail.com"},"_resolved":"/tmp/1824e1d7a6eef1b3b67ad87a7e141a56/10iii-air-openclaw-plugin-0.2.17.tgz","_integrity":"sha512-IkXdsxYTnntieoEYOfCzkbYOeOUTfbMJjmWEzmGoGgsDTzGUvbM+GH4rk0qhV+vEURhar/xOm6eZ8sWC9e/Vxw==","repository":{"url":"git+https://github.com/10iii/air.git","type":"git","directory":"packages/openclaw-plugin"},"_npmVersion":"10.8.2","description":"OpenClaw plugin for AIR - AI-optimized tool output compression","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@10iii/air-core":"0.2.17"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.7.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/air-openclaw-plugin_0.2.17_1774944458800_0.5833027913996762","host":"s3://npm-registry-packages-npm-production"}},"0.2.18":{"name":"@10iii/air-openclaw-plugin","version":"0.2.18","description":"OpenClaw plugin for AIR - AI-optimized tool output compression","type":"module","license":"MIT","repository":{"type":"git","url":"git+https://github.com/10iii/air.git","directory":"packages/openclaw-plugin"},"homepage":"https://github.com/10iii/air#readme","bugs":{"url":"https://github.com/10iii/air/issues"},"keywords":["ai","llm","openclaw","plugin","compression","ai-tools"],"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"engines":{"node":">=18"},"dependencies":{"@10iii/air-core":"0.2.18"},"devDependencies":{"@types/node":"^25.3.5","tsup":"^8.0.0","typescript":"^5.7.3","vitest":"^3.0.0"},"scripts":{"build":"tsup","typecheck":"tsc --noEmit","test":"vitest run","test:watch":"vitest"},"_id":"@10iii/air-openclaw-plugin@0.2.18","_integrity":"sha512-7/1NLBJ1RAv3xVXgko6P8SJJSb8dLX5rO9zPjW0vVZLRZAe24NHsndQYzh5FDrF/q9nuCm7DqlC2sCK6q5xBRw==","_resolved":"/tmp/4fa72519f07c12a043f3dfa257cd7fa5/10iii-air-openclaw-plugin-0.2.18.tgz","_from":"file:10iii-air-openclaw-plugin-0.2.18.tgz","_nodeVersion":"20.20.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-7/1NLBJ1RAv3xVXgko6P8SJJSb8dLX5rO9zPjW0vVZLRZAe24NHsndQYzh5FDrF/q9nuCm7DqlC2sCK6q5xBRw==","shasum":"01e76dcf72e1be3adb4c1c537d7bf0f13ee948f8","tarball":"https://registry.npmjs.org/@10iii/air-openclaw-plugin/-/air-openclaw-plugin-0.2.18.tgz","fileCount":5,"unpackedSize":21654,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEbaspHdVAHuiPVFyk9sKx0SibaNGd+rlYpzRwkJvg7KAiA7Z5XfyGx+8fJyJKJPwgodKMl+dHt69mFGN5I/sQykMg=="}]},"_npmUser":{"name":"10iii","email":"10iiishisan@gmail.com"},"directories":{},"maintainers":[{"name":"10iii","email":"10iiishisan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/air-openclaw-plugin_0.2.18_1774973519371_0.3591624198189691"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-29T04:07:52.279Z","modified":"2026-03-31T16:11:59.627Z","0.2.9":"2026-03-29T04:07:52.528Z","0.2.13":"2026-03-30T13:16:57.885Z","0.2.17":"2026-03-31T08:07:38.949Z","0.2.18":"2026-03-31T16:11:59.512Z"},"bugs":{"url":"https://github.com/10iii/air/issues"},"license":"MIT","homepage":"https://github.com/10iii/air#readme","keywords":["ai","llm","openclaw","plugin","compression","ai-tools"],"repository":{"type":"git","url":"git+https://github.com/10iii/air.git","directory":"packages/openclaw-plugin"},"description":"OpenClaw plugin for AIR - AI-optimized tool output compression","maintainers":[{"name":"10iii","email":"10iiishisan@gmail.com"}],"readme":"# @10iii/air-openclaw-plugin\n\nOpenClaw plugin for AIR (AI-optimized Information Representation) - transparent compression for tool outputs.\n\n> **For AI Agents**: See the unified installation guide at [AGENT-INSTALL.md](../../docs/guide/AGENT-INSTALL.md)\n\n## Installation\n\n```bash\n# Global install\nnpm install -g @10iii/air-openclaw-plugin\n```\n\n## Usage\n\nAdd the plugin to your OpenClaw configuration:\n\n```json\n{\n  \"plugins\": [\"@10iii/air-openclaw-plugin\"]\n}\n```\n\nOr programmatically:\n\n```typescript\nimport airPlugin from \"@10iii/air-openclaw-plugin\";\n\n// In your OpenClaw setup\nairPlugin.activate(api);\n```\n\n## Features\n\n### Transparent Compression\n\nTool outputs are automatically compressed before being persisted to the session. The LLM sees compressed output with a marker:\n\n```\n... compressed content ...\n[AIR: compressed 63% | air_off() for raw]\n```\n\n### Control Tools\n\n#### `air_on()`\n\nRe-enable compression (default state).\n\n#### `air_off(calls?: number)`\n\nTemporarily disable compression. Auto-expires after N tool calls (default: 10).\n\n```\nLLM: Can you show me the raw output?\nLLM calls: air_off(5)\nResponse: AIR compression disabled for the next 5 tool calls.\n```\n\n### Whitelist Strategy\n\nOnly 5 tools are compressed - all others pass through unchanged:\n\n| Tool | Compressor | Description |\n|------|------------|-------------|\n| `exec` | BashCompressor | Terminal command output |\n| `process` | BashCompressor | Process output |\n| `read` | ReadCompressor | File content |\n| `browser` | WebCompressor | Page snapshots |\n| `web_fetch` | WebCompressor | Fetched web pages |\n| `web_search` | SearchCompressor | Search results |\n\n## Configuration\n\n### Environment Variables\n\n```bash\n# Minimum compression gain (default: 200 chars)\nAIR_MIN_GAIN=200\n\n# Default calls before air_off auto-expires\nAIR_DEFAULT_DISABLED_CALLS=10\n```\n\n### Recommended OpenClaw Settings\n\nFor better compression results, increase the web fetch limits:\n\n```json\n{\n  \"webFetch\": {\n    \"maxChars\": 100000,\n    \"maxCharsCap\": 200000,\n    \"maxResponseBytes\": 10000000\n  }\n}\n```\n\n## API\n\n### `activate(api: PluginApi)`\n\nActivate the plugin. Called by OpenClaw when the plugin is loaded.\n\n### `deactivate()`\n\nDeactivate the plugin. Called by OpenClaw when the plugin is unloaded.\n\n### Utilities (for extension/testing)\n\n```typescript\nimport {\n  selectCompressor,\n  shouldCompress,\n  getCompressedTools,\n  isEnabled,\n  enable,\n  disable,\n  reset,\n} from \"@10iii/air-openclaw-plugin\";\n```\n\n## Design\n\nSee [OPENCLAW-PLUGIN-DESIGN.md](../../docs/OPENCLAW-PLUGIN-DESIGN.md) for detailed design documentation.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}