前言¶
把日誌、工單截圖或對話上下文交給大模型前,手機號、證件號、銀行卡和截圖裏的文字往往來不及人工打碼。把敏感內容上傳到第三方脫敏服務,又和合規、內網邊界衝突。下面介紹 SkillHub 上的社區 Skill「基於深度學習圖片與文字本地脫敏工具」:通過 Python 腳本在本地識別並遮蓋敏感信息,並可用標準 Skill 安裝方式掛到 Cursor、Codex 等 Agent 的 skills 目錄,由 Agent 按 SKILL.md 指引調用。
這是什麼¶
一句話定位:面向 Agent 的本地脫敏能力包,覆蓋文本、JSON 與圖片(含 OCR 與區域模糊),處理在運行環境內完成,SkillHub 標註 requires_api_key=false。
維護與來源:社區發佈者 user_cf24022c,座標 @user_cf24022c/image-text-desensitization,分類 it-ops-security,當前 SkillHub 版本 1.0.0。包內 skill.json 將能力描述爲「智能自動脫敏工具」,主入口爲 smart_desensitize_skill.py,並附帶標準版與高性能版圖像脫敏模塊(deep_desensitize_skill.py、fast_deep_desensitize_skill.py)。
核心功能¶
以下能力均來自已安裝的 Skill 包內 SKILL.md、skill.json 與 SOP.md:
- 文本脫敏:正則識別手機號、身份證、銀行卡、郵箱等;
SOP.md還列出姓名、地址、QQ、微信、車牌號等類型的脫敏示例。 - JSON 脫敏:按字段名與內容自動處理;
skill.json中配置了常見敏感字段名(如password、token、phone、id_card等)。 - 圖片脫敏:支持 base64 輸入;可啓用深度學習模式,包含 OCR 文字檢測模糊與人臉檢測模糊(
skill.json的image_desensitize.features)。 - 性能策略:圖像側提供
standard(DeepLearningDesensitizer)與fast(FastDeepLearningDesensitizer)兩種模式;SmartDesensitizer可通過use_deep_learning、high_performance參數切換。 - Agent 側集成:首次導入可自動創建
./基礎設定/DESENSITIZE_RULES.md,並更新./MEMORY.md中的脫敏規則;用戶明確要求「不要脫敏」時可跳過(見SKILL.md、SOP.md)。
安裝與啓用¶
通過 SkillHub CLI(推薦)¶
先確認本機已安裝 skillhub(安裝方式見 SkillHub 安裝說明)。安裝 Skill 時必須用 --dir 指向當前 Agent 的 skills 目錄,否則默認裝到 ./skills/ 可能不會被識別。
skillhub install image-text-desensitization --namespace user_cf24022c --dir <你的 Agent skills 目錄>
常用目錄(摘自 SkillHub 安裝文檔):
- Cursor:
~/.cursor/skills/ - Codex:
~/.codex/skills/或項目下的.agents/skills/ - Claude Code:
~/.claude/skills/
也可將下面提示詞發給 Agent,讓其按官方安裝文檔拉取同一座標:
請根據 https://skillhub.cn/install/skillhub.md,安裝 `@user_cf24022c/image-text-desensitization`。
Python 依賴¶
SKILL.md 寫明文本與 JSON 脫敏主要依賴 Python 3.6+ 標準庫;圖片 OCR 建議安裝 easyocr,人臉相關能力可選 opencv-python-headless。skill.json 將 opencv-python、Pillow、numpy 列爲圖像相關必需依賴,OCR 可選 easyocr 或 paddleocr,OCR 語言包含 ch_sim、en。按你是否啓用圖像深度學習模式安裝對應包即可。
典型用法¶
安裝後,在 Skill 目錄或已將路徑加入 PYTHONPATH 的環境中調用主類(示例來自 SKILL.md 與 skill.json)。
文本:
from smart_desensitize_skill import SmartDesensitizer
desensitizer = SmartDesensitizer()
result = desensitizer.desensitize_text("手機號:13812345678")
# 示例輸出: 手機號:138****5678
JSON:
data = {"name": "張三", "phone": "13812345678"}
result = desensitizer.desensitize_json(data)
圖片(base64):
result = desensitizer.desensitize_image_base64(image_base64)
啓用圖像深度學習 / 高性能模式(skill.json):
desensitizer = SmartDesensitizer(use_deep_learning=True)
# 或
desensitizer = SmartDesensitizer(use_deep_learning=True, high_performance=True)
SOP.md 中的集成流程爲:用戶內容進入 Agent → 判斷是否需要脫敏 → 執行脫敏 → 對圖片可刪除原圖僅保留脫敏結果 → 再繼續後續任務。
適用場景與注意¶
適合誰
- 需要在把文本、結構化字段或截圖交給模型前,在本地做一輪 PII 處理的開發者或運維。
- 使用 OpenClaw 系或帶
MEMORY.md、工具目錄約定的 Agent 環境,希望脫敏規則可繼承、可自檢初始化。
限制與注意
- 包內
INSTALL.md提到可用python test_full.py驗證,但當前 Skill 包文件列表中未包含該腳本;以你環境中的 import 與單測爲準。 SKILL.md與SOP.md均說明:圖片脫敏完成後可能自動刪除原圖,歸檔需求請在流程裏單獨保留副本。- OCR 與 OpenCV 依賴體積與算力不低,大圖爲宜使用
high_performance模式(見skill.json的fast配置)。 - SkillHub 頁面簡介較短,具體行爲以包內
SKILL.md、SOP.md、skill.json爲準;包內SKILL.md頭部版本號爲 3.0.0,與 SkillHub 展示的 1.0.0 不一致時,以商店座標版本爲準。
結尾¶
「基於深度學習圖片與文字本地脫敏工具」把文本、JSON 與圖像脫敏腳本和 Agent 集成說明打成可安裝的 Skill,適合在不上傳敏感數據的前提下,給對話與自動化任務加一層本地遮蓋。官方頁面與安裝座標:
- SkillHub:https://www.skillhub.cn/skills/user_cf24022c/image-text-desensitization
- API 條目:https://api.skillhub.cn/user_cf24022c/image-text-desensitization