dsh-cloudflare-codemode:在 DSH 里用 Code Mode 管 Cloudflare 全产品线

前言

在 DeepSeek Harness(DSH)里让模型改 DNS、部署 Workers、查 D1,常见做法是手写 MCP 工具或把 API Token 写进 profile。Cloudflare 产品线多、接口常更新,逐接口封装维护成本高;Token 和 OAuth 访问令牌还会过期,明文塞进 cordis.patch.yml 既不灵活也不省事。

Cloudflare 在 2025 年提供了官方 Code Mode MCP(https://mcp.cloudflare.com/mcp),用 search 与 execute 覆盖完整 OpenAPI 规格里的端点,而不是为每个产品单独暴露工具。社区插件 dsh-cloudflare-codemode(维护者 aikunx,分类:联网工具)负责把这套能力接到 DSH,并解决凭据存放与刷新问题。下面介绍它是什么、怎么装、怎么用。

这是什么

dsh-cloudflare-codemode 是面向 DSH 的第三方 Host 插件:不封装单个 Cloudflare REST 接口,而是在本机起一个只做认证注入的代理,让 DSH 自带的 @deepseek-ai/dsh-mcp-client 连上官方 Code Mode MCP。模型侧可用工具包括 search(检索端点与参数)、execute(通过 cloudflare.request() 调用任意 API),以及 docs、whoami;资料写明可动态访问 2,500+ 个 Cloudflare API 端点,覆盖 Workers、DNS、R2、KV、D1、Pages、Zero Trust、AI Gateway 等。

插件附带可视化设置页「Cloudflare 全功能管家」,支持 OAuth 2.1 浏览器授权(PKCE + 动态客户端注册)与 API Token 两种方式;凭据保存在本机 ~/.dsh/dsh-cloudflare-codemode.json(权限 0600),不进对话、不写进 profile 明文。许可证为 MIT;package.json 版本为 1.0.0;运行需 Node.js ≥ 22,DSH 0.2.x(README 已验证 0.2.1-rc.2)。

为什么需要本地代理

DSH 的 MCP 客户端偏「配置即连接」:地址和认证头写在 profile 里,改一次往往要动 YAML 并重启。Cloudflare 凭据会变化——OAuth 访问令牌约两小时过期、API Token 可能被吊销。本插件在 127.0.0.1 上监听代理(默认端口 18923),每次请求重读凭据文件,OAuth 在代理内透明刷新,从而做到:密钥不进 cordis.patch.yml(那里 mainly 只配端口)、面板保存后下一次调用即生效、无需为改 Token 重启整套 MCP 配置。

核心功能

  • 全产品读写(经官方 MCP):DNS、Workers、Pages、R2、KV、D1、Zero Trust 等,由 Cloudflare 维护的规格驱动,新接口不必等插件发版。
  • 双认证:OAuth 推荐;或填 Account ID + API Token,面板可「保存并测试连接」。
  • 可视化面板:认证方式切换、连接状态、工具数量、权限说明;支持连接自检(MCP 握手与 tools/list)。
  • 零运行时依赖 @deepseek-ai/* 导入:Host 半主要用 Node 内置模块,README 说明不受 DSH 内核版本闸门限制;MCP 协议仍由 DSH 自带的 dsh-mcp-client 处理。

GitHub 仓库当前 1 星标;与 Cloudflare、DeepSeek 无隶属关系,属社区独立插件。

安装与启用

环境:DSH 0.2.x、Node ≥ 22。Web 端与桌面端仅 profile 名不同(web / desktop)。

从 npm 安装(README 推荐):

dsh plugin --profile web add dsh-cloudflare-codemode

从 GitHub 安装:

dsh plugin --profile web add github:aikunx/dsh-cloudflare-codemode

桌面端把 web 换成 desktop。也可在 设置 → 插件 → 安装插件 填入 https://github.com/aikunx/dsh-cloudflare-codemode,或在 设置 → 插件 → 市场源 添加:

https://raw.githubusercontent.com/aikunx/dsh-cloudflare-codemode/main/market.json

安装后按 README 要求:重启 DSH(Host 插件需重启加载),浏览器 Ctrl + Shift + R 强刷,再进入 设置 → Cloudflare 全功能管家 完成 OAuth 或 API Token 配置。

cordis.patch.yml 中可改 port(默认 18923);若改端口,需同步修改同一文件中 cloudflare-codemode-mcp 行的 url。

配置凭据

OAuth(推荐):面板选 OAuth →「开始 OAuth 授权」→ 浏览器登录 Cloudflare 并授权 → 面板显示已连接。无需预先创建 OAuth App;令牌自动续期。

API Token:面板选 API Token → 填 Account ID(控制台 32 位十六进制)与 API Token →「保存并测试连接」。写操作需在 Cloudflare 控制台为 Custom Token 勾选相应 Edit 权限(DNS、Workers Scripts、Pages、KV、D1、R2 等);只给 Read 时列表可查,部署与改记录易遇 403。README 附有逐项权限表,可按表在 API Tokens 创建。

典型用法

连接成功后,在对话里用自然语言即可;模型会先 search 查规格,再 execute 发请求。README 示例包括:

  • 列出账号下所有 Zone → 对应 GET /zones
  • 为域名添加 A 记录 → search 定位 POST /zones/{zone_id}/dns_records 后 execute 创建
  • 部署目录到 Workers → search 上传与部署端点后分步 execute
  • 查询 D1 表数量 → POST /accounts/{id}/d1/database/{db}/query

本机可查看代理状态:

curl http://127.0.0.1:18923/cloudflare-codemode/state

适用场景与注意

适合已在 DSH 里做运维、建站、边缘开发,希望用对话操作 Cloudflare 全栈、又不愿维护大量自定义 MCP 工具的开发者。插件以当前 DSH 进程权限运行,安装前建议阅读仓库源码与 MIT 许可证,确认代理仅绑定回环地址、凭据路径与权限模型符合你的安全要求;切勿把 API Token 粘贴到聊天或 Issue。

故障排查可参考 README:未连接时先完成凭据并等待桥接重连;401 多为 Token 失效;403 多为权限不足;R2 错误 10042 表示账户未开通 R2;端口占用则改 cordis.patch.yml 两处端口后重启。

结尾

dsh-cloudflare-codemode 把 Cloudflare 官方 Code Mode MCP 接到 DSH,用本地认证代理补上 OAuth 续期与 Token 热更新,让模型通过 search / execute 覆盖数千个 API,而不是依赖插件作者逐个封装接口。

  • 插件目录页:https://www.skillhub.cn/plugins/aikunx/dsh-cloudflare-codemode
  • GitHub:https://github.com/aikunx/dsh-cloudflare-codemode

DSH 生态强调「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

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

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

Xiaoye