maskit

Maskit:本地隐私脱敏网关——AI 请求出站前自动把密钥/连接串/PII 打码为结构化占位符,回复 SSE 流式无感还原,多轮映射一致,免装根证书,支持 Cursor/Claude Code/Codex 等任意可配 Base URL 工具。AGPL-3.0。

📅 收录: 2026-09-14 🔄 更新: 2026-09-14

这是什么?适合谁?

Maskit(AGPL-3.0,Windows/macOS 桌面端 + Docker amd64/arm64)是一个架在”你的开发终端”与”外部大模型服务”之间的本地隐私防护网关。它要解决的问题很具体:用 Cursor / Claude Code / Codex / Pi / OpenCode / Aider 等任意 AI 编程工具时,代码里的 API Key、数据库连接串、内网 IP、手机号、身份证等敏感信息会不知不觉被发到外部模型服务商。

Maskit 的做法是双向透明代理

  • 出站自动打码:请求经过本地网关时,敏感数据被替换成结构化占位符(如 mysql://root:***@192.168.1.50:3306/db{{CONNSTR_zkpmqx}}李四 13800138000{{TERM_fnqtsw}} {{PHONE_bcdfgh}}),外部模型完全看不到真实数据
  • 回复流式还原:模型围绕占位符正常推理作答;响应回传时逐事件(SSE 流式)毫秒级把占位符还原成原文,保留原生打字机体验;
  • 多轮会话一致性:同一长对话中”张三”在第 1 轮和第 10 轮始终映射为同一个占位符,模型逻辑推理不串号。

适合谁:在企业/合规环境下使用云端大模型 API 做编程、又不能把凭据与内网拓扑外发的开发者;用聚合网关/中转站(One API / New API)并希望统一出口脱敏的团队。

不适合谁:只用本地模型(Ollama 等)不出网的用户(无需此层);对 AGPL-3.0 传染性敏感且要基于它改做商业闭源分发的团队。

使用前提:桌面端(Windows/macOS)或 Docker;你的 AI 工具必须支持配置 Base URL(绝大多数主流工具都支持)。

准备工作

  1. 环境:Windows 或 macOS 桌面端;或 Docker(amd64/arm64)
  2. 获取GitHub Releases 下载安装包,或 docker pull 对应镜像
  3. 成本:开源免费;Maskit 本身不收费,LLM 调用费用仍按你的上游 API 计
  4. 时间:安装 + 首次接入一个工具约 10 分钟
  5. 前置知识:知道怎么改自己工具的 API Base URL;理解”本地反向代理”概念
  6. 替代方案:企业级 DLP/API 网关(重、贵);自写 mitmproxy 脚本(费维护);不脱敏硬发(不建议)

快速上手(3 步)

第一步:安装并启动 Maskit

桌面端从 Releases 下载安装后启动;Docker 用户拉镜像运行。启动后本地默认监听三个协议端口:

OpenAI 协议   http://127.0.0.1:18701/v1
DeepSeek 协议 http://127.0.0.1:18702/v1
Anthropic 协议 http://127.0.0.1:18703

(可自由添加修改,为不同模型/渠道分配独立本地端口。)

预期产出:Maskit 控制台可用,本地端口已监听。

第二步:把你的工具指到本地端口

以 Cursor 为例:SettingsModelsOpenAI Base URLhttp://127.0.0.1:18701/v1,API Key 填你的真实 Key(Maskit 本地收到后安全转发给上游)。

Claude Code 用环境变量:

export ANTHROPIC_BASE_URL="http://127.0.0.1:18703"
claude

Codex / Pi / OpenCode / Aider 等任意命令行工具同理:

export OPENAI_BASE_URL="http://127.0.0.1:18701/v1"
export OPENAI_API_KEY="your-api-key"

预期产出:工具流量已走本地网关,正常对话不受影响。

第一步半(可选):验证脱敏真的生效

在工具里发一条含敏感信息的请求,如”排查数据库:mysql://root:***@192.168.1.50:3306/db,联系人李四 13800138000”,然后打开 Maskit 的实时日志查看该笔请求:应看到出网内容已变成 {{CONNSTR_...}} / {{TERM_...}} {{PHONE_...}},模型回答回传后原文无感还原。日志支持一键高亮原文对照。

预期产出:日志里”大模型收到的内容”不含任何真实敏感数据,“你最终看到的输出”是完整原文。

第三步:按需扩展

  • 敏感词库管理内部人名、项目代号(支持整词匹配与自定义正则,内置 19 类规则:API Key/Token、PEM 私钥、数据库连接串、手机号、身份证、邮箱、银行卡、内网 IP 等);
  • 接中转站/聚合网关:客户端管理 → 添加客户端 → 目标网关填中转商地址、本地端口选未占用端口、勾选预置脱敏路径;
  • 代码接入:Python OpenAI(base_url="http://127.0.0.1:18701/v1", ...) 正常调用即全链路脱敏。

预期产出:脱敏面从默认规则扩展到你的业务术语。

常见踩坑(症状 → 原因 → 解决)

  1. 占位符导致模型回答质量下降。症状:模型回答绕着 {{CONNSTR_...}} 打转不展开。原因:占位符本身信息量低,模型不知道连接串细节属正常。解决:把问题描述写得”脱敏无关”(结构、症状、预期行为),敏感值让模型给排查思路而非具体值;Maskit 的多轮一致性保证同一占位符语义稳定。
  2. 跨 chunk 流式还原闪烁/错字。症状:打字机效果里占位符短暂露出。原因:占位符恰好被 SSE 分包切断。解决:Maskit 内置跨 chunk 缓冲拼接处理;若仍见异常,检查版本是否为最新(GitHub Releases)。
  3. 担心关掉 Maskit 后工具断网。原因:反代进程退出后本地端口没人监听。解决:Maskit 的 Fallback Passthrough 兜底——退出软件后本地端口仍由轻量底层维持监听并透明直连转发,工具不会报网络错误(代价:该时段不脱敏,重开即可)。
  4. 误以为要装 HTTPS 根证书。原因:习惯了一般抓包代理的做法。解决:Maskit 用多端口反代模式,只改 Base URL,无需向操作系统安装自签名 CA 根证书(避免中间人解密 HTTPS 的信任链问题)。
  5. 多个工具抢同一个本地端口。解决:为每个工具/渠道分配独立端口(客户端管理添加),不要共用 18701。
  6. 公司合规问”这软件会不会上传我的数据”。解决:README 声明 100% 本地运行、零外部遥测、无第三方统计 SDK;日志仅存本地。合规审计时可直接引用其架构文档。

初级用法

  • 默认规则直接用:19 类内置正则低误报收敛核心隐私,装上即生效,不必先配置。
  • 日志页当”出网审计”看:每笔请求的出网打码、上游响应、耗时分布都在日志里,定期翻一翻可发现”原来这个工具在发内网 IP”。
  • 成本看板:Token 用量与费用估算按主流模型价格智能匹配,统计每日调用成本。

高级玩法

  • 多轮滑动窗口 + 占位符复用:长会话中自定义敏感词的映射保持稳定,可以放心让 Agent 在第 N 轮引用第 1 轮提到的实体。
  • 被动安全审计:实时监控模型回复中的错误泄露、身份换芯、Prompt 越权、命令执行风险提示——把”模型回复内容”也纳入防护面。
  • 中转站统一出口:团队共用 One API/New API 网关时,把 Maskit 放在出口位置,所有人无感脱敏。
  • SSE 逐事件还原 + 自定义正则:针对自家业务代号(如内部项目名)写正则规则,实现组织级词库。

小技巧

  1. 先用”第一步半”的验证流程确认脱敏生效再日常使用,别默认装了就安全。
  2. Fallback Passthrough 意味着”退出软件 = 退回明文直连”,长期挂着比用时开关更省心。
  3. 高亮对照(日志里一键开关)是排查”为什么这句话没被打码”的最快工具。
  4. 面向 Anthropic 的工具记得用 18703 端口(不带 /v1),OpenAI 协议才是 18701/v1,别填错。
  5. 社区在 LINUX DO 论坛与 QQ 群(README 有入口),规则库踩坑可以交流。

常见问题 FAQ

Q1: 它和企业 DLP / API 安全网关有什么区别?

A: 定位不同。企业 DLP 面向全公司流量、策略重、部署重;Maskit 只做”开发终端 ↔ LLM 服务”这一跳的本地脱敏,个人装完即用,无需管理员。深度策略与审批流它不做。

Q2: AGPL-3.0 对我个人使用有影响吗?

A: 个人/内部使用没有影响。AGPL 的传染性约束在于”基于它做网络服务分发/修改后对外提供”的场景——商用集成前建议让法务确认边界(README 也是这个口径)。

Q3: 支持哪些模型协议?

A: 默认预置 OpenAI(18701)、DeepSeek(18702)、Anthropic(18703)三类协议端口,且支持任意第三方中转/聚合网关(自定义目标 + 端口 + 脱敏路径勾选)。

Q4: 脱敏后模型还能正常干活吗?

A: 能——这正是设计目标。占位符保留语义类别(CONNSTR/PHONE/TERM),模型可围绕”某连接串”推理;多轮一致性避免映射漂移。但对需要精确值的任务(如”连上这个库帮我查”)需你自己在本地执行真实值部分。

Q5: 会不会记录/上传我的对话内容?

A: README 声明纯本地运行、零遥测、不上传日志、无第三方 SDK。日志仅存本地磁盘,敏感环境可定期清理。本站未做流量抓包级验证,以官方声明 + 开源代码自审为准。

Q6: 和直接用 scrubber 类库(如 scrubadub)比?

A: scrubber 是”调用方主动调用”的库,要求改代码且只处理静态文本;Maskit 是透明网关,不改任何应用代码即对任意可配 Base URL 的工具生效,且带流式还原与审计界面。

免责声明

本文基于公开资料整理(GitHub README 中文版,核验日期 2026-09-14),AI 辅助生成,未在本站环境实际部署验证脱敏与还原效果。隐私防护声明(零遥测、本地运行)以官方 README 与开源代码为准,企业合规采用前建议自行审计。仓库创建于 2026-09-09(5 天),早期项目。

参考链接

📊 评分与标签

评分说明

总分 8.3/10 · P_优选

📊 可观测社区指标(采集日期:2026-09-14)

  • GitHub: xiaYuTian11/maskit ★200, 🔱37(GitHub API 实时核验,2026-09-14;仓库创建 2026-09-09,5 天)
  • License: AGPL-3.0;CI 工作流;Windows/macOS 桌面端 + Docker amd64/arm64;中文 README(含英文版)
  • 社区: LINUX DO 论坛 + QQ 群(README 徽章入口)

评分依据可追溯至公开来源,每项分数均有明确理由和数据支撑。

⚙️ 功能完整度 2.2/2.5

  • 出站结构化打码 + SSE 流式逐事件还原 + 多轮会话滑动窗口占位符复用;内置 19 类正则规则(API Key/PEM 私钥/数据库连接串/手机号/身份证/邮箱/银行卡/内网 IP 等)+ 自定义敏感词与正则;多端口反代免装根证书;Fallback Passthrough 兜底直连;实时日志/安全审计/Token 成本看板
  • 接入面覆盖 Cursor / Claude Code(含 cc-switch)/ Codex / Pi / OpenCode / Aider / Python SDK / One API 中转站
  • 竞品对比 1(scrubadub 等脱敏库):需改代码、仅静态文本、无还原;Maskit 透明网关零代码接入 + 流式还原
  • 竞品对比 2(mitmproxy 自写脚本):可定制但需自维护规则与流式逻辑;Maskit 开箱规则库 + 审计界面
  • 限制:面向 LLM API 代理这一跳,非全流量 DLP

✨ 输出质量 1.9/2.5

  • 打码为带语义类别的结构化占位符({{CONNSTR_}}/{{PHONE_}}/{{TERM_}}),保留模型推理能力;README 给出真实输入→模型所见→最终输出的四行对照表
  • 竞品对比 1(整段遮蔽式脱敏):模型失去语义上下文;Maskit 占位符语义保留
  • 竞品对比 2(简单 *** 替换):多轮映射易漂移;Maskit 滑动窗口复用保证一致性
  • 限制:本站未实测流式还原的跨 chunk 边界处理效果;模型对占位符任务(需精确值场景)仍需人工配合

🖐️ 易用性 1.3/1.5

  • “改一个 Base URL”即接入,无根证书安装(避免 MITM 信任链问题);中英双语文档、桌面端开箱即用;默认规则零配置生效
  • 竞品对比 1(企业 DLP 网关):需管理员部署策略;Maskit 个人十分钟接入
  • 竞品对比 2(自建 mitmproxy):需脚本能力;Maskit GUI 控制台
  • 限制:多端口协议(OpenAI/DeepSeek/Anthropic)与路径细节仍需按文档对号,填错端口是新手最常见问题

💰 性价比 1.5/1.5

  • 开源免费;纯本地零额外服务成本;LLM 费用按上游计(还附带成本看板帮你省着用)
  • 竞品对比 1(商业 API 治理平台):席位订阅制;Maskit 零成本
  • 竞品对比 2(企业 DLP):采购+运维成本高;Maskit 单机即可

🔒 稳定性 0.7/1.0

  • ⚠️ 仓库 2026-09-09 创建(截至核验 5 天),★200/37 fork 增速健康但项目极年轻;桌面端 + Docker 双形态、CI 在跑,工程化认真;社区(LINUX DO + QQ 群)提供反馈通道,长期维护持续性未知
  • 缓解:Fallback Passthrough 设计保证”网关挂了工具也不断网”,降低生产事故风险
  • 竞品对比 1(成熟商用网关):多年打磨;Maskit 早期版本
  • 竞品对比 2(同类概念项目):多数无兜底设计;Maskit 明确考虑了故障场景

🛡️ 隐私安全 0.7/1.0

  • 这是本工具的核心定位:100% 本地运行、零遥测、不上传日志、无第三方统计 SDK(README 明确声明);无根证书 = 不解密无关 HTTPS 流量
  • 竞品对比 1(云端代理服务):流量过第三方服务器;Maskit 纯本地
  • 竞品对比 2(抓包工具改 Base URL):常需装 CA 根证书(全局信任风险);Maskit 端口反代规避
  • 限制:AGPL-3.0 商用集成需法务确认;本站未做代码级安全审计与流量验证;“零遥测”以官方声明为准

🏷️ 标签说明

  • 隐私脱敏: 核心功能——请求出站结构化打码、回复流式还原。来源:GitHub README
  • 本地部署: 100% 本地进程运行,零外部遥测。来源:GitHub README
  • Agent工具: 支持任意可配 Base URL 的 AI 编程工具(Cursor/Claude Code/Codex/Pi 等)。来源:GitHub README
  • 开源免费: AGPL-3.0 License。来源:GitHub
  • 中文友好: 中文 README 为主(含英文版)、中文社区(LINUX DO + QQ 群)、中文界面截图。来源:GitHub README

📋 来源核实

  • ✅ 已核验: GitHub 仓库 xiaYuTian11/maskit — 2026-09-14 GitHub API 实时核验:★200、🔱37、AGPL-3.0、创建 2026-09-09、pushed_at 2026-09-13、中文 description
  • ✅ 已核验: README 全文 — 2026-09-14 抓取:核心原理对照表、19 类规则、端口映射(18701/18702/18703)、接入指南(Cursor/Claude Code/环境变量/代码/中转站)、Fallback Passthrough、零遥测声明
  • ✅ 已核验: Releases 页 — README 徽章元数据(Release 版本号存在性)
  • ⚠️ 未实测:本站未部署验证脱敏/还原/兜底直通的实际效果;零遥测声明未做流量级验证,以开源代码自审为准

同分类推荐

AI开发平台 分类下的其他工具

)}