前言¶
在 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 中的集成方式。
务必注意:
- 插件以当前 DSH 进程权限运行,安装前应阅读源码与 MIT 许可证,并理解 README 免责声明(不提供节点、无担保、使用者自负合规责任)。
- 只影响 Harness 进程内流量,不是系统级全局代理。
- 已知限制:纯 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