dsh-computer-mcp:用 MCP 让 DSH 操作另一台电脑

前言

DeepSeek Harness(DSH)通常跑在开发机、服务器或 NAS 上,工作区选择器只反映 Harness 所在环境的目录。若希望智能体直接读写家里电脑、办公室台式机上的项目文件,常见做法是 SSH、挂载网盘或把文件同步到 Harness 机器——每种方式都要单独维护连通性和权限边界。

cander0815/dsh-computer-mcp 把「另一台电脑」接到 Harness 的 MCP 工具链里:目标机运行轻量连接器并授权目录,Harness 侧安装 Profile Bundle,通过内网或 Tailscale 调用远程文件与可选命令工具。目标电脑不必安装 Node.js、Python 或完整 Harness。

这是什么

维护者 cander0815 在 GitHub 开源本项目(MIT License),社区目录分类为工作流。仓库同时包含:

  • 目标电脑上的 连接器程序(Go 构建,Streamable HTTP MCP)。
  • 可安装的 DSH Profile Bundle(dsh-plugin),在运行 Harness 的环境中注册 MCP 客户端配置。

连接器与 bundle 分工明确:电脑端程序跑在要被操作的机器上;dsh plugin add 只装配置型 bundle,不会自动下载或启动连接器。

核心功能

以下能力均来自项目 README,文件工具会拒绝越界路径和子路径符号链接。

远程文件

  • 浏览目录、按文件名通配符查找、分段读取、片段编辑、整体写入、移动与重命名。
  • read_file 面向 UTF-8 文本,单文件最大 1 MiB,并返回 SHA-256;edit_file 要求替换片段在文件中唯一出现。
  • write_file 覆盖已有文件需附带最近读取的哈希;delete_file 仅将普通文件移入系统废纸篓/回收站,不支持目录或永久删除。

搜索与命令

  • search_text 支持可选正则与文件名过滤;find_files 只匹配文件名,不支持含 / 的模式。
  • run_command 默认关闭,需在配置页开启;执行不经过 Shell 解析,默认超时 30 秒,最长 120 秒。

运维与权限

  • 本地配置页展示通信状态、授权目录、命令开关与日志位置;每日 JSON 日志便于排查。
  • 发布包支持 Windows 10/11(amd64)、Intel Mac(10.15+)、Apple Silicon Mac(11+);另提供 Linux amd64 与源码。Windows ARM、32 位 Windows 暂不支持。

不提供远程桌面、鼠标键盘或浏览器控制;AI 读取的文件内容会发往模型与 Harness 所用服务,部署前需自行评估网络与信任边界。

安装与启用

1. 目标电脑:运行连接器

  1. 在 Releases 下载对应系统 ZIP,解压到固定目录。
  2. Windows 运行 启动.cmd;Mac 运行 启动.command,或终端执行 ./dsh-computer-mcp。
  3. 在自动打开的配置页(默认管理端口 18791)中选择允许访问的目录并保存;需要命令时再开启「允许 AI 在此电脑执行命令」。
  4. 按内网或 Tailscale 地址复制连接配置,或下载配对文件。MCP 默认端口为 18790。保持程序运行;当前不提供开机自启或设备自动发现。

Mac 首次启动可能因 ad-hoc 签名出现系统提示;Windows 程序未使用商业代码签名,亦可能有安全提示。

2. 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

若使用其他 profile,将 web 换成实际名称。该命令从 GitHub 安装 bundle(package.json 版本为 0.0.1),当前无同名 npm 注册表包;bundle 不含安装时构建脚本。

将配对文件中的 url 与 token 写入 Harness 进程启动环境(不要放进项目 .env):

export DSH_COMPUTER_MCP_URL='http://<目标电脑地址>:18790/mcp'
export DSH_COMPUTER_MCP_TOKEN='<连接令牌>'
dsh --profile web

Windows PowerShell:

$env:DSH_COMPUTER_MCP_URL = 'http://<目标电脑地址>:18790/mcp'
$env:DSH_COMPUTER_MCP_TOKEN = '<连接令牌>'
dsh --profile web

两个变量未完整填写时插件保持禁用。若曾手工加载配置页生成的 local-computer patch,请先停用旧 patch 再使用 bundle,避免重复注册同名 MCP 服务器。修改配置或升级后,需让 Harness 重新连接 MCP 并刷新工具列表。

HTTP 仅适用于可信内网;跨网建议用 Tailscale,不要将 MCP 端口直接暴露到公网。令牌勿提交到公共仓库。

典型用法

在新会话中可明确约束模型使用远程 MCP,而不是 Harness 本机工作区工具。README 建议的说明如下:

请使用 localcomputer MCP 操作连接的电脑。先调用 list_roots,确认设备、授权目录和当前权限,再使用对应的文件或命令工具。不要用 Harness 自带的服务器工具代替;找不到 MCP 工具时请明确告诉我。

常用工具包括:list_roots、list_directory、find_files、read_file、edit_file、write_file、create_directory、move_file、delete_file、search_text,以及开启权限后的 run_command。Harness 工作区选择器仍只显示 Harness 所在环境目录;目标机文件仅通过上述 MCP 工具访问。

适用场景与注意

适合

  • 开发机跑 DSH,项目在另一台 Windows/Mac 上,希望通过对话完成读代码、改片段、搜文本、短命令构建等,且希望用目录授权收窄可见范围。
  • 内网或 Tailscale 已打通,两端防火墙允许访问 MCP 端口。

务必注意

  • 命令以连接器启动用户的系统权限执行;目录授权不是操作系统级沙箱,不能替代对源码与部署方式的审查。安装 bundle 与运行连接器前,应阅读 GitHub 仓库 与许可证。
  • delete_file 成功后需用户自行清空废纸篓/回收站;不应改用永久删除命令替代失败的回收操作。
  • 连接器关闭或机器休眠后 Harness 无法访问该电脑;日志与命令输出可能含敏感信息,应保留在本机。

DSH 生态强调「一切皆插件」;SkillHub 目录页 为社区收录,与 DeepSeek / 幻方无官方从属关系。需要细节、限制与构建说明时,以 cander0815/dsh-computer-mcp README 为准。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