dsh-clash-proxy:DeepSeek Harness 按需代理(Clash 内核 + 独立面板)

前言

在 DeepSeek Harness(DSH)里跑智能体时,联网往往分散在几条路径上:web.fetch 抓页、搜索引擎委托、node:http(s) 脚本、以及面板自建的浏览器。若把整个系统代理打开,容易牵连模型 API 与其它进程;若完全直连,又可能在特定主机上延迟过高或无法连通。常见做法是手动切环境变量或在外部再起一层代理,和 Harness 内的通道开关对不齐。

下面介绍社区插件 dsh-clash-proxy(维护者 ll4514dvdvdb,当前版本 0.2.0)。它把 Clash / Mihomo 一类内核接到上述四条通道,并提供本地 Web 面板做开关、选节点与测速;默认全关,且不修改 Windows 系统代理、WinHTTP 或 TUN。

这是什么

dsh-clash-proxy 是 DSH 的客户端类插件:软件层面的请求转发与 GUI 集成,不是网络服务。分类上属于按需规则分流代理;GitHub 仓库 ll4514dvdvdb/dsh-clash-proxy 采用 MIT 许可证。

插件不提供任何节点、订阅链接、机场、账号或服务器;使用者须自行准备合法可用的网络访问,并确保用途符合所在地法律法规。README 中有完整的免责声明与使用条款,安装或推荐前应完整阅读并接受。

社区目录页 SkillHub · dsh-clash-proxy 与 GitHub 无 DeepSeek / 幻方官方从属关系,只是独立插件索引。

核心功能

独立面板与总开关

GUI 中有「代理」页签;也可在 DSH 本地服务上打开:

http://127.0.0.1:55238/clash-proxy-panel/

总开关状态写入 panel.json,插件重载或 DSH 重启后会恢复;关闭时各通道立即回落直连。

四条通道

通道 作用范围
web.fetch Harness 的 ctx.web fetch
search 委托给上游搜索引擎的那次调用
scripts 进程内 node:http(s)
browser 面板自建的 Chromium(Playwright,默认 msedge channel)

每条通道可单独开关,模式为 auto / on / off。

auto 时先走规则引擎(国内域名/IP 直连),再 TCP 探测直连 RTT:RTT ≤ auto.directThresholdMs(默认 1500ms)则直连,否则走代理;结果按主机缓存 auto.cacheSeconds(默认 600s),后台每 5s 预热。

面板其它能力

  • 连通性与带宽:直连 vs 代理对比、节点延迟、带宽采样
  • 节点:订阅表、选用节点、填写订阅链接刷新
  • 伪装:UA、Accept-Language、时区、WebRTC、DNS、navigator.webdriver 等
  • 决策日志:记录每次走/不走代理的原因

HTTP API 前缀为 /clash-proxy-panel/api/(如 GET state、POST toggle 等);仅接受 loopback Host,且 API 需请求头 x-clash-proxy: 1。

Harness 工具

工具 说明
proxy_control action:on / off / status / refresh / connectivity / bandwidth / select / env;可选 node、subscriptionUrl
proxy_fetch 参数 url、maxChars;经代理抓取正文(若关着会先打开,抓完保持开启)

数据目录:Linux/macOS 为 ~/.dsh/clash-proxy/,Windows 为 %USERPROFILE%\.dsh\clash-proxy\,存放订阅缓存、panel.json、state.json、浏览器 profile 等。

安装与启用

环境要求(来自 package.json):

  • Node.js >=20
  • DSH 引擎 >=0.1.7-rc.1;文档标注与 0.2.1-rc.3 兼容

README 未给出固定的 CLI 安装命令。SkillHub 目录页提供「发送给 DeepSeek Harness 安装」文案,插件标识为 ll4514dvdvdb/dsh-clash-proxy,并要求安装前先读取 README 免责声明。在 Harness 对话中按该页说明发起安装即可。

安装后若 GUI 未出现「代理」页签,README 注明:页签依赖 GUI 重新加载页面,插件热重载只更新宿主侧。

典型用法

1. 用面板打开总开关并选通道

打开 http://127.0.0.1:55238/clash-proxy-panel/,打开总开关,在「通道与作用范围」里为 web.fetch、search 等设置 auto 或 on,在节点区填入自有订阅链接并刷新,再选用节点。

2. 用 proxy_control 查状态或导出环境变量

在 Harness 中调用工具 proxy_control,例如查看状态、刷新订阅、测连通性或执行 action: env 导出 HTTP(S)_PROXY 供外部脚本使用(与 scripts 通道的隧道逻辑配合)。

3. 用 proxy_fetch 经代理拉取 URL 正文

传入 url 与可选 maxChars;插件在代理关闭时会先开启,抓取完成后保持开启状态(行为以 README 为准)。

4. 开发者自检(克隆仓库后本地运行)

若在源码树中验证,可执行 README 中的 smoke 脚本,例如:

node scripts/smoke-panel.mjs
node scripts/smoke-host.mjs
node scripts/smoke-controller.mjs
node scripts/smoke-client.mjs

适用场景与注意

适合:需要在 DSH 进程内(含面板自建浏览器)按规则分流、又不想动系统全局代理的开发者;在自有或已授权网络下做连通性、延迟与带宽测试;研究代理与规则引擎在 Harness 中的集成方式。

务必注意:

  1. 插件以当前 DSH 进程权限运行,安装前应阅读源码与 MIT 许可证,并理解 README 免责声明(不提供节点、无担保、使用者自负合规责任)。
  2. 只影响 Harness 进程内流量,不是系统级全局代理。
  3. 已知限制:纯 JS 实现不覆盖订阅中的 hysteria2 / tuic / reality 节点;带宽为窗口式采样(默认 8s);dsh-reef 浏览器无注入点,不受本插件 browser 通道影响。

结尾

dsh-clash-proxy 把 Clash 内核能力接到 DSH 的四条联网通道,并用本地面板集中管理开关、节点与诊断日志,在默认关闭的前提下按需出代理,避免牵连系统代理与其余进程流量。

  • 目录页:https://www.skillhub.cn/plugins/ll4514dvdvdb/dsh-clash-proxy
  • GitHub:https://github.com/ll4514dvdvdb/dsh-clash-proxy
羽毛球分组比赛记分
小程序二维码

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

小夜