DSH Computer MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DSH Computer MCPshow me the files in my Documents folder on the connected computer"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DSH Computer MCP
让 DeepSeek Harness 通过 MCP 操作另一台电脑上的文件,并按需执行命令。
Harness 可以运行在服务器、NAS 或另一台电脑上。目标电脑运行连接器,选择允许访问的目录后,Harness 即可通过内网或 Tailscale 读写文件、搜索内容、移动文件和执行开发任务。连接器使用标准 Streamable HTTP MCP 协议,通过官方 MCP 客户端接入 Harness。
目标电脑无需安装 Node.js、Python 或完整 Harness;执行命令需要的 Git、编译器等工具仍需自行安装。
主要功能
远程文件操作:浏览目录、按名查找、分段读取、片段编辑、整体写入、移动与重命名。
可恢复删除:将普通文件移入系统废纸篓或回收站,提醒用户确认后自行清空。
按需执行命令:默认关闭,开启后返回命令输出、退出码和超时状态。
目录授权:支持多个目录,文件工具拒绝越界路径和子路径符号链接。
本地配置页:启动后自动打开,查看通信状态、当前权限和日志位置。
每日日志:记录连接、工具操作、执行结果及错误,便于排查问题。
跨平台连接:支持 Windows、Intel Mac 和 Apple Silicon Mac,通过内网 IP 或 Tailscale 连接。
Related MCP server: remote-desktop-commander
支持平台
发布包 | 系统 |
| Windows 10/11,64 位 Intel/AMD |
| Intel Mac,macOS 10.15 及以上 |
| Apple Silicon Mac,macOS 11 及以上 |
另提供 Linux amd64 程序和源码。Windows ARM 和 32 位 Windows 暂不支持。Windows 与 macOS 10.15 的完整行为仍待实机验证。
快速开始
1. 在要操作的电脑上运行连接器
从本仓库的 Releases 页面下载对应系统的 ZIP,解压到固定目录。
Windows 运行
启动.cmd;Mac 运行启动.command,或在终端运行./dsh-computer-mcp。程序默认打开本地配置页。未打开时,复制终端显示的完整配置页地址到浏览器;保留地址中
#后的管理令牌。选择允许访问的目录并保存,可以添加多个目录。
如需执行命令,开启“允许 AI 在此电脑执行命令”;默认关闭。
根据网络选择内网或 Tailscale 地址,复制连接配置,或下载配对文件。
保持程序运行。关闭程序或电脑休眠后,Harness 将无法访问这台电脑。按 Ctrl+C 退出。当前不提供开机自启、后台服务安装或设备自动发现。
Mac 程序使用 ad-hoc 签名,未经过 Apple 公证;Windows 程序未使用商业代码签名,首次启动可能出现系统提示。
2. 安装 DSH 插件并配置 MCP
本仓库同时提供可安装的 DeepSeek Harness Profile Bundle(dsh-plugin)。电脑端程序运行在要操作的电脑上,配置型 bundle 安装在运行 Harness 的环境中;安装插件不会自动安装或启动电脑端程序。
已验证的组合为 Node.js 24 和 DSH 0.2.0-rc.2,使用 DSH 自带的官方 @deepseek-ai/dsh-mcp-client。在已安装 dsh 命令的环境中执行:
dsh plugin --profile web add github:cander0815/dsh-computer-mcp这是 GitHub 源码安装,当前未发布同名 npm 注册表包。该 bundle 不含 prepare 或其他安装时构建脚本,不需要授权构建。若使用不同 profile,请将 web 换为实际 profile 名称。
随后将电脑配置页下载的配对文件中的 url 和 token 设置为 Harness 进程的环境变量。以下为 POSIX Shell 示例,只使用占位符:
export DSH_COMPUTER_MCP_URL='http://<目标电脑地址>:18790/mcp'
export DSH_COMPUTER_MCP_TOKEN='<连接令牌>'
dsh --profile webWindows PowerShell 示例:
$env:DSH_COMPUTER_MCP_URL = 'http://<目标电脑地址>:18790/mcp'
$env:DSH_COMPUTER_MCP_TOKEN = '<连接令牌>'
dsh --profile web两个变量未完整填写时插件保持禁用,不尝试连接。必须设置在 Harness 进程的启动环境中,不要放进项目 .env 文件。后台服务或容器部署需将环境变量写入相应的私有启动配置,并安装到同一个持久 profile。令牌不要提交到公共仓库或发在投稿内容中。
如果此前已手工加载配置页生成的 local-computer patch,请先停用旧 patch,再使用 bundle,避免重复注册相同服务器名称。也可以继续使用原有手工 patch 接入方式;两种方式选一种即可。
修改配置或升级后,让 Harness 重新连接 MCP,刷新工具列表;必要时重启相应的 Harness 实例。
3. 告诉 AI 使用目标电脑的工具
可以在新会话中这样说明:
请使用 localcomputer MCP 操作连接的电脑。先调用 list_roots,确认设备、授权目录和当前权限,再使用对应的文件或命令工具。不要用 Harness 自带的服务器工具代替;找不到 MCP 工具时请明确告诉我。
Harness 原有工作区选择器仍显示 Harness 所在环境的目录。目标电脑文件通过 MCP 工具访问,不会自动出现在原工作区选择器中。
MCP 工具
list_roots:授权目录和 id。
list_directory:目录清单,最多 1000 项。
find_files:按文件名通配符查找文件(如 *.go),最多返回 200 个,路径相对授权目录。只匹配文件名,不支持 {a,b} 和含 / 的模式,会直接报错而不是返回空结果。
read_file:UTF-8 文本和整个文件的 SHA-256,最大 1 MiB;可用 offset、limit 按行分段读取。
edit_file:把文件中唯一出现的一段原文替换为新内容,改一处不必重写整个文件;原文找不到或出现多次都会拒绝。Windows 的 CRLF 文件可用 \n 原文匹配,换行风格保持不变。
write_file:新建或整体重写;覆盖必须提供最近读取的哈希,新建使用 new。缺少的上级目录自动创建。
create_directory:创建目录,缺少的上级目录一并创建。
move_file:在同一授权目录内移动或重命名文件、文件夹;目标已存在时拒绝,不覆盖。
delete_file:把授权目录内的一个普通文件移入系统废纸篓/回收站,不支持目录或永久删除;成功后提醒用户确认不再需要,再自行清空。
search_text:默认原样搜索,可选正则(regex)和文件名过滤(include);最多读取 1000 个文本文件、返回 100 结果,结果路径相对授权目录。跳过 .git、node_modules、.venv、venv、pycache、dist、target、.next,实际跳过的目录会列在结果的 skipped_dirs 中,把 path 指进这些目录时仍会搜索。find_files 同样跳过这些目录。
run_command:开启后才提供,程序和参数数组直接执行,不自动解析 Shell。默认 30 秒,最多 120 秒,输出最多 64 KiB。
文件工具拒绝越界和子路径符号链接,删除仅移入系统废纸篓/回收站。二进制、GBK 文本和大文件需要另行处理。命令使用当前电脑用户的系统权限,工作目录限制不等于操作系统沙箱;文件系统限制也不能抵御同用户的恶意进程竞争。
仅用于短任务,不托管后台服务。macOS/Linux 会清理命令进程组;Windows 超时用 taskkill 尽力清理进程树,脱离父进程的后台任务可能继续运行。旧版 Windows 非 UTF-8 命令输出可能需要设置编码。
不提供桌面鼠标键盘、远程浏览器或屏幕控制。文件保存在电脑上,但 AI 读取的内容会发送到服务器和所选模型。
日志与通信状态
操作日志默认保存在程序和启动脚本同目录,每天一个文件,名称为 YYYY-MM-DD.log。每条 JSON 记录包含本机时间(精确到秒)、工具名称、目录与路径、成功或失败;命令日志还包含参数、输出、退出码和超时状态。
文件读写日志不记录文件正文,也不记录连接令牌。命令输出和 Shell 字符串可能包含敏感内容,日志应保存在本机,不要上传公共仓库。
配置页每三秒更新通信状态,显示最近通信时间、客户端、进行中的请求、当前权限和日志位置。绿色表示近期有通信或正在操作;超过 90 秒无通信显示空闲。由于 MCP 不依赖持续心跳,空闲不等于断线。
权限与管理员模式
Mac 提供两种启动脚本:
启动.command:以普通用户权限运行。启动-sudo.command:在本机终端输入系统密码,以管理员权限运行。
先关闭正在运行的连接器,再切换启动方式。两种方式共用原用户配置与连接令牌,无需重新配对。编辑文件保留原所有者,新建文件和目录继承父目录所有者。
MCP 向模型说明当前权限;权限不足时,模型应提示用户在本机切换启动方式,不能自行提权或索取系统密码。sudo 不会自动绕过 macOS 隐私权限或系统完整性保护。
Windows 权限取决于启动程序的用户,当前不提供独立管理员启动脚本。
文件回收
delete_file 仅接受授权目录内的普通文件,也可用于普通二进制文件;不删除文件夹,不提供永久删除或自动清空功能。
成功后,工具要求模型提醒用户:确认不再需要,再自行清空废纸篓或回收站以释放空间;清空前可尝试恢复。回收失败时,不应改用 rm、Remove-Item 等永久删除命令作为替代。
Mac 使用系统废纸篓,sudo 模式仍使用原用户的废纸篓。Windows 需要 PowerShell 和本地固定磁盘上的可用回收站;回收前保留保护副本,系统未确认回收时尝试恢复。意外退出或清理失败可能留下 .dsh-trash-recovery-* 文件,请检查原文件与回收站后处理。此过程需要额外磁盘空间。Linux 需要 gio 和可用的系统回收站。
网络与配置
默认 MCP 端口为 18790,本地配置页端口为 18791。Harness 所在环境必须能访问目标电脑的 MCP 端口;防火墙、路由器客户端隔离和网络路由可能影响连接。使用 Tailscale 时,两端必须在线并允许互访。
HTTP 仅适用于可信内网;跨网络可通过 Tailscale 建立加密链路。不要将 MCP 工具端口直接映射到公网。
默认配置位置:
系统 | 配置文件 |
macOS |
|
Windows |
|
Linux |
|
配置保存设备名称、授权目录、命令开关和连接令牌。移走配置后重新启动会生成新令牌,需要重新配对。
可用参数:
参数 | 用途 |
| 指定独立配置文件 |
| 指定 MCP 监听地址与端口 |
| 指定本地配置页地址,必须使用本机回环地址 |
| 指定日志目录 |
| 禁用自动打开配置页 |
在同一台电脑运行多个独立连接器时,应使用不同配置文件、连接令牌、MCP 端口和管理端口。
构建与验证
Go 程序无第三方 Go 依赖。当前兼容构建使用 Go 1.22.12;该工具链已停止官方维护,此版本面向可信网络内的预览使用。
go test -race -ldflags=-linkmode=external ./...
go vet ./...
GO_BIN=/path/to/go1.22.12/bin/go sh build.sh
python3 package-release.pybuild.sh 在 macOS 运行,构建各平台程序,并为 Mac 产物补齐 Mach-O UUID、标注最低系统版本与重新签名。package-release.py 生成 ZIP、启动脚本和 SHA256 校验文件。
测试范围和已知限制见 VERIFICATION.md。
开源许可证
本项目使用 MIT License。
This server cannot be deployed
Maintenance
Related MCP Connectors
Remote MCP server exposing your Node Command fleet (files, shell, processes, browser) to AI hosts.
Use your Mac, Windows or Linux computer from ChatGPT, Claude or Codex: files, commands, documents.
Work on your own computers from Claude or ChatGPT: run commands, edit and search files.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables remote filesystem and CLI access to a Windows machine over LAN through MCP, with file read/write and command execution capabilities.MIT
- FlicenseNot gradedqualityCmaintenanceEnables secure remote access to your computer's filesystem and terminal through MCP, allowing AI assistants to manage files, run commands, and automate tasks from anywhere via a hosted relay.162-
- AlicenseNot gradedqualityCmaintenanceEnables remote MCP clients like ChatGPT to run shell commands and manage files on your local machine via a Cloudflare tunnel, exposing tools for file operations, search, and task management.4MIT
- AlicenseNot gradedqualityBmaintenanceEnables ChatGPT to access a remote computer or server via an outbound-only agent, providing filesystem inspection, file editing, Git inspection, and optional shell execution through MCP.MIT