前言¶
在 DeepSeek Harness 裏跑 agent,對話和工具調用往往會帶上 API Key、郵箱電話、身份證、公司名等明文。這些內容會隨請求發往雲端大模型,也會寫入本地會話日誌。若只靠「別在 prompt 裏寫密鑰」這類習慣,很難在流式輸出、工具回傳和落盤環節保持一致。下面介紹社區插件 dsh-privmask:在請求離開本機前做本地遮罩,模型側與日誌側只見佔位符,本地再把佔位符還原給 agent 和展示層使用。
這是什麼¶
dsh-privmask 是 DeepSeek Harness 的本地脫敏插件,維護者爲 JunyuZhan,在 DSH 插件目錄中歸類爲 admin-security。它將密鑰、PII 與常見中文實體替換爲 [REDACTED_類別_N] 形式的佔位符,雲端請求與落盤日誌均使用脫敏內容;模型輸出與工具參數中的佔位符在本地還原,再次出站時會重新脫敏。插件以 MIT 許可證發佈,npm 包名與安裝標識均爲 dsh-privmask。
核心功能¶
出站脫敏¶
請求發往雲端前,對 PEM/JWT/API Key、郵箱與電話、身份證、統一社會信用代碼、銀行卡、車牌、地址、公司名、機關名等做替換。README 說明:法院/案號、出生日期、涉案金額等類別默認保留,便於辦案類場景仍能看到相關真值。脫敏異常或未知字段在嚴格模式下默認拒絕請求,非文本內容默認剝離,避免靜默放行明文。
入站還原與展示¶
模型輸出和工具調用參數裏的佔位符在本地映射回原值;同一會話內相同原文對應相同編號。流式場景下佔位符被切分到多個 delta 時仍可跨分片還原。展示層在服務可見時,可將用戶消息還原爲原文顯示。
落盤遮罩¶
用戶輸入、工具結果以及 run_code 子派發在寫入會話日誌前替換爲佔位符,與出站策略對齊,減少日誌中的明文殘留。
離境審計與本地文件工具¶
每筆發往雲端的請求可在本地記一行 JSONL,配合文檔中的 audit-summary 做彙總巡檢。另提供 docx/純文本脫敏、PDF 預檢與覆寫式脫敏等本地文件能力;圖片本地 OCR 默認關閉。宿主版本方面,README 寫明對 0.1.1-rc.2 至 0.2.2-alpha.2 等範圍做過兼容覈對,並對事件/服務做軟探測與自動降級。
安裝與啓用¶
絕大多數用戶可在 DSH Desktop 側欄打開「插件」→「添加插件」,輸入 dsh-privmask 後安裝並立即啓用,按提示重啓 Desktop;「設置 → 插件」中應出現「隱私保護」頁籤。
無界面或 web profile 部署時,使用 README 給出的命令行方式:
dsh plugin --profile web add dsh-privmask
裝完需重啓宿主生效。也可在插件市場啓用「自定義插件市場」,添加索引源 https://cdn.jsdelivr.net/gh/JunyuZhan/dsh-privmask@main/market/index.json 後搜索安裝。鏡像源、升級與排查見倉庫 docs/install.md。
典型用法¶
默認配置偏向「隱私優先」:憑據、地址、姓名、公司與單位名及常見 PII 會脫敏,案號、出生日期、金額等按默認策略保留。需要覆蓋時,可在 profile 的 cordis.patch.yml 中調整,或在客戶端「隱私保護」卡片上修改(live 生效)。示例片段如下:
# $DSH_HOME/profiles/<profile>/cordis.patch.yml
- id: privmask
config:
enabled: true
redactNames: true
redactCompanies: true
redactOrgs: true
customTerms: [張三, 某某公司]
全部配置鍵與默認值見 docs/configuration.md。脫敏流水線、安全邊界與已知限制分別見 how-it-works.md、security-model.md 與 limitations.md。
適用場景與注意¶
適合在 DSH 中處理含密鑰、客戶信息或中文實體的 agent 工作流,又希望雲端與日誌側默認不見明文的團隊。README 明確:脫敏基於啓發式規則,不保證零漏檢、零誤傷;高合規場景應自行抽樣驗證並保留可信原文副本。
插件與 DSH 宿主同一進程權限運行,安裝前建議閱讀源碼與 MIT 許可證,確認策略是否符合你的數據分級要求。發現隱私泄漏或繞過脫敏的問題,應通過倉庫 SECURITY.md 私下報告,勿在公開 Issue 中粘貼真實敏感數據。
結尾¶
dsh-privmask 把「出站遮罩、日誌遮罩、入站還原」串成一條本地流水線,是 DSH 生態裏面向 admin-security 的隱私插件之一。社區目錄頁:https://www.skillhub.cn/plugins/JunyuZhan/dsh-privmask;源碼與文檔:https://github.com/JunyuZhan/dsh-privmask。