jinsiyu/dsh-webproxy-router-plugin
jinsiyu★ 2JavaScript最后同步: 2026-08-15
一个deepseek harness webfetch的代理插件,可以让llm自己维护代理列表,让llm也能科学上网
README 摘要
Proxy Router — 静态插件(官方 npm 包形态) 将 ctx.web 抓取请求按 hostname 规则路由到 HTTP/SOCKS 代理的静态插件: host 插件 + dsh.client 声明的 client bundle(设置卡片) ,经 profile 组合加载,参数经官方 settings 服务持久化。 包结构 服务与扩展点 能力 机制 请求路由 ctx.web.registerFetchProvider({id:'proxy-router'}) :命中规则的 hostname 走代理,其余直连 请求引擎 node-fetch + https-proxy-agent (http/https 代理)/ socks-proxy-agent (socks);CONNECT 隧道、TLS、chunked、重定向跟随由库处理;200KB 截断 + 超时由宿主封装 管理工具 ctx.tools.register : proxy manage (set proxy / clear proxy / add / remove / list / test) 配置持久化 ctx.settings.register('proxy-router', z.object({proxy, rules})) ;变更经 scope.update 写入 settings 文档;scope.watch 同步外部修改 设置卡片 client bundle 在 settings.plugin.item (设置→插件→插件配置)注册折叠卡片(id proxy-router,order 30); 数据通道走官方 ctx.webServer JSON API ( GET/POST /proxy-router/config 、 POST /proxy-router/test )——当前 DSH 版本的配置客户端边界( dsh-host-apiproxy 的 WEB SETTINGS NAMESPACES 白名单,注释声明插件自行暴露配置为延后工作)不暴露第三方命名空间,settingsScope/describe 对 proxy-router 返回 unavailable,故卡片不依赖它;表单按官方模式构建:GET 响应附带序列化 schema → 官方 rehydrateSchema 还原活校验器、 setPath / deletePath 编辑草稿、 validateDraft 校验(与宿主同一份 schema),控件用官方 primitives Input / Button ,写入由宿主权威校验;卡片外壳复刻内置 PluginCard 外观(内嵌发行包 CSS 类 YyYd a / At1oFq 排版,展开箭头用官方 IconChevronDownOutline14 ) 模型上…
在 GitHub 查看完整 README →