Skip to content

Releases

v0.2.1 — 插件页开关即接管开关

Choose a tag to compare

@ExplorerZYzhou ExplorerZYzhou released this 21 Oct 17:47

插件页开关 = 接管开关

启用/停用本插件,就是"用免费搜索 / 回官方搜索"的开关:

  • 启用:apply 把 web.searchProvider 写成 freeweb,覆盖官方设置页里选的那个
  • 停用:不做任何清理 —— 接管写入的 freeweb 恰好等于本 bundle 的 patch 默认值,
    DSH 会把它规范化成"清除覆盖";插件停用后 bundle patch 消失,配置自然回落到官方默认
  • 官方设置页再改也会被抢回:插件监听 settings/document-updated

主要变更

  • 新增:启用即接管(此前需要手动改配置或在设置页里选)
  • 精简:267 → 184 行,删除全部"时间设计"(dispose 让位 / 延迟重试 / 代际计数 / settings 缓存)
  • 修复:去重从普通对象改为 Set,避免 constructor、toString 这类 URL 被误判成重复
  • 文档:README 新增「插件页开关 = 接管开关」一节 + 已知限制
  • 版本:0.2.0 → 0.2.1

为什么删掉那些时间设计

实测结论:它们全部无效,而且互相打架——

  • dispose 发生在 HMR 事务内部,写入被拒(HMR transactions cannot be nested)
  • 延迟到事务之外时,插件的 fiber 已经销毁,写入同样失败
  • "避开事务"和"fiber 还活着"在时间上不可兼得

最终发现一个更简单的性质:接管写入的值等于 bundle 默认值 → DSH 自动"清除覆盖" → 插件停用后配置自然回落。既然不需要清理动作,就不需要那些代码。

已知限制

项 说明
回落版本不保证 停用后回的是 DSH 默认搜索(当前 deepseek-official),不保证是你设置页里选的那一版
3 秒窗口 apply 时 settings 服务尚未挂载,接管延迟 3 秒;极慢的机器上可能静默跳过
官方淘汰旧搜索 届时再做适配

兼容性

  • DSH 0.2.0-rc.2 实测通过(组合包形态)
  • 零依赖:无 require / import
  • 手动挂载方式仍受支持

v0.2.0

Choose a tag to compare

@ExplorerZYzhou ExplorerZYzhou released this 08 Oct 17:28

DSH freeweb v0.2.0 — 组合包化

这是一个形态变更版本:从「裸单文件 + 手动 patch」升级为官方组合包(bundle)。

新增

  • package.json:声明官方规范字段 dsh.bundle.patch(manifestVersion: 1),以及 engines / repository / homepage / bugs
  • cordis.patch.yml:组合包层 patch(web 行覆盖 + 注册 freeweb-search)
  • .gitattributes:统一 LF 行尾

安装方式(三选一)

  1. 插件页(推荐,DSH 0.2.0+):侧栏 插件 → 添加插件 → 输入本目录绝对路径
  2. CLI:npx @deepseek-ai/dsh plugin --profile web add "<本目录绝对路径>"
  3. 手动挂载(不需要 pnpm):把 freeweb-search.js 放进 profile,按 example-cordis.patch.yml 追加两行 patch

装上后可在插件页「已安装」分组看到 dsh-freeweb,支持整包启停/卸载,以及单独启停 freeweb-search 行。

适配核对

  • seam 接口(registerSearchProvider / WebSearchProvider / 请求与结果字段)字段级完全兼容,插件逻辑零改动
  • freeweb-search.js 本次仅新增说明性注释(available() 恒真之理由、maxResults/truncated 与 seam 的权威关系)
  • profile 侧完整往返实测通过:卸载 → 搜索回落官方 → 重装 → 恢复免费后端
  • 全新 profile 从零安装、层级优先级(profile patch 可覆盖 bundle patch)均已验证

已知限制

见 README「已知限制与设计权衡」:免费层限速、索引偏英文、fetchProvider: http 被本包固定等。

0.1.0 用户请注意:请改用上述任一新方式安装;旧的手动 patch 与新组合包不要并存(会触发 WEB_DUPLICATE_PROVIDER)。

v0.1.0

Choose a tag to compare

@ExplorerZYzhou ExplorerZYzhou released this 27 Aug 18:20

DSH freeweb v0.1.0

DSH 免费网页搜索 provider 首个版本:把 DeepSeek 官方按量计费的 web_search 切换成 Parallel 免费搜索后端(匿名免 key,永久免费层)。

✨ 特性

  • 🆓 真·零依赖:纯全局 fetch + 标准 JS,无任何 import
  • 🔒 匿名免 key:Parallel 免费后端,无需账号、无需 API key
  • 🧹 干净可逆:安装 = 1 个文件 + 2 行 patch,装删两行之间
  • 🧯 故障透明:所有异常返回诊断信息或留日志,不静默失败
  • 🌐 中文可用:Parallel 索引支持中文查询

📦 安装

  1. 把 freeweb-search.js 放进 ~/.dsh/profiles/web/
  2. cordis.patch.yml 加两行(见 README)
  3. 重启 DSH

详细说明见 README

⚠️ 限制

  • 免费层有速率限制(个人日常使用足够)
  • 功能不强——定位为"快速无负担的免费联网补丁"(详见 README「定位与取舍」)

🤝 Credits

设计协作:DeepSeek V4 Flash 0731(AI 协作者)

📄 License

MIT