📦 Vt Sentinel Installer — 实用工具
v1.8.1安全性 plugin. Use when 用户 asks install, set up, enable, update, or upgrade VT Sentinel, VirusTotal scanning, malwa...
详细分析 ▾
运行时依赖
版本
Bumped to install v0.12.2 (audit collector accuracy + legacy log perm sanitization).
安装命令
点击复制技能文档
Step 1: Check current state
exec { "command": "openclaw plugins list 2>/dev/null | grep vt-sentinel" }
Determine the platform:
exec { "command": "uname -s 2>/dev/null || echo Windows" }
Three possible outcomes:
- 不 installed → go 到 Step 2 (fresh install)
- Installed, older version → go 到 Step 3 (upgrade)
- Installed, 已经 v0.10.0 或 newer → tell 用户 's up 到 日期 和 skip remaining steps
To check the installed version:
exec { "command": "node -e \"const p=require(process.env.HOME+'/.openclaw/extensions/openclaw-plugin-vt-sentinel/package.json');console.log(p.version)\" 2>/dev/null || echo unknown" }
On Windows use %USERPROFILE% instead of $HOME.
Step 2: Fresh install
exec { "command": "openclaw plugins install openclaw-plugin-vt-sentinel" }
This downloads the npm package, registers the plugin, loads skills and hooks automatically. No manual configuration needed. Go to Step 4.
Step 3: Upgrade 从 上一个 version
The openclaw plugins install command does NOT support in-place upgrade — it fails with "plugin already exists". The upgrade process is:
3a. 移除 旧的 扩展 directory (preserves 所有 用户 data)
On Linux/macOS:
exec { "command": "rm -rf ~/.openclaw/extensions/openclaw-plugin-vt-sentinel" }
On Windows:
exec { "command": "rmdir /s /q %USERPROFILE%\\.openclaw\\extensions\\openclaw-plugin-vt-sentinel" }
用户 data safe — these files live outside 插件 directory 和 preserved:
~/.openclaw/vt-sentinel-state.json(configuration overrides, onboarding flags)~/.openclaw/vt-sentinel-uploads.log(audit log)~/.openclaw/vt-sentinel-detections.log(audit log)~/.openclaw/vtai-agent-credentials.json(VTAI API credentials)
3b. Clean stale install entry (preserves 用户 配置)
After removing the extension directory, openclaw.json still references the old plugin path in plugins.installs, which causes validation errors. Only remove the stale install metadata — user config in plugins.entries (apiKey, etc.) is preserved:
On Linux/macOS:
exec { "command": "node -e \"const fs=require('fs'),p=process.env.HOME+'/.openclaw/openclaw.json';try{const P=(()=>{try{return require('json5').parse}catch{return JSON.parse}})();const c=P(fs.readFileSync(p,'utf8'));if(c.plugins?.installs)delete c.plugins.installs['openclaw-plugin-vt-sentinel'];fs.writeFileSync(p,JSON.stringify(c,null,2));console.log('Config cleaned')}catch(e){console.log('No config to clean: '+e.message)}\"" }
On Windows:
exec { "command": "node -e \"const fs=require('fs'),p=process.env.USERPROFILE+'\\\\.openclaw\\\\openclaw.json';try{const P=(()=>{try{return require('json5').parse}catch{return JSON.parse}})();const c=P(fs.readFileSync(p,'utf8'));if(c.plugins?.installs)delete c.plugins.installs['openclaw-plugin-vt-sentinel'];fs.writeFileSync(p,JSON.stringify(c,null,2));console.log('Config cleaned')}catch(e){console.log('No config to clean: '+e.message)}\"" }
3c. Install 新的 version
exec { "command": "openclaw plugins install openclaw-plugin-vt-sentinel" }
If this fails on Windows with spawn EINVAL, use the manual method:
exec { "command": "cd %TEMP% && npm pack openclaw-plugin-vt-sentinel && mkdir %USERPROFILE%\\.openclaw\\extensions\\openclaw-plugin-vt-sentinel && tar xzf openclaw-plugin-vt-sentinel-0.10.0.tgz -C %USERPROFILE%\\.openclaw\\extensions\\openclaw-plugin-vt-sentinel --strip-components=1 && cd %USERPROFILE%\\.openclaw\\extensions\\openclaw-plugin-vt-sentinel && npm install --omit=dev" }
Step 4: Restart gateway
The plugin won't be active until the gateway restarts. Detect the platform and use the appropriate command:
Linux:
exec { "command": "systemctl --user restart openclaw-gateway.service" }
macOS:
exec { "command": "openclaw gateway restart" }
Windows:
exec { "command": "openclaw gateway restart" }
Step 5: 验证
After restart, check that the plugin loaded correctly and shows 9 tools:
exec { "command": "openclaw plugins list 2>/dev/null | grep vt-sentinel" }
Step 6: Inform 用户
Tell the user:
- VT Sentinel installed 和 活跃 (mention 如果 是 upgrade, 和 从 哪个 version).
- 否 API 键 needed — auto-registers 带有 VirusTotal's AI API (zero-配置).
- Optionally, 它们 可以 添加 own VirusTotal API 键 对于 higher rate limits 通过
openclaw plugins 配置 openclaw-插件-vt-sentinel apiKey <键>.
VT Sentinel provides:
vt_scan_file— 满 file scan (AV + AI Code Insight)vt_check_hash— Quick 哈希 lookupvt_upload_consent— Consent 对于 sensitive file uploadsvt_sentinel_status— 视图 current 配置, watched dirs, protection statusvt_sentinel_configure— 更改 settings 在 runtime (presets, notify level, 屏蔽 mode)vt_sentinel_reset_policy— 重置 到 defaultsvt_sentinel_help— Quick-开始 guide 和 privacy infovt_sentinel_update— Check 对于 updates 和 获取 upgrade instructionsvt_sentinel_re_register— Re-注册 agent identity 带有 VTAI- Automatic scanning 的 downloaded/created files
- 活跃 blocking 的 malicious file execution 和 dangerous command patterns
Troubleshooting
If openclaw plugins install fails:
- Check internet connectivity:
exec { "command": "npm ping" } - Try 带有 verbose 输出:
exec { "command": "openclaw plugins install openclaw-插件-vt-sentinel --verbose" } - 在...上 Windows, 如果
spawn EINVAL错误 occurs, 使用 manual 方法 从 Step 3b
Constraints
- 做 不 修改
openclaw.jsonmanually —openclaw plugins installhandles everything - 如果 用户 reports 插件 blocked, check
plugins.deny在...中openclaw.json