OpenClaw 的智能 Shell 命令检测与执行器,自动识别终端命令(系统内置命令、$PATH 可执行文件、历史匹配…)
终端杀手 QQ 智能命令路由器, 直接执行 shell 命令, 绕过 LLM 进行即时终端操作
功能概述
终端杀手 QQ 智能命令路由器, 直接执行 shell 命令, 绕过 LLM 进行即时终端操作是一项面向实际任务的技能,主要用于XQQ 快速启动;终端杀手在用户输入时自动激活。
核心要点
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
使用与执行
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
结果检查与注意事项
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
Terminal Killer
🚀 智能命令路由工具,直接执行 Shell 命令,绕过 LLM,实现终端操作的即时响应。
快速开始
当用户输入匹配命令模式时,Terminal Killer 会自动激活。无需特殊语法——只需自然地输入命令即可:
ls -la # → 直接执行 git status # → 直接执行 npm install # → 直接执行 "help me code" # → 交由 LLM 正常处理
工作原理
检测流程
用户输入 → 命令检测器 → 决策
├── 命令 → exec(直接执行)
└── 任务 → LLM(正常处理)
环境加载
Terminal Killer 在执行命令前会自动加载您的 Shell 环境:
- 自动识别您的 Shell(zsh、bash 等)
- 加载初始化文件(
~/.zshrc、~/.bash_profile、~/.bashrc等) - 继承完整 PATH —— 包括 Android SDK、Homebrew 等自定义路径
- 保留全部环境变量 —— 所有
export VAR=value设置均生效
这确保了 adb、kubectl、docker 等命令的行为与您在终端中完全一致!
检测规则(按顺序执行)
- 系统内置命令 —— 对照操作系统特定的内置命令列表进行检查
- PATH 可执行文件 —— 扫描
$PATH中是否存在匹配的可执行文件 - 历史记录匹配 —— 与近期 Shell 历史记录比对
- 命令模式分析 —— 基于操作符、路径等特征进行启发式分析
- 置信度评分 —— 综合各项信号得出最终决策
检测细节
1. 系统内置命令
将输入与当前操作系统已知的内置命令进行比对:
| macOS/Linux | Windows(PowerShell) | Windows(CMD) |
|---|---|---|
cd、pwd、ls |
cd、pwd、ls |
cd、dir、cls |
echo、cat |
echo、cat |
echo、type |
mkdir、rm、cp |
mkdir、rm、cp |
mkdir、del、copy |
grep、find |
grep、find |
findstr |
git、npm、node |
git、npm、node |
git、npm、node |
完整列表请参阅 references/builtins/。
2. PATH 可执行文件检查
扫描 $PATH 目录,验证首词是否为可执行文件:
# 使用 `which`(Unix)或 `Get-Command`(PowerShell) which# 若存在则返回路径
3. 历史记录匹配
将输入与近期 Shell 历史记录(~/.zsh_history、~/.bash_history、PowerShell 历史)进行比对:
- 完全匹配 → 高置信度
- 前缀相似 → 中等置信度
- 无匹配 → 继续后续检查
4. 命令模式分析
基于命令特征进行启发式评分:
| 模式 | 分值 | 示例 |
|---|---|---|
| 以已知命令开头 | +3 | git status |
| 包含 Shell 操作符 | +2 | `ls |
| 包含路径引用 | +2 | cd ~/projects |
| 包含标志/参数 | +1 | npm install --save |
包含 $ 变量 |
+2 | echo $HOME |
| 包含重定向 | +2 | cat file > out |
| 形似自然语言 | -3 | "please help me" |
| 包含问号 | -2 | "how do I...?" |
5. 置信度阈值
分值 >= 5 → 执行(高置信度命令) 分值 3–4 → 询问(不确定,需用户确认) 分值 < 3 → 交由 LLM 处理(大概率是任务/请求)
使用方法
自动激活
满足以下任一条件时,Terminal Killer 将自动触发:
- 用户输入以动词类词汇开头
- 输入较短(通常少于 20 个词)
- 不含疑问词(what、how、why 等)
交互式命令
Terminal Killer 自动识别并处理交互式 Shell 命令:
已识别的模式:
adb shell—— 在新终端中启动 adb shellssh user@host—— 在新窗口中打开 SSH 会话docker exec -it container bash—— 在容器内启动 Shellmysql -u root -p—— 启动 MySQL 客户端python、node、bash—— 在新窗口中启动 REPL
行为特性:
- ✅ 自动打开新 Terminal 窗口(macOS)
- ✅ 加载完整的 Shell 环境(
~/.zshrc等) - ✅ 主会话保持空闲,可继续执行其他任务
手动覆盖
强制执行命令:
!ls -la # 即使置信度不足也强制执行
强制交由 LLM 处理:
?? explain git # 即使形似命令也强制交由 LLM
安全特性
危险命令检测
自动标记潜在高危操作:
rm -rf /或类似破坏性模式sudo命令(需显式批准)dd、mkfs、chmod 777- 向可疑主机发起的网络操作
- 修改系统文件的命令
批准工作流
检测到危险命令! 命令:rm -rf ./important-folder 风险等级:HIGH —— 递归删除 [批准] [拒绝] [编辑]
审计日志
所有已执行命令均记录至:
~/.openclaw/logs/terminal-killer.log
日志格式:
{
"timestamp": "2026-02-28T12:00:00Z",
"command": "ls -la",
"confidence": 8,
"execution_time_ms": 45,
"output_lines": 12,
"status": "success"
}
配置
设置项
在您的 OpenClaw 配置中添加:
terminal-killer:
enabled: true
confidence_threshold: 5
require_approval_for:
- "rm -rf"
- "sudo"
- "dd"
- "mkfs"
log_executions: true
max_history_check: 100 # 检查的历史记录条目数
平台检测
自动检测操作系统并动态调整检测规则:
# 运行时自动检测 uname -s # Darwin、Linux 等
实现细节
核心脚本
主检测逻辑见 scripts/detect-command.js。
辅助脚本
scripts/check-path.js—— 验证 PATH 中是否存在可执行文件scripts/check-history.js—— 与 Shell 历史记录比对scripts/score-command.js—— 计算置信度得分scripts/safety-check.js—— 检测危险模式
测试
完整测试指南请参阅 references/TESTING.md。
快速测试:
# 运行测试套件 node scripts/test-detector.js # 测试特定命令 node scripts/detect-command.js "ls -la" node scripts/detect-command.js "help me write code"
限制
- 需要 Shell 访问权限(在沙箱环境中不可用)
- 历史记录检查需具备对 Shell 历史文件的读取权限
- Windows 平台需配合 PowerShell 或 WSL 才能获得完整功能
- 部分命令可能存在误报(自然语言被误判为命令)
参与贡献
如需为您的平台新增内置命令,请按以下步骤操作:
- 编辑
references/builtins/.txt - 使用
scripts/test-detector.js进行测试 - 提交 PR,并附上平台验证信息
👤 关于作者
作者: Cosper
联系邮箱: cosperypf@163.com
许可证: MIT
📬 联系方式
对该能力感兴趣?欢迎提出建议、报告问题,或参与协作开发!
- 📧 邮箱: cosperypf@163.com
- 💡 建议反馈: 欢迎随时提出!
- 🐛 问题报告: 请注明平台、OpenClaw 版本及复现输入示例
- 🤝 协作开发: 欢迎各类贡献与改进
🙏 致谢
本项目专为 OpenClaw 社区构建。感谢所有为生态建设贡献力量的开发者!
📝 更新日志
v1.1.0(2026-02-28)
🎯 核心改进:
✅ 忠实命令执行
- 命令严格按原始输入执行
- 不作任何修改、优化或补充
- 原始输出完整保留(含进度条、特殊字符等)
🪟 交互式 Shell 检测
- 自动识别交互式命令(
adb shell、ssh、docker exec -it等) - 为交互式会话自动打开新 Terminal 窗口
- 主会话保持空闲,支持并行任务处理
- 完整加载 Shell 环境(
~/.zshrc等)
- 自动识别交互式命令(
📜 长输出处理
- 检测输出长度是否超过 2000 字节
- 显示前 200 字符预览
- 提示用户在新 Terminal 窗口中查看完整输出
- 避免长内容导致界面渲染异常
📦 更新文件:
scripts/index.js—— 新增长输出检测与交互式命令处理逻辑scripts/interactive.js—— 新 Terminal 窗口启动器SKILL.md—— 文档更新README.md—— 补充使用示例clawhub.json—— 版本号升级至 1.1.0
v1.0.0(2026-02-28)
初始发布:
- 智能命令检测(系统内置命令、PATH、历史记录、模式分析)
- 跨平台支持(macOS/Linux/Windows)
- 环境变量加载(
~/.zshrc等) - 危险命令检测
- 置信度评分系统
版本: 1.1.0
创建时间: 2026-02-28
最后更新: 2026-02-28
热门AI工具
相关专题
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.7万人学习
共6课时 | 54.7万人学习
最新文章