shell-use

io.github.kyuheon-kr由 GitHub 账号 kyuheon-kr 发布v1.0.0更新于 Oct 27, 2026

Let agents use the shell like a human.

概览

AI 生成的概览

让 AI 助手像人一样操作 tmux 终端会话:读取屏幕文本、发送按键与文字、滚动历史。

可以做什么
  • 列出允许访问的 tmux 会话名称
  • 截取当前终端屏幕文本,可向上回看
  • 发送按键输入,如 Enter、Ctrl+C、方向键
  • 发送原样文字,可选择随后按 Enter
  • 滚动终端历史并退出复制模式
  • 可与会话中运行的任意命令行程序交互,如 vim、htop、gdb
适用场景
适合需要助手操作交互式终端程序(普通命令执行器难以处理)的场景,或需要它观察并操控本机长时间运行的 tmux 会话时。
运行要求
以本地 Docker 容器(镜像 ghcr.io/kyuheon-kr/shell-use)通过 stdio 运行,需要 Docker。需事先创建 tmux 会话,并将其 socket 路径挂载进容器。SHELL_USE_SESSIONS 为必填,SHELL_USE_SOCKET 可选,Docker 中默认 /tmux/tmux.sock。仅支持桌面客户端。
安装前请注意
助手可向你的实时终端会话输入内容,所发送的命令会以你的用户身份执行,包括破坏性命令或交互式提示。只有 SHELL_USE_SESSIONS 中列出的会话会被暴露,请保持该列表尽量精简。挂载 tmux socket 等于让容器控制这些会话。

安装

在 SourceWeft 中

  1. 打开 控制台中的 shell-use,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

shell-use

Let agents use the shell like a human.


Features

  • Interact with any CLI application (vim, htop, gdb, etc.)
  • Send special keys (Ctrl+C, Enter, arrow keys, etc.)
  • Dockerized for easy deployment

Available Tools

ToolDescription
list_sessions()Returns allowed session names
capture(session, scroll_back?)Captures terminal screen text
send_keys(session, keys)Sends key input (e.g., Enter, C-c)
send_text(session, text, enter?)Sends literal text (enter=True to press Enter)
scroll(session, direction, amount?)Scrolls through history
exit_scroll_mode(session)Exits copy-mode

Setup

1. Build the Docker image
bash
docker build -t shell-use:latest .
2. Create a tmux session
bash
tmux new-session -s dev
2.1. Get the tmux socket path
bash
SOCK="$(tmux display-message -p -F '#{socket_path}')"[ -S "$SOCK" ] || { echo "tmux socket not found: $SOCK"; exit 1; }
3. Configure your MCP client

Claude Code:

bash
claude mcp add shell-use \  -- docker run -i --rm \  -v "$SOCK":/tmux/tmux.sock \  -e SHELL_USE_SOCKET=/tmux/tmux.sock \  -e SHELL_USE_SESSIONS=dev \  shell-use:latest

Claude Desktop (claude_desktop_config.json):

json
{  "mcpServers": {    "shell-use": {      "command": "docker",      "args": [        "run", "-i", "--rm",        "-v", "/tmp/tmux-1000/default:/tmux/tmux.sock",        "-e", "SHELL_USE_SOCKET=/tmux/tmux.sock",        "-e", "SHELL_USE_SESSIONS=dev",        "shell-use:latest"      ]    }  }}

Replace /tmp/tmux-1000/default with the path from tmux display-message -p -F '#{socket_path}'.


Environment Variables

VariableDescriptionRequired
SHELL_USE_SESSIONSComma-separated list of allowed session namesYes
SHELL_USE_SOCKETPath to tmux socket (default: /tmux/tmux.sock in Docker)No

Acknowledgments

Inspired by browser-use.

来源:README.md,提交 5fe5fa8

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分