dataiku/kiji-proxy
Privacy proxy for your OpenAI requests
📦 项目概述
Kiji Privacy Proxy 是一个开源、隐私优先的代理,位于您的应用程序(或浏览器)与 AI 服务 API(如 OpenAI、Anthropic、Gemini 或 Mistral)之间。它会自动检测出站提示中的个人身份信息(PII),将其替换为逼真的虚拟值,转发掩蔽后的请求,然后在响应中恢复原始数据。所有检测均在本地轻量级 DistilBERT 模型(ONNX 优化)上运行,因此敏感文本永远不会离开您的机器。
🎯 核心用例
| 适用人群 | 帮助原因 |
|---|---|
| 构建 AI 应用的开发者 | 防止在向外部 LLM API 发送提示时意外泄露客户数据。 |
| 数据科学团队 | 在将日志或训练数据输入 LLM 前进行清理,确保符合 GDPR、HIPAA、CCPA 等法规。 |
| 支持工程师 | 使用 ChatGPT 进行工单分类,而不会暴露真实的用户电子邮件、电话号码或信用卡号。 |
| 安全/合规官员 | 强制执行透明、可审计的层,掩蔽 26 种内置 PII 类型,并允许添加自定义正则规则。 |
🛠️ 主要功能(根据 README 描述)
| 功能 | 作用 |
|---|---|
| 自动 PII 检测 | 基于 ML 的 DistilBERT 模型(ONNX)识别 26 种实体类型(电子邮件、SSN、信用卡、电话、地址等)。 |
| 无缝掩蔽与恢复 | 在请求离开代理前将检测到的值替换为虚拟数据;原始值会重新插入 LLM 的响应中。 |
| 零代码集成 | 作为本地 HTTP 代理运行(默认 :8081)。macOS 应用自动安装 PAC 文件,使浏览器无需手动配置即可路由 api.openai.com 等。 |
| 浏览器与 Chrome 扩展 | 对 ChatGPT、Claude、Gemini 等进行内联 PII 检测;扩展会就地显示掩蔽的实体。 |
| 可配置掩蔽 | 通过 UI 或配置文件关闭特定实体类型、调整灵敏度或添加自定义正则模式。 |
| 映射审查 UI | Electron 桌面 UI 列出所有掩蔽值,允许单独或批量删除映射。 |
| 快速本地推理 | ONNX 优化模型对大多数请求提供低于 100 毫秒的延迟。 |
| 跨平台交付 | macOS 原生应用(DMG、Homebrew Cask)和 Linux 服务器(deb、tarball、systemd 服务)。 |
| Docker 与 systemd 支持 | 为生产部署做好准备;日志结构化,可发送至您的可观测性堆栈。 |
| 隐私优先设计 | 所有 PII 处理均在设备上完成;遥测为可选,且绝不包含原始提示。 |
| 可扩展 | 您可以微调或替换模型;训练数据和模型已发布在 HuggingFace 上。 |
🚀 快速开始(快速运行摘要)
- 安装
macOS:
brew install --cask dataiku/tap/kiji-privacy-proxy
Linux: 从 Releases 页面下载.deb或 tarball,并运行kiji-proxy(或启用 systemd 单元)。 - 运行代理 – 在 macOS 上,应用自动配置 PAC 文件;在 Linux 上,将
HTTP_PROXY/HTTPS_PROXY设置为http://127.0.0.1:8081。 - 发送请求 – 例如,在提示中包含电子邮件,使用
curl https://api.openai.com/v1/chat/completions …。日志将显示电子邮件被掩蔽,响应中将包含恢复的原始电子邮件。 - 检查/编辑映射 – 打开 Electron UI 查看哪些值被掩蔽,并可选择删除它们。
🏗️ 架构(高层)
您的应用/CLI ──► Kiji Privacy Proxy (HTTP/HTTPS) ──► LLM 提供商 API
│ │ 检测 + 掩蔽 PII │ (仅掩蔽数据)
│ │ 转发请求 │
│ │ 接收响应 │
│ ◄─ 恢复原始 PII ──────────────────◄
▼ ▼
结果包含原始外观数据
- 代理运行一个 Go 服务器(
kiji-proxy),通过 ONNX Runtime 加载 ONNX 模型。它维护一个每请求的映射表(虚拟 ↔ 真实值),用于恢复。 - Electron 前端通过本地 API 读取相同的映射表,提供用于审查、删除和配置的 UI。
- 可选的 Unix 套接字监听器(
PROXY_UNIX_SOCKET_PATH)允许您在套接字后运行代理,而不是 TCP 端口。
📚 文档与可扩展性
- 完整文档 –
docs/README.md,包含安装、开发、构建、发布管理、高级主题、Chrome 扩展、自定义模型训练、掩蔽控制和编码代理集成等章节。 - 模型与数据 – 发布在 HuggingFace 上(
DataikuNLP/kiji-pii-model-onnx、kiji-pii-model、kiji-pii-training-data)。您可以按照 自定义 PII 模型 指南微调或替换模型。 - 自定义正则规则 – 通过 UI 或配置文件添加特定领域的模式。
- 编码代理 – 代理可用于路由 Codex 或 Claude Code 代理,确保生成的包含 PII 的代码也受到保护。
🤝 贡献与社区
- 为错误或功能想法开放问题。
- 签署 Dataiku CLA(机器人引导)后接受拉取请求。
- 欢迎文档改进、模型训练数据贡献或新的合作伙伴集成。
- 社区渠道:GitHub Discussions、Slack(提供邀请链接)以及常规的 GitHub stars/forks。
🔒 安全与隐私
- 所有 PII 检测均在本地运行;模型无外部调用。
- 可选加密存储虚拟↔真实映射。
- 安全披露应私下发送至
opensource@dataiku.com。
📦 发布与许可证
- 最新版本 – macOS DMG(约 400 MB)、Linux tarball(约 150 MB)、Debian/Ubuntu
.deb。 - CI/CD – GitHub Actions 在每次推送/标签时构建和测试。
- 许可证 – Apache 2.0(宽松、商业友好)。
TL;DR
Kiji Privacy Proxy 是一个真正的、生产就绪的工具,允许开发者安全地使用外部 LLM API,而不会冒意外暴露电子邮件、电话号码、信用卡号或其他 PII 的风险。它通过运行本地、ONNX 加速的 transformer 模型来实时掩蔽数据,提供审查 UI,并在响应中恢复原始内容——所有这些都无需对调用应用程序进行任何代码更改。
相关
- 项目
- 项目
- 项目
- 项目
- Dispatch