Claude和其他mcp客户的Shell和Coding代理
使聊天应用程序能够在本地计算机上编码、构建和运行。
wcgw是一个MCP服务器,具有紧密集成的shell和代码编辑工具。
⚠️ 警告:此MCP服务器提供对计算机外壳和文件的未经过滤的访问。它不会限制LLM执行任意命令或进行意外更改。如果AI产生幻觉,攻击者可能会滥用此工具或运行危险的命令。运行此存储库 仅 如果你完全理解并接受与无限制运行AI代理相关的风险。
截至2026年,您可以使用的原因 wcgw 它提供了完全交互式的shell体验,您和代理都可以控制(包括发送按键)。 结合在编辑器中附加代理shell的wcgw-vscode扩展,您可以获得最佳的代理shell体验。 文件编辑技巧和一般的极简主义也有助于提高代理的工作效率。
   
演示
更新
- \[2025年10月6日\]模型现在可以在后台运行多个命令。ZSH现在是一个受支持的shell。多路复用改进。
- \[2025年4月27日\]删除了对中继服务器上GPT的支持。版本>=5仅支持MCP服务器。
- \[2025年3月24日\]改进了十四行诗3.7的写作和编辑体验,CLAUDE.md会自动加载。
- \[2025年2月16日\]您现在可以连接到AI使用的工作终端。请参阅下面的“连接到终端”部分。
- \[2025年1月15日\]引入的模式:架构师、代码编写者和功能强大的wcgw模式。
- \[2025年1月8日\]上下文保存工具,用于在单个文件中保存相关文件路径和描述。可以用作任务检查点或用于知识转移。
- \[2024年12月29日\]文件写入和编辑的语法检查现已稳定。…制造的
initialize工具调用有用;如果引用了任何仓库,则向claude发送智能仓库结构。大文件处理现在也得到了改进。
- \[2024年12月9日\] 在Claude应用程序上粘贴上下文的Vscode扩展
🚀 亮点
- ⚡ 创建、执行、迭代:要求claude继续运行编译器检查,直到所有错误都得到修复,或者要求它继续检查长时间运行的命令的状态,直到完成。
- ⚡ 大文件编辑:支持大文件增量编辑,以避免令牌限制问题。根据所需更改的百分比,智能地选择何时进行小编辑或大重写。
- ⚡ 编辑时的语法检查:如果LLM的编辑有任何语法错误,则向LLM报告反馈,以便它可以重做。
- ⚡ 交互式命令处理:支持使用箭头键、中断和ansi转义序列的交互式命令。
- ⚡ 文件保护:
- AI在允许编辑或重写文件之前需要至少读取一次文件。这可以避免意外覆盖。 - 避免在读取非常大的文件时上下文填满。文件根据令牌长度进行分块。 - 初始化时,在选择重要文件(基于.gitignore和统计方法)后,返回提供的工作区的目录结构 - 基于搜索替换的文件编辑会尝试在基于先前搜索块有多个匹配项的情况下找到正确的搜索块。否则失败(为了正确性)。 - 文件编辑具有间距容忍匹配功能,并对缩进不匹配等问题发出警告。如果没有匹配,则将最接近的匹配返回给AI以修复其错误。 - 使用类似Aider的搜索和替换,其性能优于基于工具调用的搜索和替代。
- ⚡ 外壳优化:
- 任何shell命令后都会返回当前工作目录,以防止AI丢失。 - 命令轮询在快速超时后退出,以避免缓慢的反馈。然而,状态检查具有基于命令的新输出流的等待容忍度。这两种方法的结合提供了良好的shell交互体验。 - 支持主交互式shell旁边的多个并发后台命令。
- ⚡ 将repo上下文保存在单个文件中:使用“ContextSave”工具的任务检查点将详细的上下文保存在单个文件中。稍后可以在新的聊天中恢复任务,并询问“恢复”
task id“.保存的文件可用于进行其他类型的知识转移,例如从另一个AI获得帮助。 - ⚡ 在各种模式之间轻松切换:
- 让它以“架构师”模式运行以进行规划。受adier建筑师模式的启发,先与Claude一起制定一个计划。提高准确性,防止过早编辑文件。 - 让它在“代码编写器”模式下运行,以进行代码编辑和项目构建。您可以提供具有通配符支持的特定路径,以防止其他文件被编辑。 - 默认情况下,它在没有限制和完全授权的“wcgw”模式下运行。 - 更多详细信息请参见 模式部分
- ⚡ 在多路终端中运行 使用 vscode扩展 或奔跑
screen -x连接到AI运行命令的终端。查看历史记录或中断进程,或与AI使用的同一终端交互。 - ⚡ 自动加载CLAUDE.md/AGENTS.md 在项目根目录中加载“CLAUDE.md”或“AGENTS.md”文件,并在初始化过程中作为指令发送。全局“~/.wcgw/CLAUDE.md”或“~/.wggw/AGENTS.md”文件中的指令与特定于项目的CLAUDE.md一起加载和添加。文件名区分大小写。如果CLAUDE.md存在,则将其附加,否则将附加AGENTS.md。
Claude设置(使用mcp)
Mac和linux
首次安装 uv 使用自制程序 brew install uv
(重要提示: 使用自制程序安装uv。否则,请确保 uv 存在于全局位置,如/usr/bin/)
然后创建或更新 claude_desktop_config.json (~/库/应用程序支持/Claude/Claude_desktop_config),并使用以下json。
{
"mcpServers": {
"wcgw": {
"command": "uvx",
"args": ["--python", "3.12", "wcgw@latest"]
}
}
}然后重新启动claude应用程序。
可选:强制特定外壳
要使用特定的shell(bash或zsh),请添加 --shell 论点:
{
"mcpServers": {
"wcgw": {
"command": "uvx",
"args": ["--python", "3.12", "wcgw@latest", "--shell", "/bin/bash"]
}
}
}_如果设置时出错_
- 如果出现“uv ENUENT”这样的错误,请确保
uv已安装。然后在终端中运行“which uv”,并使用其输出代替配置中的“uv”。 - 如果仍然有问题,请检查
uv tool run --python 3.12 wcgw在您的终端中运行。它应该没有输出,也不应该退出。 - 尝试删除~/.cache/uv文件夹
- 尝试使用
uv版本0.6.0为此测试了该工具。 - 使用以下命令调试mcp服务器
npx @modelcontextprotocol/inspector@0.1.7 uv tool run --python 3.12 wcgw
wsl上的Windows
此mcp服务器仅在windows上的wsl上工作。
为了设置它, 安装uv
然后添加或更新claude配置文件 %APPDATA%\Claude\claude_desktop_config.json 具有以下内容
{
"mcpServers": {
"wcgw": {
"command": "wsl.exe",
"args": ["uvx", "--python", "3.12", "wcgw@latest"]
}
}
}遇到错误时,在命令提示符下执行命令wsl-uv--python 3.12-wcgw。如果你得到 error /bin/bash: line 1: uv: command not found,这意味着uv没有全局安装,你需要指向正确的uv路径。
- 查找uv的安装位置:
whereis uv输出示例: uv: /home/mywsl/.local/bin/uv
- 测试完整路径是否有效:
wsl /home/mywsl/.local/bin/uv tool run --python 3.12 wcgw- 使用完整路径更新配置:
{
"mcpServers": {
"wcgw": {
"command": "wsl.exe",
"args": ["/home/mywsl/.local/bin/uv", "tool", "run", "--python", "3.12", "wcgw"]
}
}
}替换 /home/mywsl/.local/bin/uv 使用步骤1中的实际紫外线路径。
用法
等待几秒钟。如果一切顺利,您应该能够看到此图标。
这边
然后让claude执行shell命令、读取文件、编辑文件、运行代码等。
任务检查点或知识转移
- 您可以通过使用“从MCP附加”按钮附加“知识转移”提示来执行任务检查点或知识转移。
- 在运行“知识转移”提示时,将调用“上下文保存”工具,将任务描述和所有文件内容保存在一个文件中。将生成任务的id。
- 你可以在新的聊天中说“简历”“”,然后AI应该使用任务id调用“Initialize”并从那里加载上下文。
- 或者,您可以直接打开生成的文件并与另一个AI共享以获得帮助。
模式
有三种内置模式。你可以让克劳德在其中一种模式下运行,比如“使用‘架构师’模式”
| 模式 | 描述 | 允许 | 否认 | 调用提示符 |
|---|---|---|---|---|
| 建筑师 | 专为您与Claude合作调查和了解您的回购而设计。 | 只读命令 | 文件编辑和写入工具 | 在模式=“体系结构”下运行 |
| 代码编写器 | 对于代码编写和开发 | 用于编辑或写入的指定路径glob,指定的命令 | 用于与指定glob不匹配的路径的FileEdit,用于与指定glob不匹配路径的Write | 在代码编写器模式下运行,只允许“tests/\*\*”,只允许使用uv命令 |
| \*\*wcgw\*\* | 默认模式,允许所有内容 | 所有内容 | 无内容 | 无提示,或“在wcgw模式下运行” |
注意:在代码编写器模式下,要么允许所有命令,要么现在不允许任何命令。如果你给出一个允许的命令列表,Claude会被指示只运行这些命令,但不会进行实际检查。(WIP)
连接到工作终端进行调查
新: vscode扩展 现在自动连接正在运行的终端 如果工作区路径匹配。
如果你有 screen 安装命令后,wcgw会自动在屏幕实例上运行。如果你已经启动了wcgw-mcp服务器,你可以列出屏幕会话:
screen -ls
记下wcgw的屏幕名称,大致如下 93358.wcgw.235521 其中最后一个数字采用小时-分钟-秒格式。
然后,您可以使用以下命令附加到会话 screen -x 93358.wcgw.235521
您可以安全地中断任何正在运行的命令。
您可以安全地与终端交互,例如输入密码或输入一些文本。(警告:如果运行新命令,任何新的LLM命令都会中断它。)
您不应该使用退出会话 exit 或者Ctrl-d,你应该使用 ctrl+a+d 在不破坏屏幕会话的情况下安全地分离。
在~/.screenrc中包含以下内容,以获得更好的滚动体验
defscrollback 10000
termcapinfo xterm* ti@:te@\[可选\]Vs代码扩展
https://marketplace.visualstudio.com/items?itemName=AmanRusia.wcgw
命令:
- 选择文本并按
cmd+'然后输入指令。这将把应用程序切换到Claude,并粘贴一个包含您的说明、文件路径、工作区目录和所选文本的文本。
例子
在docker上使用mcp服务器
首先构建docker镜像 docker build -t wcgw https://github.com/rusiaaman/wcgw.git
然后你可以更新 /Users/username/Library/Application Support/Claude/claude_desktop_config.json 拥有
{
"mcpServers": {
"wcgw": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--mount",
"type=bind,src=/Users/username/Desktop,dst=/workspace/Desktop",
"wcgw"
]
}
}
}工具
服务器提供以下MCP工具:
壳牌运营:
Initialize:重置shell并设置工作区环境
- 参数: any_workspace_path (字符串), initial_files_to_read (字符串\[\]), mode_name (“wcgw”|“架构师”|“code_writer”), task_id_to_resume (字符串)
BashCommand:执行带有超时控制的shell命令
- 参数: command (字符串), wait_for_seconds (int,可选) - 参数: send_text (字符串)或 send_specials (\[“Enter”|“Key up”|…\])或 send_ascii (int\[\]), wait_for_seconds (int,可选)
文件操作:
ReadFiles:从一个或多个文件中读取内容
- 参数: file_paths (字符串\[\])
WriteIfEmpty:创建新文件或写入空文件
- 参数: file_path (字符串), file_content (字符串)
FileEdit:使用搜索/替换块编辑现有文件
- 参数: file_path (字符串), file_edit_using_search_replace_blocks (字符串)
ReadImage:读取图像文件进行显示/处理
- 参数: file_path (字符串)
项目管理:
ContextSave:保存项目上下文和文件以进行知识转移,或保存稍后要恢复的任务检查点
- 参数: id (字符串), project_root_path (字符串), description (字符串), relevant_file_globs (字符串\[\])
所有工具都支持绝对路径,并内置了防止常见错误的保护措施。请参阅 MCP规范 获取详细的协议信息。
