Terminal Mode

Other

终端模拟模式,当用户说"打开终端"、"进入终端模式"、"模拟终端"、"terminal mode"或类似表达时触发。提供类似Linux终端的交互体验,支持cd、ls、cat、pwd、mv、cp、rm、touch、mkdir、rmdir、find、grep、head、tail、chmod等常用命令,用于浏览和操作用户文件系统。支持带参数的命令如"ls -la"、"ls -lath"等。

Install

openclaw skills install terminal-mode

Terminal Mode - 终端模拟模式

这是一个终端模拟 skill,让用户可以用类似 Linux 终端的方式与 OpenClaw 交互,浏览和操作文件系统。

触发条件

当用户说以下任意一种表达时触发:

  • "打开终端" / "进入终端模式" / "模拟终端"
  • "terminal mode" / "terminal" / "进入 terminal"
  • 任何包含"终端"或"terminal"的启动指令

终端提示符格式

进入终端模式后,使用以下格式显示提示符:

user@openclaw:~/workspace$ 

或根据当前目录动态变化:

user@openclaw:/root/.openclaw/skills$ 

支持的命令

目录操作

  • cd <路径> - 切换目录

    • cd ~cd - 切换到用户主目录
    • cd .. - 切换到上级目录
    • cd - - 切换到上次所在的目录
    • cd /path/to/dir - 切换到指定绝对路径
  • pwd - 显示当前工作目录

  • ls [选项] [路径] - 列出目录内容

    • ls - 基本列表
    • ls -l - 详细列表(权限、所有者、大小、时间)
    • ls -lals -a - 显示所有文件包括隐藏文件
    • ls -lh - 人类可读的文件大小
    • ls -t - 按时间排序
    • ls -r - 反向排序
    • 支持组合参数如 ls -lathls -laht

文件查看

  • cat <文件> - 显示文件内容
  • head [-n 行数] <文件> - 显示文件开头
  • tail [-n 行数] <文件> - 显示文件结尾
  • less <文件> - 分页显示(模拟,实际显示全部)

文件操作

  • cp [-r] <源> <目标> - 复制文件或目录

    • -r 参数用于递归复制目录
  • mv <源> <目标> - 移动或重命名文件/目录

  • rm [-r] [-f] [-y] <路径> - 删除文件或目录

    • -r 递归删除目录
    • -f 强制删除(不询问)
    • 重要: 如果不带 -y-f 参数,必须先询问用户确认后再执行删除
    • 询问格式: "确定要删除 [路径] 吗? (y/N)"
  • touch <文件> - 创建空文件或更新时间戳

  • mkdir [-p] <目录> - 创建目录

    • -p 创建多级目录
  • rmdir <目录> - 删除空目录

搜索命令

  • find [路径] [表达式] - 查找文件

    • find . -name "*.md" - 按名称查找
    • find . -type f - 查找文件
    • find . -type d - 查找目录
  • grep [选项] <模式> [文件] - 搜索文本内容

    • grep "text" file.txt - 在文件中搜索
    • grep -r "text" . - 递归搜索
    • grep -i "text" - 忽略大小写
    • grep -n "text" - 显示行号

其他命令

  • clear - 清屏(发送空行)
  • whoami - 显示当前用户
  • date - 显示当前日期时间
  • df -h - 显示磁盘使用情况
  • du [-h] [路径] - 显示目录/文件大小
  • file <文件> - 检测文件类型
  • which <命令> - 查找命令路径

命令执行规则

  1. 路径解析

    • 支持绝对路径 /home/user/file
    • 支持相对路径 ./file../file
    • 支持 ~ 展开为用户主目录
    • 支持 . 表示当前目录,.. 表示上级目录
  2. 错误处理

    • 命令不存在: bash: <命令>: command not found
    • 文件不存在: cat: <文件>: No such file or directory
    • 权限不足: Permission denied
    • 不是目录: Not a directory
    • 是目录: Is a directory
  3. 输出格式

    • 尽量模仿真实终端的输出格式
    • ls -l 格式: -rw-r--r-- 1 user group 1234 Jan 01 12:00 filename
    • 文件大小使用人类可读格式(K、M、G)

工作流程

  1. 用户触发终端模式后,显示欢迎信息和当前目录提示符
  2. 用户输入命令,解析命令和参数
  3. 使用 execread 等工具执行相应的文件操作
  4. 显示命令输出
  5. 显示新的提示符,等待下一条命令
  6. 用户可以说"退出终端"或"exit"来退出终端模式

安全注意事项

  • 删除操作必须确认: 除非使用 -y-f 参数,否则 rm 命令必须先询问用户
  • 限制危险操作: 不支持直接执行任意 shell 命令(如 bash -ceval 等)
  • 只操作工作目录内的文件: 避免误操作系统关键文件

退出终端模式

当用户说以下任意一种表达时退出终端模式:

  • "退出终端"
  • "exit"
  • "quit"
  • "关闭终端"
  • "结束终端模式"

退出时显示: logoutConnection closed.