桌面指挥官MCP
使用AI搜索、更新、管理文件和运行终端命令
](https://www.npmjs.com/package/@wonderwhy-er/desktop-commander)   ](https://smithery.ai/server/@wonderwhy-er/desktop-commander) 

使用代码和文本、运行流程和自动化任务,远远超过其他人工智能编辑器,同时使用主机客户端订阅而不是API令牌成本。
👋 我们正在招聘——请与我们一起建设:https://desktopcommander.app/careers/
🖥️ 尝试桌面指挥官应用程序(测试版)
想要更好的体验吗? Desktop Commander应用程序为您提供MCP服务器所做的一切,此外:
- 使用任何AI模型 --Claude、GPT-4.5、Gemini 2.5或您喜欢的任何型号
- 实时查看文件更改 --AI编辑文件时,可视化文件预览
- 添加自定义MCP和上下文 --使用您自己的工具进行扩展,无需配置文件
- 即将推出 --技能系统、听写、后台计划任务等
👉 下载应用程序 (macOS和Windows)
下面的MCP服务器仍然可以与Claude Desktop和其他MCP客户端很好地配合使用——该应用程序适合那些想要专用、精致体验的人。
目录
所有的AI开发工具都在一个地方。 Desktop Commander将所有开发工具放在一个聊天中。 在计算机上执行长时间运行的终端命令,并通过模型上下文协议(MCP)管理进程。建在上面 MCP文件系统服务器 以提供额外的搜索和替换文件编辑功能。
特性
- 远程AI控制 -通过以下方式使用ChatGPT、Claude web和其他AI服务中的Desktop Commander 远程MCP
- 文件预览界面 -Claude Desktop中的可视化文件预览,具有渲染的标记、内联图像、可扩展内容、内置的标记编辑器和快速的“在文件夹中打开”访问权限
- 具有交互式过程控制的增强终端命令
- 在内存中执行代码(Python、Node.js、R)而不保存文件
- 即时数据分析-只需要求分析CSV/JSON/Excel文件
- 原生Excel文件支持 -无需外部工具即可读取、写入、编辑和搜索Excel文件(.xlsx、.xls、.xlsm)
- PDF支持 -通过文本提取读取PDF,从markdown创建新的PDF,修改现有的PDF
- DOCX支持 -使用外科手术XML编辑和markdown到docx转换读取、创建、编辑和搜索Word文档(.docx)
- 与正在运行的进程(SSH、数据库、开发服务器)交互
- 使用输出流执行终端命令
- 命令超时和后台执行支持
- 流程管理(列出并终止流程)
- 长时间运行命令的会话管理
- 流程输出分页 -使用偏移/长度控制读取终端输出,以防止上下文溢出
- 服务器配置管理:
- 获取/设置配置值 - 一次更新多个设置 - 无需重新启动服务器即可动态更改配置
- 完整的文件系统操作:
- 读/写文件(文本、Excel、PDF、DOCX) - 创建/列出目录 - 递归目录列表 为大型文件夹提供可配置的深度和上下文溢出保护 - 移动文件/目录 - 搜索文件和内容(包括Excel内容) - 获取文件元数据 - 负偏移文件读取:使用负偏移值从文件末尾读取(如Unix尾部)
- 代码编辑功能:
- 小改动的手术文本替换 - 重大更改的完整文件重写 - 多文件支持 - 基于模式的替换 - 基于vscode-ripgrep的递归代码或文件夹中的文本搜索
- 全面的审计日志记录:
- 所有工具调用都会自动记录 - 日志轮换,大小限制为10MB - 详细的时间戳和参数
- 安全强化:
- 防止文件操作中的Symlink遍历 - 带旁路保护的命令块列表 - 用于完全沙盒 - 看 安全.md 详见
如何安装
在Claude桌面中安装
Desktop Commander为Claude Desktop提供了多种安装方法。
📋 更新和卸载信息: 选项1、2、3、4和6具有自动更新功能。选项5需要手动更新。详见下文。
Option 1: Install through npx ⭐ Auto-Updates (Requires Node.js)
只需在终端中运行以下命令:
npx @wonderwhy-er/desktop-commander@latest setup对于调试模式(允许Node.js检查器连接):
npx @wonderwhy-er/desktop-commander@latest setup --debug安装过程中的命令行选项:
--debug:为Node.js检查器启用调试模式--no-onboarding:禁用新用户的入职提示
如果正在运行,请重新启动Claude。
✅ 自动更新: 是-重新启动Claude时自动更新\ 🔄 手动更新: 再次运行安装命令\ 🗑️ 卸载: 跑 npx @wonderwhy-er/desktop-commander@latest remove
Option 2: Using bash script installer (macOS) ⭐ Auto-Updates (Installs Node.js if needed)
curl -fsSL https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install.sh | bash此脚本自动处理所有依赖关系和配置。
✅ 自动更新: 是\ 🔄 手动更新: 重新运行上面的bash安装程序命令\ 🗑️ 卸载: 跑 npx @wonderwhy-er/desktop-commander@latest remove
Option 3: Installing via Smithery ⭐ Auto-Updates (Requires Node.js)
- 访问: https://smithery.ai/server/@wonderwhy er/桌面命令
- 登录Smithery 如果你还没有
- 选择您的客户 (克劳德桌面)在右侧
- 使用提供的钥匙进行安装 选择客户后显示
- 重新启动克劳德桌面
✅ 自动更新: 是-重新启动Claude时自动更新\ 🔄 手动更新: 访问Smithery页面并重新安装
Option 4: Add to claude_desktop_config manually ⭐ Auto-Updates (Requires Node.js)
将此条目添加到claude_desktop_config.json中:
- 在Mac上:
~/Library/Application Support/Claude/claude_desktop_config.json - 在Windows上:
%APPDATA%\Claude\claude_desktop_config.json - 在Linux上:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"desktop-commander": {
"command": "npx",
"args": [
"-y",
"@wonderwhy-er/desktop-commander@latest"
]
}
}
}如果正在运行,请重新启动Claude。
✅ 自动更新: 是-重新启动Claude时自动更新\ 🔄 手动更新: 再次运行安装命令\ 🗑️ 卸载: 跑 npx @wonderwhy-er/desktop-commander@latest remove 或者从claude_desktop_config json中删除该条目
Option 5: Checkout locally ❌ Manual Updates (Requires Node.js)
git clone https://github.com/wonderwhy-er/DesktopCommanderMCP.git
cd DesktopCommanderMCP
npm run setup如果正在运行,请重新启动Claude。
setup命令将安装依赖项、构建服务器和配置Claude的桌面应用程序。
❌ 自动更新: 否-需要手动更新git\ 🔄 手动更新: cd DesktopCommanderMCP && git pull && npm run setup\ 🗑️ 卸载: 跑 npx @wonderwhy-er/desktop-commander@latest remove 或者从Claude配置中删除克隆的目录和MCP服务器条目
Option 6: Docker Installation 🐳 ⭐ Auto-Updates (No Node.js Required)
非常适合想要隔离或没有安装Node.js的用户。在具有持久工作环境的沙盒Docker容器中运行。
先决条件: 安装 跑步,已安装克劳德桌面应用程序。
macOS/Linux:
bash
Manual Docker Configuration
**基本设置(无文件访问权限):**
{ "mcpServers": { "desktop-commander-in-docker": { "command": "docker", "args": ["run", "-i", "--rm", "mcp/desktop-commander:latest"] } } }
**安装文件夹时:**
{ "mcpServers": { "desktop-commander-in-docker": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "/Users/username/Desktop:/mnt/desktop", "-v", "/Users/username/Documents:/mnt/documents", "mcp/desktop-commander:latest" ] } } }
**高级文件夹装载:**
{ "mcpServers": { "desktop-commander-in-docker": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "dc-system:/usr", "-v", "dc-home:/root", "-v", "dc-workspace:/workspace", "-v", "dc-packages:/var", "-v", "/Users/username/Projects:/mnt/Projects", "-v", "/Users/username/Downloads:/mnt/Downloads", "mcp/desktop-commander:latest" ] } } }
Docker Management Commands
**macOS/Linux:**
Check status
bash
✅ 自动更新: 是的- latest 标签自动获取更新版本\ 🔄 手动更新: docker pull mcp/desktop-commander:latest 然后重启克劳德
在其他客户端中安装
Desktop Commander适用于任何兼容MCP的客户端。标准JSON配置是:
{
"mcpServers": {
"desktop-commander": {
"command": "npx",
"args": ["-y", "@wonderwhy-er/desktop-commander@latest"]
}
}
}将其添加到以下位置的客户端MCP配置文件中:
Cursor
或手动添加到 ~/.cursor/mcp.json (全球)或 .cursor/mcp.json 在您的项目文件夹中(特定于项目)。
看 光标MCP文档 了解更多信息。
Windsurf
增添 ~/.codeium/windsurf/mcp_config.json。参见 Windsurf MCP文件 了解更多信息。
VS Code / GitHub Copilot
增添 .vscode/mcp.json 在您的项目或VS代码用户设置(JSON)中。确保在聊天>MCP下启用了MCP。在代理模式下工作。
看 VS代码MCP文档 了解更多信息。
Cline
通过VS Code中的Cline扩展设置进行配置。打开Cline侧栏,单击MCP服务器图标,并在上面添加JSON配置。看 临床MCP文档 了解更多信息。
Roo Code
添加到Roo Code MCP配置文件中。看 Roo代码MCP文档 了解更多信息。
Claude Code
claude mcp add --scope user desktop-commander -- npx -y @wonderwhy-er/desktop-commander@latest移除 --scope user 仅为当前项目安装。看 克劳德代码MCP文档 了解更多信息。
Trae
使用“手动添加”功能并粘贴上面的JSON配置。看 带来MCP文件 了解更多信息。
Kiro
导航至 Kiro > MCP Servers,单击 + Add,并粘贴上面的JSON配置。看 Kiro MCP文件 了解更多信息。
Codex (OpenAI)
Codex使用TOML配置。运行此命令以添加Desktop Commander:
codex mcp add desktop-commander -- npx -y @wonderwhy-er/desktop-commander@latest或手动添加到 ~/.codex/config.toml:
[mcp_servers.desktop-commander]
command = "npx"
args = ["-y", "@wonderwhy-er/desktop-commander@latest"]看 食品法典委员会MCP文件 了解更多信息。
JetBrains (AI Assistant)
在JetBrains IDE中,请访问 设置→ 工具→ AI助手→ 模型上下文协议(MCP),单击 + 添加,选择 JSON格式,并粘贴上面的JSON配置。看 JetBrains MCP文档 了解更多信息。
Gemini CLI
增添 ~/.gemini/settings.json:
{
"mcpServers": {
"desktop-commander": {
"command": "npx",
"args": ["-y", "@wonderwhy-er/desktop-commander@latest"]
}
}
}看 Gemini CLI文档 了解更多信息。
Augment Code
按 Cmd/Ctrl+Shift+P,打开Augment面板,添加一个名为的新MCP服务器 desktop-commander 使用上面的JSON配置。看 增强代码MCP文档 了解更多信息。
Qwen Code
运行此命令以添加Desktop Commander:
qwen mcp add desktop-commander -- npx -y @wonderwhy-er/desktop-commander@latest或添加到 .qwen/settings.json (项目)或 ~/.qwen/settings.json (全球)。看 Qwen代码MCP文档 了解更多信息。
ChatGPT / Claude Web (Remote MCP)
使用桌面命令器 ChatGPT, 克劳德网,以及通过远程MCP提供的其他人工智能服务——不需要桌面应用程序。
👉 开始使用mcp.desktopcommander.app
它是如何工作的:
- 你跑得很轻 远程设备 在您的计算机上
- 它安全地连接到云远程MCP服务
- 你的AI通过云端向你的设备发送命令
- 命令在本地执行,结果返回给您的AI
- 你保持控制 --随时停止
Ctrl+C
安全
- ✅ 设备仅在您启动时运行
- ✅ 命令在您的用户权限下执行
- ✅ 安全的OAuth身份验证和加密通信通道
更新和卸载Desktop Commander
自动更新(选项1、2、3、4和6)
选项1(npx)、选项2(bash安装程序)、3(Smithery)、4(手动配置)和6(Docker) 每当您重新启动Claude时,都会自动更新到最新版本。无需人工干预。
手动更新(选项5)
- 选项5(本地结账):
cd DesktopCommanderMCP && git pull && npm run setup
卸载桌面命令器
🤖 自动卸载(推荐)
完全删除Desktop Commander的最简单方法:
npx @wonderwhy-er/desktop-commander@latest remove此自动卸载程序将:
- ✅ 从Claude的MCP服务器配置中删除Desktop Commander
- ✅ 在进行更改之前创建Claude配置的备份
- ✅ 为完整的包裹移除提供指导
- ✅ 如果出现任何问题,请从备份还原
🔧 手动卸载
如果自动卸载程序不起作用,或者您更喜欢手动删除:
从Claude配置中删除
- 找到您的Claude Desktop配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- 编辑配置文件:
- 在文本编辑器中打开文件
- 查找并删除
"desktop-commander"入口从"mcpServers"部分 - 保存文件
示例-删除此部分:
{
"desktop-commander": {
"command": "npx",
"args": ["@wonderwhy-er/desktop-commander@latest"]
}
}关闭并重新启动Claude Desktop以完成删除。
🆘 故障排除
如果自动卸载失败:
- 使用手动卸载作为后备方案
如果Claude在卸载后无法启动:
- 还原卸载程序创建的备份配置文件
- 或者手动修复claude_desktop_config.JSON中的JSON语法
需要帮助?
- 加入我们的Discord社区:https://discord.com/invite/kQ27sNnZr7
入门指南
安装Desktop Commander并重新启动Claude Desktop后,您就可以为Claude体验充电了!
🚀 新用户入职培训
Desktop Commander包括智能入职培训,可帮助您发现可能的情况:
对于新用户: 当你刚刚开始(少于10个成功的命令)时,Claude会在你成功使用Desktop Commander后自动提供有用的入门指导和实用教程。
随时请求帮助: 您可以随时请求入职协助,只需说:
- *“帮助我开始使用Desktop Commander”*
- *“显示Desktop Commander示例”*
- *“我可以用Desktop Commander做什么?”*
然后,Claude将向您展示适合初学者的教程和示例,包括:
- 📁 自动组织下载文件夹
- 📊 用Python分析CSV/Excel文件
- ⚙️ 设置GitHub操作CI/CD
- 🔍 探索和理解代码库
- 🤖 运行交互式开发环境
用法
服务器提供了一套全面的工具,分为几类:
可用工具
| 类别 | 工具 | 描述 |
|---|---|---|
| 配置 | get_config | 以JSON格式获取完整的服务器配置(包括blockedCommands、defaultShell、allowedDirectories、fileReadLineLimit、fileWriteLineLimit和telemetryEnabled) |
set_config_value | 按键设置特定的配置值。可用设置: |
• blockedCommands:无法执行的shell命令数组 • defaultShell:用于命令的Shell(例如bash、zsh、powershell) • allowedDirectories:服务器可以访问用于文件操作的文件系统路径数组(⚠️ 终端命令仍然可以访问这些目录之外的文件) • fileReadLineLimit:一次读取的最大行数(默认值:1000) • fileWriteLineLimit:一次写入的最大行数(默认值:50) • telemetryEnabled:启用/禁用遥测(布尔值)| | 终端 | start_process |启动程序时,智能检测程序何时准备好输入| | | interact_with_process |向正在运行的程序发送命令并获取响应| | | read_process_output |读取正在运行的进程的输出| | | force_terminate |强制终止正在运行的终端会话| | | list_sessions |列出所有活动的终端会话| | | list_processes |列出所有正在运行的进程及其详细信息| | | kill_process |通过PID终止正在运行的进程| | 文件系统 | read_file |从本地文件系统、URL、Excel文件(.xlsx、.xls、.xlsm)和基于行/页分页的PDF读取内容| | | read_multiple_files |同时读取多个文件| | | write_file |使用重写或追加模式选项写入文件内容。支持Excel文件(JSON 2D数组格式)。对于PDF,请使用 write_pdf | | | write_pdf |从markdown创建新的PDF文件或修改现有的PDF(插入/删除页面)。支持HTML/CSS样式和SVG图形| | | create_directory |创建新目录或确保其存在| | | list_directory |获取文件和目录的详细递归列表(支持深度参数,默认深度=2)| | | move_file |移动或重命名文件和目录| | | start_search |开始按名称或内容模式流式搜索文件(搜索文本文件和Excel内容)| | | get_more_search_results |使用偏移量支持从活动搜索中获取分页结果| | | stop_search |优雅地停止活动搜索| | | list_searches |列出所有活动的搜索会话| | | get_file_info |检索有关文件或目录的详细元数据(包括Excel文件的工作表信息)| | 文本编辑 | edit_block |对文本文件应用有针对性的文本替换,或对Excel文件应用基于范围的单元格更新| | 分析 | get_usage_stats |获取使用统计数据以获得自己的见解| | | get_recent_tool_calls |获取最近的工具调用历史记录,包括参数和输出,用于调试和上下文恢复| | | give_feedback_to_desktop_commander |在浏览器中打开反馈表单,向桌面指挥官团队提供反馈|
快速示例
数据分析:
"Analyze sales.csv and show top customers" → Claude runs Python code in memory远程访问:
"SSH to my server and check disk space" → Claude maintains SSH session发展:
"Start Node.js and test this API" → Claude runs interactive Node session工具使用示例
搜索/替换块格式:
filepath.ext
>>>>>> REPLACE例子:
src/main.js
>>>>>> REPLACE增强的编辑块功能
这 edit_block 该工具包括几个增强功能,以提高可靠性:
- 改进提示:工具描述现在强调进行多个小的、有重点的编辑,而不是一个大的更改
- 模糊搜索回退:当精确匹配失败时,它会执行模糊搜索并提供详细的反馈
- 字符级别差异:显示使用时的不同之处
{-removed-}{+added+}格式 - 多事件支持:可以用以下内容替换多个实例
expected_replacements参数 - 综合录井:记录所有模糊搜索以进行分析和调试
当搜索失败时,您将看到有关找到的最接近匹配的详细信息,包括相似性百分比、执行时间和字符差异。所有这些细节都会自动记录下来,以便以后使用模糊搜索日志工具进行分析。
Docker支持
🐳 隔离环境使用
Desktop Commander可以在Docker容器中运行 与主机系统完全隔离,提供 对您的计算机零风险。这非常适合测试、开发或需要完全沙盒的情况。
安装说明
- 为Windows/Mac安装Docker
- 从下载并安装Docker桌面
- 获取桌面指挥官Docker配置
- 访问:https://hub.docker.com/mcp/server/desktop-commander/manual - 选项A: 使用提供的终端命令进行自动设置 - 选项B: 点击“独立”以获取配置JSON,并手动将其添加到您的Claude Desktop配置中
- 装载您的计算机文件夹(即将推出)
- 关于如何将本地目录挂载到Docker容器的说明很快就会提供 - 这将允许您在保持完全隔离的同时处理文件
Docker使用的好处
- 完全隔离 从您的主机系统
- 一致的环境 跨越不同的机器
- 轻松清理 -完成后,只需取出容器
- 非常适合测试 新功能或配置
URL支持
read_file现在可以从本地文件和URL中获取内容- 例子:
read_file和isUrl: true从web资源读取的参数 - 处理来自远程源的文本和图像内容
- 图像(本地或来自URL)在Claude的界面中以视觉方式显示,而不是以文本形式显示
- 克劳德可以看到并分析实际的图像内容
- URL请求的默认超时时间为30秒
文件预览UI和Markdown编辑器
Desktop Commander在Claude Desktop中包含了一个丰富的文件预览小部件,可以在人工智能处理文件时直观地呈现文件。
支持的文件类型
- 标记语言 --使用内置编辑器渲染预览
- 图像 --内联显示(PNG、JPEG、GIF、WebP等)
- 代码文件 --语法高亮显示的源代码视图
- 超文本标记语言 --切换到源代码视图的渲染预览
- 目录 --具有展开/折叠和延迟加载的交互式树
- PDF、Excel、DOCX --本地内容提取和显示
Markdown编辑器
当查看a .md Claude Desktop中的文件,您可以直接在预览面板中编辑它——无需打开单独的应用程序。
如何使用:
- 让Claude读取或创建一个markdown文件
- 使用将文件预览扩展到全屏 ⤢ 扩展 按钮
- 编辑器在全屏模式下自动激活
- 使用实时预览切换、复制、撤消和保存控件编辑您的内容
- 更改将保存回磁盘;折叠以返回内联视图
编辑器功能:
- 生活 编辑/预览切换 --在原始markdown和渲染输出之间切换
- 自动保存 带保存状态指示器的磁盘
- 撤销 支持还原未保存的更改
- 复制 获取完整markdown源代码的按钮
- 在编辑器中打开 --直接从面板启动默认的markdown应用程序
- 部分文件感知——当文件仅被部分读取时,加载并合并周围的行
- 文本选择上下文——在预览模式下选择文本,AI可以参考您的选择
目录浏览器
当克劳德奔跑时 list_directory,结果在预览面板中以交互式文件树的形式打开,而不仅仅是原始文本输出。
特征:
- 可扩展树 --点击后文件夹会展开和折叠;立即显示顶级内容
- 延迟加载 --按需加载子文件夹,以保持初始视图快速
- 大目录处理 --包含许多项目的目录显示
⚠ click to load all按钮,而不是淹没视图 - 在Finder/Explorer中打开 --每个文件夹都有一个快速打开按钮,可以在文件管理器中显示它
- 点击预览 --单击树中的任何文件都会直接在文件预览面板中打开它
- 返回导航 --在从树中打开文件后← 后退按钮返回目录视图
其他预览功能
- 展开/折叠 --在紧凑摘要行和完整面板之间切换
- 在文件夹中打开 --只需单击一下即可在Finder/Explorer中显示文件
- 加载更多线路 --在部分读取窗口之上或之下增量加载内容
- 文本选择 --在任何预览中突出显示文本;AI可以查看并参考您的选择
模糊搜索日志分析(npm脚本)
模糊搜索日志系统包括方便的npm脚本,用于分析MCP环境之外的日志:
# View recent fuzzy search logs
npm run logs:view -- --count 20
# Analyze patterns and performance
npm run logs:analyze -- --threshold 0.8
# Export logs to CSV or JSON
npm run logs:export -- --format json --output analysis.json
# Clear all logs (with confirmation)
npm run logs:clear有关这些脚本的详细文档,请参阅 scripts/README.md.
模糊搜索日志
Desktop Commander包括用于模糊搜索操作的全面日志记录 edit_block 工具。当没有找到精确匹配时,系统会执行模糊搜索并记录详细信息以供分析。
记录的内容
每个模糊搜索操作都会记录:
- 搜索并找到文本:您要查找的文本与找到的文本
- 相似度分数:比赛有多接近(0-100%)
- 执行时间搜索花了多长时间
- 性格差异:详细的差异显示了不同之处
- 文件元数据:扩展、搜索/找到的文本长度
- 字符编码:导致差异的特定字符代码
日志位置
日志会自动保存到:
- macOS/Linux:
~/.claude-server-commander-logs/fuzzy-search.log - 视窗:
%USERPROFILE%\.claude-server-commander-logs\fuzzy-search.log
你将学到什么
模糊搜索日志有助于您理解:
- 为什么精确匹配失败:常见问题,如空格差异、行尾或字符编码
- 性能模式:搜索复杂性如何影响执行时间
- 文件类型问题:哪些文件扩展名通常存在匹配问题
- 字符编码问题:导致差异的特定字符代码
审计日志
Desktop Commander现在包括所有工具调用的全面日志记录:
记录的内容
- 每次工具调用都会记录时间戳、工具名称和参数(经过隐私净化)
- 日志大小达到10MB时会自动轮换
日志位置
日志保存到:
- macOS/Linux:
~/.claude-server-commander/claude_tool_call.log - 视窗:
%USERPROFILE%\.claude-server-commander\claude_tool_call.log
此审计跟踪有助于调试、安全监控和了解Claude如何与您的系统交互。
处理长时间运行的命令
对于可能需要一段时间的命令:
配置管理
⚠️ 重要安全警告
用于全面的安全信息和漏洞报告:参见 安全.md
- 已知的安全限制:可以通过各种方法绕过目录限制和命令阻止,包括符号链接、命令替换和绝对路径或代码执行
- 始终在单独的聊天窗口中更改配置 Claude有时可能会尝试修改配置设置(例如
allowedDirectories)如果遇到文件系统访问限制。
- 这
allowedDirectories当前设置仅限制文件系统操作,而不是终端命令。终端命令仍然可以访问允许目录之外的文件。
- 为了生产安全:使用 它提供了与主机系统的完全隔离。
配置工具
您可以使用提供的工具管理服务器配置:
// Get the entire config
get_config({})
// Set a specific config value
set_config_value({ "key": "defaultShell", "value": "/bin/zsh" })
// Set multiple config values using separate calls
set_config_value({ "key": "defaultShell", "value": "/bin/bash" })
set_config_value({ "key": "allowedDirectories", "value": ["/Users/username/projects"] })配置已保存到 config.json 在服务器的工作目录中,并在服务器重新启动之间持续存在。
了解fileWriteLineLimit
这 fileWriteLineLimit 设置控制一个文件中可以写入多少行 write_file 操作(默认值:50行)。这一限制的存在有几个重要原因:
为什么存在限制:
- 人工智能浪费代币:人工智能可能会决定重写整个文件,而不是在文件中进行两次小编辑。我们正试图迫使人工智能以较小的变化来做事,因为它节省了时间和代币
- Claude UX消息限制:一条消息中有限制,点击“继续”并不能真正起作用。我们在这里尝试的是让人工智能在更小的块中工作,这样当你达到这个限制时,多个块已经成功,并且工作没有丢失——它只需要从最后一个块重新启动
设置限制:
// You can set it to thousands if you want
set_config_value({ "key": "fileWriteLineLimit", "value": 1000 })
// Or keep it smaller to force more efficient behavior
set_config_value({ "key": "fileWriteLineLimit", "value": 25 })最大值:如果你愿意,可以设置为数千,没有技术限制。
最佳实践:
- 保持默认值(50),以鼓励高效的人工智能行为,避免代币浪费
- 当超过限制时,系统会自动建议分块
- 较小的块意味着当Claude达到消息限制时损失的工作更少
最佳实践
- 为配置更改创建专用聊天:在一次聊天中更改所有配置,然后为您的实际工作开始一个新的聊天。
- 小心空
allowedDirectories:将其设置为空数组([])授予对整个文件系统的访问权限以进行文件操作。
- 使用特定路径:而不是使用像这样的宽阔路径
/,指定要访问的确切目录。
- 更改后始终验证配置:使用
get_config({})确认您的更改已正确应用。
命令行选项
Desktop Commander支持多种命令行选项用于自定义行为:
禁用入职
默认情况下,Desktop Commander会向新用户(工具调用少于10次的用户)显示有用的入职提示。您可以禁用此行为:
# Disable onboarding for this session
node dist/index.js --no-onboarding
# Or if using npm scripts
npm run start:no-onboarding
# For npx installations, modify your claude_desktop_config.json:
{
"mcpServers": {
"desktop-commander": {
"command": "npx",
"args": [
"-y",
"@wonderwhy-er/desktop-commander@latest",
"--no-onboarding"
]
}
}
}当自动禁用入职功能时:
- 当MCP客户端名称设置为“桌面命令器”时
- 使用时
--no-onboarding旗帜 - 用户使用入职提示或拨打10多次工具电话后
调试信息: 禁用入职时,服务器将记录: "Onboarding disabled via --no-onboarding flag"
使用不同的外壳
您可以指定用于执行命令的shell:
// Using default shell (bash or system default)
execute_command({ "command": "echo $SHELL" })
// Using zsh specifically
execute_command({ "command": "echo $SHELL", "shell": "/bin/zsh" })
// Using bash specifically
execute_command({ "command": "echo $SHELL", "shell": "/bin/bash" })这允许您使用特定于shell的功能或跨命令维护一致的环境。
execute_command超时后返回初始输出- 命令在后台继续
- 使用
read_output使用PID获得新的输出 - 使用
force_terminate必要时停止
调试
如果需要调试服务器,可以在调试模式下安装:
# Using npx
npx @wonderwhy-er/desktop-commander@latest setup --debug
# Or if installed locally
npm run setup:debug这将:
- 配置Claude以使用单独的“桌面命令器”服务器
- 使用启用Node.js检查器协议
--inspect-brk=9229旗帜 - 在开始时暂停执行,直到调试器连接
- 启用其他调试环境变量
要连接调试器,请执行以下操作:
- 在Chrome浏览器中,请访问
chrome://inspect并查找Node.js实例 - 在VS代码中,使用“附加到节点进程”调试配置
- 其他IDE/工具可能具有类似的Node.js调试“附加”选项
重要调试注意事项:
- 服务器将在启动时暂停,直到调试器连接(由于
--inspect-brk旗帜) - 如果在调试过程中没有看到活动,请确保连接到正确的Node.js进程
- 多个节点进程可能正在运行;连接到端口9229上的端口
- 调试服务器在Claude的MCP服务器列表中被标识为“桌面命令调试”
故障排除:
- 如果Claude在尝试使用调试服务器时超时,则调试器可能未正确连接
- 正确连接后,进程将在到达第一个断点后继续执行
- 连接后,您可以在IDE中添加其他断点
模型上下文协议集成
此项目扩展了MCP文件系统服务器,以启用:
- Claude Desktop中的本地服务器支持
- 完整系统命令执行
- 过程管理
- 文件 操作
- 使用搜索/替换块进行代码编辑
作为探索Claude MCP的一部分而创建:https://youtube.com/live/TlbjFDbl5Us
支持桌面指挥官
📢 SUPPORT THIS PROJECT
Desktop Commander MCP is free and open source, but needs your support to thrive!
Our philosophy is simple: we don't want you to pay for it if you're not successful. But if Desktop Commander contributes to your success, please consider contributing to ours.
Ways to support:
🌟 GitHub Sponsors - Recurring support
☕ Buy Me A Coffee - One-time contributions
💖 Patreon - Become a patron and support us monthly
⭐ Star on GitHub - Help others discover the project
❤️ 支持者名人堂
这里有慷慨的支持者。感谢您帮助使这个项目成为可能!
Jon Richards
Matija Stepanic
Why your support matters
Your support allows us to:
Continue active development and maintenance
Add new features and integrations
Improve compatibility across platforms
Provide better documentation and examples
Build a stronger community around the project
网站
请访问我们的官方网站 https://desktopcommander.app/ 获取最新信息、文档和更新。
媒体
通过以下资源了解有关此项目的更多信息:
文章
克劳德用MCP取代了Cursor和Windsurf。这是怎么发生的? -详细探讨具有模型上下文协议功能的Claude如何改变开发人员的工作流程。
视频
克劳德桌面指挥官视频教程 -观看如何有效地设置和使用Commander。
在AnalyticsIndiaMag上发表

