🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

Clash 出网代理 Lunatic029/dsh-clash-proxy

DeepSeek 客户端v0.2.0
Lunatic02965 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

让插件出网请求与子进程统一走本地 Clash 代理

28.9/100
综合分
1
GitHub 星标
61
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/Lunatic029/dsh-clash-proxy.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
生态插件
可安装,未声明 dsh 能力
装得上吗
静态安装检查通过
未做真实安装
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 65 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-clash-proxy @ 0.2.0
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/23 13:52:34

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 17 处,展示前 17 条)
  • 发起网络请求
    lib/client.js:214
    const response = await fetch(apiBase + path, {
  • 写入本地文件
    lib/core/manager.js:248
    await mkdir(dir, { recursive: true });
  • 写入本地文件
    lib/core/manager.js:249
    await writeFile(cachePath, raw);
  • 写入本地文件
    lib/core/manager.js:250
    await writeFile(metaPath, JSON.stringify({ at: Date.now(), url }));
  • 读取本地文件
    lib/core/manager.js:256
    const cached = await readFile(cachePath, "utf8").catch(() => null);
  • 读取本地文件
    lib/core/manager.js:262
    const meta = await readFile(metaPath, "utf8").then((text) => JSON.parse(text)).catch(() => null);
  • 写入本地文件
    lib/core/manager.js:269
    await mkdir(this.dataDir, { recursive: true });
  • 写入本地文件
    lib/core/manager.js:270
    await writeFile(join(this.dataDir, "state.json"), JSON.stringify({ selected: this.#selected }));
  • 读取本地文件
    lib/core/manager.js:278
    const state = JSON.parse(await readFile(join(this.dataDir, "state.json"), "utf8"));
  • 发起网络请求
    lib/core/subscription.js:30
    ? new ProxyAgent(fetchProxyUrl)
  • 发起网络请求
    lib/core/subscription.js:33
    const response = await fetch(url, {
  • 读取本地文件
    lib/core/rules.js:23
    return JSON.parse(gunzipSync(readFileSync(join(dataDir, name))).toString("utf8"));
  • 读取本地文件
    lib/core/transports.js:532
    try { return existsSync(CONNECTOR_PATH); } catch { return false; }
  • 执行外部命令来自配置/变量
    lib/core/transports.js:556
    const child = spawn(CONNECTOR_PATH, [proto, nodeB64, host, String(port)], {
  • 发起网络请求
    lib/core/inject.js:117
    builtin.setGlobalDispatcher(new builtin.ProxyAgent(target));
  • 发起网络请求
    lib/core/inject.js:136
    const proxyAgent = new ProxyAgent(target);
  • 发起网络请求
    lib/core/inject.js:138
    const wrapped = function fetch(input, init) {
扫描于 2026/11/2(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 出网请求走本地代理
  • 子进程走本地代理
  • 统一Clash代理

把 DeepSeek Harness 的出站网络走 Clash——LLM、网页搜索/抓取和 shell 命令都走你本地的 Clash 代理。

README

由 DeepSeek 最新模型翻译生成
CI License dsh-clash-proxy 让 DeepSeek Harness 的出网流量走本地代理(Clash、V2Ray 等),并自动绕过回环与内网地址。 当你需要让 Harness 通过代理访问外网(例如 Clash 跑在 127.0.0.1:7897)时,这个插件会让所有出网请求都走那条路: - Harness 自己的 fetch(网页搜索、网页抓取、LLM 调用)→ 通过 undici dispatcher - agent 的 shell 里跑的子进程(git、curl、npm、pnpm…)→ 通过标准的 HTTP_PROXY / HTTPS_PROXY / NO_PROXY 环境变量 - 代理不可达时,网页里弹一个短暂的提示(toast) 环境要求 - Node.js >= 22(与 Harness 的引擎范围一致) - 一个带 profile 的 DeepSeek Harness(例如 web) - 一个暴露 HTTP CONNECT(混合)端口的本地代理 安装 dsh plugin --profile web add github:/dsh-clash-proxy 或发布到 npm 后: dsh plugin --profile web add dsh-clash-proxy
展开完整文档(README 剩余 1 节)
CI
License

dsh-clash-proxy

让 DeepSeek Harness 的出网流量走本地代理(Clash、V2Ray 等),并自动绕过回环与内网地址。

当你需要让 Harness 通过代理访问外网(例如 Clash 跑在 127.0.0.1:7897)时,这个插件会让所有出网请求都走那条路:

- Harness 自己的 fetch(网页搜索、网页抓取、LLM 调用)→ 通过 undici dispatcher
- agent 的 shell 里跑的子进程(git、curl、npm、pnpm…)→ 通过标准的 HTTP_PROXY / HTTPS_PROXY / NO_PROXY 环境变量
- 代理不可达时,网页里弹一个短暂的提示(toast)

环境要求

- Node.js >= 22(与 Harness 的引擎范围一致)
- 一个带 profile 的 DeepSeek Harness(例如 web)
- 一个暴露 HTTP CONNECT(混合)端口的本地代理

安装

dsh plugin --profile web add github:/dsh-clash-proxy
或发布到 npm 后:
dsh plugin --profile web add dsh-clash-proxy

然后在 profile 的 cordis.patch.yml 里配置代理:

- id: dsh-clash-proxy
config:
proxy: 'http://127.0.0.1:7897'

重启 Harness。省略 config.proxy 时,默认读取 $HTTPS_PROXY / $HTTP_PROXY / $ALL_PROXY。

配置

| 键 | 类型 | 默认值 | 含义 |
| proxy | string | 代理环境变量 | 代理地址,如 http://127.0.0.1:7897 |
| enabled | boolean | true | 设为 false 完全禁用插件 |
| noProxy | string[] | [] | 额外要绕过的域名 / IP / CIDR |

绕过(NO_PROXY)

以下地址始终绕过代理,保证回环和本地服务正常:

localhost、127.0.0.0/8、::1、10.0.0.0/8、172.16.0.0/12、192.168.0.0/16、169.254.0.0/16

再加上 $NO_PROXY 和 config.noProxy。支持 IPv4 CIDR 匹配。

工作原理

- 安装一个进程级 undici dispatcher,按 NO_PROXY(含 IPv4 CIDR)把每个请求路由到代理或直连
- 设置 HTTP_PROXY / HTTPS_PROXY / ALL_PROXY / NO_PROXY,让子进程继承同样的路由
- 暴露 GET /dsh-clash-proxy/status → { "reachable": boolean },网页端据此轮询并显示「代理不可达」toast

插件卸载时会恢复之前的 dispatcher 和环境变量。

已知限制

- git clone git@…(SSH,22 端口)不走代理——只覆盖 HTTP/HTTPS。
- agent 自己跑的 Node 脚本若直接调用 fetch,不会读 HTTP_PROXY;只有 Harness 自己的 fetch 走 dispatcher。
- 下载速度完全取决于代理节点的带宽和稳定性。
- 只支持 HTTP CONNECT 代理(Clash 的「混合」端口);SOCKS 不在范围内。

开发

pnpm install
pnpm build # tsc(host)+ tsdown(client)
pnpm test

许可证

MIT
预览分享卡片长什么样 ↓Lunatic029/dsh-clash-proxy
分享 · DeepSeek Harness Hub
Lunatic029/dsh-clash-proxy

让插件出网请求与子进程统一走本地 Clash 代理

回到顶部