概览
dsh-proxy-whitelist
README / ZH
插件文档
目录摘要
dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。
在 GitHub 阅读完整 READMELIMITATIONS
已知限制
- **代理地址只能写到端口。** `http://127.0.0.1:7890/proxy` 这种带路径的写法会被卡片拒收:undici 的 `ProxyAgent` 只接受 origin,带路径会在加载时抛错——而加载时的异常以前会变成 unhandled rejection,让**下一次 DSH 启动直接失败**,且坏值已经存进配置、用户没有界面改回来。现在卡片在保存前就拒收,路由层还有一道 `try/catch` 兜底降级为直连。 - **代理地址可以是远程的,但那意味着把 API Key 交给它。** 走代理的每个渠道,请求里都带着该渠道的凭证;`checkProxyUrl` 只校验协议与主机名,不限制地址是不是本机。卡片会在「当前代理」一行标出 ⚠ 提示(`isLocalProxy`),但这只是提示,不是拦截——局域网代理、SSH 隧道端口都是合法用法。不想要这个风险就把地址写回 `127.0.0.1`。 - 只覆盖把 `globalThis.fetch` 落到 undici 全局 dispatcher 的调用方(DSH 的 LLM 传输、web 搜索、HTTP MCP 都属于这一类)。**worker 线程有自己的一份 `globalThis`**,要单独安装 dispatcher,本插件不涉及。 - 不是透明代理:不会改写 WebSocket 之外的协议,也不处理 `CONNECT` 以外的隧道语义。 - 与 `dsh-commandcode-goat` 一类自带 proxy 的插件互不干扰:它们用自己的 dispatcher 发自己的请求,本插件只接管没被它们接管的调用。
