Openclaw-Skills terminal-mode
终端模拟模式,当用户说"打开终端"、"进入终端模式"、"模拟终端"、"terminal mode"或类似表达时触发。提供类似Linux终端的交互体验,支持cd、ls、cat、pwd、mv、cp、rm、touch、mkdir、rmdir、find、grep、head、tail、chmod等常用命令,用于浏览和操作用户文件系统。支持带参数的命令如"ls -la"、"ls -lath"等。
install
source · Clone the upstream repo
git clone https://github.com/eraycc/Openclaw-Skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/eraycc/Openclaw-Skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/terminal-mode" ~/.claude/skills/eraycc-openclaw-skills-terminal-mode && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/eraycc/Openclaw-Skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/terminal-mode" ~/.openclaw/skills/eraycc-openclaw-skills-terminal-mode && rm -rf "$T"
manifest:
terminal-mode/SKILL.mdsource content
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 -la
- 显示所有文件包括隐藏文件ls -a
- 人类可读的文件大小ls -lh
- 按时间排序ls -t
- 反向排序ls -r- 支持组合参数如
、ls -lath
等ls -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 <命令>
命令执行规则
-
路径解析
- 支持绝对路径
/home/user/file - 支持相对路径
、./file../file - 支持
展开为用户主目录~ - 支持
表示当前目录,.
表示上级目录..
- 支持绝对路径
-
错误处理
- 命令不存在:
bash: <命令>: command not found - 文件不存在:
cat: <文件>: No such file or directory - 权限不足:
Permission denied - 不是目录:
Not a directory - 是目录:
Is a directory
- 命令不存在:
-
输出格式
- 尽量模仿真实终端的输出格式
格式:ls -l-rw-r--r-- 1 user group 1234 Jan 01 12:00 filename- 文件大小使用人类可读格式(K、M、G)
工作流程
- 用户触发终端模式后,显示欢迎信息和当前目录提示符
- 用户输入命令,解析命令和参数
- 使用
或exec
等工具执行相应的文件操作read - 显示命令输出
- 显示新的提示符,等待下一条命令
- 用户可以说"退出终端"或"exit"来退出终端模式
安全注意事项
- 删除操作必须确认: 除非使用
或-y
参数,否则 rm 命令必须先询问用户-f - 限制危险操作: 不支持直接执行任意 shell 命令(如
、bash -c
等)eval - 只操作工作目录内的文件: 避免误操作系统关键文件
退出终端模式
当用户说以下任意一种表达时退出终端模式:
- "退出终端"
- "exit"
- "quit"
- "关闭终端"
- "结束终端模式"
退出时显示:
logout 或 Connection closed.