News Hacker|极客洞察

227 10 小时前 tweeks.io
🛠Tweeks(YC W25):用 LLM 自动生成 userscripts 去除网页噪音
真要净化网页,还是最后把广告塞回去?

🎯 讨论背景

这是 Launch HN 上关于 Tweeks(YC W25)的讨论:Tweeks 是一个 Chrome 优先的浏览器扩展,通过把当前页面快照发送给托管的 LLM,然后以自然语言提示生成确定性的 userscript(类似 Greasemonkey 的脚本)来“去除”网站噪音或重排界面。实现细节涉及 @match 风格的域名规则、生成时的页面上传与本地运行的静态脚本、以及基于 Greasemonkey 式的权限模型;讨论集中在隐私(何时外传页面)、鲁棒性(复杂/对抗性站点、Manifest V3 导致的跨浏览器差异)、与商业化/开源选择上。评论里还提到本地推理的可行性(例如把轻量模型如 Gemini nano 打包到浏览器以降低成本与延迟)、社区可发现性与共享脚本的安全审查,以及平台封禁或法律风险。

📌 讨论焦点

实现原理与运行流程

Tweeks 的生成逻辑类似 Greasemonkey 风格的 userscript:脚本带有 @match 式的域名匹配,可以指定单页、整站或全域通配(示例:https://www.youtube.com/* 或 https:///)。生成时会将当前页面快照发送给 LLM,模型返回确定性的 JS/CSS 脚本;生成完成后脚本成为静态代码,在本地对后续页面加载生效,不需要每次都调用 LLM。作者提供意图推断与手动覆盖匹配范围的交互,但实际效果会遇到细节问题(例如移除 YouTube 缩略图后留下大量空白,需要额外 CSS 调整),因此生成-调试-更新仍是常见流程。

[来源1] [来源2] [来源3] [来源4]

隐私与安全权限

生成步骤不可避免地要把页面内容快照传给托管的 LLM,创始人声明这只是生成时发生且随后脚本在本地运行;团队提到与 LLM 提供方签署 DPA(含 do not train/retain 条款)并有 SOC II 合规承诺,但评论者对隐私政策中关于“生成代码使用权”和第三方 API 的表述提出质疑。脚本权限采用类似 Greasemonkey 的 grant 机制(如 GM_xmlhttpRequest、GM_addStyle),用户可以在选项查看脚本代码,但共享功能引发“别人的 deshittify 代码可能藏恶意 payload”的担忧。闭源且请求“访问所有网站内容”的扩展权限,令部分技术用户更倾向于要求开源或本地执行以降低信任风险。

[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7]

商业模式与开源争议

关于赚钱与开源的争论很激烈:创始人称商业模式目前待定,提出的可能路径包括 freemium、付费高级功能,或向站点出售基于用户改动的 UX 洞察報告。评论者怀疑替用户“去除广告/界面”会削弱站方营收,猜测最坏情况是把自家广告注入或出售用户数据;也有人建议把热门修改汇总成付费报告或工具出售给站点。社区就 YC(Y Combinator)资助背景、被收购后滥用风险和是否应将核心功能开源展开讨论,部分人主张点对点或禁止商用授权以保持续性公信力。

[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9]

与现有工具的比较与用户群体

大量评论把 Tweeks 与现有工具对比:Greasemonkey/Tampermonkey/Violentmonkey 和 uBlock Origin 等长期存在的开源方案可以用确定性规则去噪网页,反对者认为无需新的闭源层。支持者指出 Tweeks 的价值在于把写 userscript 的门槛降到“自然语言生成”,让非工程师快速得到可复用的 deterministic 脚本并分享给他人,从而替代用户长期使用的“site‑specific 扩展补丁”。但许多高级用户仍偏好手写以保完全控制,且对跨浏览器(特别 Firefox)支持和扩展权限敏感。

[来源1] [来源2] [来源3] [来源4] [来源5] [来源6]

鲁棒性、维护与技术限制

评论与创始人都承认鲁棒性是核心难题:LLM 在面对 minified/复杂/对抗性的 HTML+CSS+JS 时表现不稳定,本地模型目前普遍难以胜任生成任务。为此团队计划层级维护策略:手动更新、脚本 pull 更新,最终目标是周期性自检并“自愈”选择器,但自动化评估与回归测试仍需人工参与。另一个限制是浏览器生态:Manifest V3(Chrome 的扩展规范)和 WebExtensions userScripts API 的差异增加了跨浏览器移植成本,而实现动态、每次加载都调用 LLM 的实时过滤功能又带来成本与延迟问题,促使团队考虑把轻量本地模型(如评论提到的 Gemini nano 作为示例)作为长期方向。

[来源1] [来源2] [来源3] [来源4] [来源5] [来源6]

分享、可发现性与社区协作

社区非常关心脚本的发现与共享:有人希望像 Pi‑Hole 那样有“全局 deshittify 列表”,访问某站时自动拉取社区优化;作者在路线上已经实现 share/profile 并计划为当前页面展示流行 tweeks,但强调要做到 privacy‑first、避免打扰和防止注入恶意脚本并不容易。有人提出把用户生成的 prompts 汇总成行业趋势报告或训练模型,既可作为商业化路线也能为站点提供可行的 UX 建议;可发现性、审核与信任机制是落地的关键挑战。

[来源1] [来源2] [来源3] [来源4] [来源5] [来源6]

📚 术语解释

userscript(Greasemonkey/Tampermonkey/Violentmonkey): 浏览器脚本管理器运行的自定义 JS/CSS,按域名或 @match 规则注入到页面中,用于隐藏元素、改写样式或改造 DOM 行为。

userScripts API(WebExtensions 用户脚本 API): 浏览器扩展提供的接口,用于注册与执行 userscript;在 Manifest V3 环境下是注入外部/动态脚本的官方路径,浏览器间实现存在差异。

Manifest V3 (MV3): Chrome 的扩展 manifest 规范新版本,限制后台与远程代码执行,改变了广告拦截器和 userscript 管理器的实现方式并带来兼容性挑战。

uBlock Origin: 一个流行的开源内容拦截扩展,使用 blocklist 与 cosmetic rules 来隐藏广告与页面元素,是许多用户去噪网页的工具。

GM_* API(如 GM_xmlhttpRequest、GM_addStyle): Greasemonkey/Tampermonkey 暴露给 userscript 的能力接口(跨域请求、注入样式等),通常以 grant 权限声明形式出现,决定脚本能否做网络请求或改变页面外观。