核心用法
claw-shell 是一个专为代理设计的受控shell执行工具,强制在名为 claw 的专用tmux会话中运行所有命令。工作流程为:自动附加/创建会话 → 发送命令 → 捕获最新面板输出 → 返回结果。支持常规文件操作、进程管理、开发工具调用等场景。
显著优点
- 环境隔离:强制使用独立tmux会话,避免污染用户工作会话
- 状态持久:tmux会话保持运行状态,可维持长期任务或环境变量
- 输出捕获:完整获取命令的终端输出,包括ANSI颜色和格式
- 内置安全闸:预设危险命令黑名单(sudo、rm、reboot等),需人工确认
- 会话管理:自动创建缺失会话,降低使用门槛
潜在缺点与局限
- 单会话瓶颈:所有命令串行于同一会话,无法并行执行
- 状态干扰风险:前一个命令的环境变量、目录状态可能影响后续命令
- 输出截断:tmux捕获窗口大小限制可能导致大输出丢失
- 交互性缺失:无法处理需要实时输入的交互式命令(vim、top等)
- 无退出码透传:需解析输出文本判断命令是否成功
- tmux依赖:目标系统必须预装tmux
适合人群
- 需要执行轻量级shell任务的AI代理
- 开发运维场景的自动化脚本调用
- 需要隔离运行环境的测试场景
常规风险
| 风险类型 | 说明 |
|---------|------|
| 命令注入 | 未严格转义的用户输入可能被解释为shell元字符 |
| 会话污染 | 恶意命令可修改会话环境,影响后续执行 |
| 资源耗尽 | 无内置超时/限流,长运行命令可能挂起会话 |
| 敏感信息泄露 | 命令输出可能包含密钥、token等(需调用方处理) |