让插件出网请求与子进程统一走本地 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 能力
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 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🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Lunatic029/dsh-clash-proxy
让插件出网请求与子进程统一走本地 Clash 代理
相关插件 · 工具 / 效率
破甲管控台kingcharleslzy-ai/dsh-purge
dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。
★ 4,173已汉化DeepSeek 客户端
74.4
网文长卷lingfengQAQ/webnovel-writer
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200…
★ 7,636已汉化DSH
72.2
多智能体协作HKUDS/AutoSwarm
AutoSwarm: Unify Your Agents. Unify Your Context (Codex · Claude Code · DeepSeek Harness · Muse · Grok · WorkBuddy· nanobot · and more)
★ 2,197已汉化DSH
71.7
Vox 拼贴视频生成Alisa0808/vox-director
🎬 Vox Director拼贴动效导演
★ 2,129已汉化DSH
71.4
Agent 演化引擎Q00/ouroboros
智能体 OS:智能体自己变聪明,我们只守住底线:面试准入、分阶段评估、带预算的进化循环。MCP 服务器,14 种运行时:Claude Code、Codex CLI、Gemini CLI、OpenCode、Copilot、Kiro 等。
★ 6,308已汉化DSH
71.3
智能体运行框架路由HarnessRouter/harnessrouter
智能体运行框架的统一接口。
★ 3,897已汉化DSH
71.2