1作者: hugs大约 1 个月前原帖
我在21年前开始了Selenium项目。如果今天重新开始,考虑到人工智能代理,我会构建Vibium。它在底层使用Go二进制文件(处理浏览器、双向通信和MCP),但开发者并不会看到这些。只需运行`npm install vibium`即可。Python和Java版本正在开发中。 关于Claude代码:`claude mcp add vibium -- npx -y vibium` V1版本今天发布。欢迎提问。
1作者: shouldweshipit大约 1 个月前原帖
6作者: tjruesch大约 1 个月前原帖
嗨,HN, 我是 Bridge Anonymization 的维护者之一。我们之所以开发这个工具,是因为现有的敏感用户内容翻译解决方案无法满足许多注重隐私的客户(如政府、银行、医疗等)的需求。 我们无法将个人身份信息(PII)发送到第三方 API,但标准的内容遮蔽会破坏翻译质量。如果将 “John” 处理为 “[PERSON]”,翻译引擎就会失去性别上下文(通常默认为男性),这在法语或德语等语言中会导致语法不一致。 因此,我们为 Node.js/Bun 构建了一个可逆的、本地优先的处理流程。以下是我们在实现过程中处理复杂部分的方法: 0. 映射 我们使用类似 XML 的标签,带有唯一标识 PII 的 ID,例如 `<PII type="PERSON" id="1">`。翻译模型及其周边系统自计算机辅助翻译工具诞生以来就一直使用 XML 数据结构,因此这提高了与现有工作流程和系统的兼容性。一个 `PIIMap` 被本地存储,以便在翻译后进行恢复(默认使用 AES-256-GCM 加密)。 1. 混合检测引擎 显然,单靠正则表达式或命名实体识别(NER)都不足以解决问题。 - 结构化 PII:我们对 IBAN(模97)和信用卡(Luhn)等信息使用严格的正则表达式和校验和进行验证。 - 软 PII:对于姓名和地点,我们直接在处理过程中通过 `onnxruntime-node` 运行量化的 `xlm-roberta` 模型。这使我们能够避免使用 Python 侧车,同时保持包的“轻量级”(量化模型仍然约 280MB,但在桌面环境中是可以接受的)。 2. “幻觉”保护(模糊恢复) 大型语言模型(LLMs)在翻译过程中常常会“扭曲” XML 占位符(例如,将 `<PII id="1"/>` 转换为 `< PII id = « 1 » >`)。我们实现了一个模糊标签匹配器,使用灵活的正则表达式模式来检测这些伪影。即使属性顺序被重新排列或引号被更改,它也能识别标签,从而确保我们始终能够将令牌映射回原始加密值。 3. 语义遮蔽 我们目前正在研究“语义遮蔽”——为 PII 标签添加上下文(如 `<PII type="PERSON" gender="female" id="1"/>`),以保留翻译的(性别)上下文。目前,我们依赖于轻量级查找表的方法,以避免第二个机器学习模型的开销或微调的麻烦。到目前为止,这在大多数用例中效果良好。 代码采用 MIT 许可证。我很想听听其他人是如何在保护隐私的自然语言处理管道中处理“上下文丢失”问题的!我认为这也可以很容易地推广到其他大型语言模型应用中。