社区
加入我们 Discord服务器 获取帮助、分享反馈并与其他用户联系。
客户评价

https://www.youtube.com/watch?v=ly3bed99Dy8&lc=UgztdHvDMqTb9jiqnf54AaABAg](https://www.youtube.com/watch?v=ly3bed99Dy8&lc=UgztdHvDMqTb9jiqnf54AaABAg)



如果你觉得这个项目有用,请考虑给它一个⭐ GitHub上的明星!这有助于其他人发现该项目并鼓励进一步开发。
我们欢迎社区的贡献!无论你是发现了一个bug,有一个功能请求,还是想贡献代码,以下是你可以提供帮助的方法:
- 发现bug了吗? 在以下位置打开问题
- 有一个功能想法吗? 在问题部分提交功能请求
- 想贡献代码吗? 分叉存储库,创建分支,并提交拉取请求
- 问题或讨论? 在GitHub讨论选项卡中开始讨论
所有的贡献,无论大小,都非常感谢!
如果您认为此工具对您的工作流程很有价值,请考虑 支持该项目.
常见问题
以下是一些常见问题的答案。有关更全面的常见问题解答,请参阅我们的 详细的FAQ文档.
什么是桌面指挥官?
这是一个MCP工具,使Claude Desktop能够访问您的文件系统和终端,将Claude变成一个用于编码、自动化、代码库探索等的多功能助手。
这与Cursor/Windsurf有什么不同?
与专注于IDE的工具不同,Claude Desktop Commander提供了一种以解决方案为中心的方法,适用于整个操作系统,而不仅仅是在编码环境中。Claude完整地读取文件,而不是将其分块,可以同时跨多个项目工作,并且一次性执行更改,而不需要不断审查。
我需要支付API信用吗?
不可以。该工具适用于Claude Desktop的标准Pro订阅(每月20美元),而不适用于API调用,因此您不会产生订阅费之外的额外费用。
Desktop Commander会自动更新吗?
是的,当通过npx或Smithery安装时,Desktop Commander会在您重新启动Claude时自动更新到最新版本。不需要手动更新过程。
最常见的用例是什么?
- 探索和理解复杂的代码库
- 生成图表和文档
- 在整个系统中自动化任务
- 同时处理多个项目
- 通过精确控制进行手术代码更改
我在安装或使用该工具时遇到了问题。我在哪里可以得到帮助?
加入我们 Discord服务器 如需社区支持,请查看 对于已知问题,或查看 完整FAQ 获取故障排除提示。您也可以访问我们的 网站常见问题解答部分 以获得更用户友好的体验。如果您遇到新问题,请考虑 详细说明你的问题。
如何报告安全漏洞?
请创建一个 包含您发现的任何安全漏洞的详细信息。查看我们的 安全策略 关于负责任披露的完整指南。
数据收集和隐私
Desktop Commander收集有限的匿名遥测数据以改进该工具。我们不收集文件内容、文件路径或命令参数。
选择退出: 要求Claude“禁用Desktop Commander遥测”或设置 "telemetryEnabled": false 在您的配置中。
有关完整详细信息,请参阅我们的 隐私政策.
验证

许可证
麻省理工学院

