dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
简体中文 | English
DeepSeek Harness (DSH) 隐私保护插件 —— 本地凭据脱敏网关的状态监控、审计看板、豁免白名单、加密密钥管理、凭据保护模型入口与部署控制。
后续计划加入语义敏感信息过滤,因此命名为「隐私保护」而非「脱密」。
配合 amwangfan/privacy-gateway 使用。
:8317)与千问 Qwen2.5-0.5B 本地小模型服务(:8319)的健康状况与在线时长。API_KEY、私钥、数据库密码、JWT、Token 等)。alert),写明「哪个词 + 什么理由 + 谁放的」。/deepseek 前缀的 OpenAI 兼容 provider(沿用 DEEPSEEK_API_KEY),原文直连链路保留。面板的「凭据保护模型」卡片会复制一份现有 provider、把 baseURL 指向本地网关、写进
~/.dsh/settings.yaml 的模型列表;同时把原 provider 改回直连。于是模型列表里同时存在两条链路:
| 条目 | 走向 | 用途 |
|---|---|---|
自建聚合 | 直连后端 :8316 | 不需要脱敏时(最快,无额外延迟) |
自建聚合(凭据保护) | 经网关 :8317 | 需要凭据脱敏时 |
DeepSeek 官方(内置) | 直连 api.deepseek.com | 官方 API 直连 |
DeepSeek 官方(凭据保护) | 经网关 :8317/deepseek | 官方 API + 凭据脱敏 |
在模型选择里选带「凭据保护」的条目,就用上了网关。 写入后无需重启:DSH 的
dsh-settings-file 用 chokidar 监视该文件,外部编辑会自动重载并发布(刷新页面即可看到)。
写法是整份 YAML 读入→只改 provider 块→写回,写前自动备份为 settings.yaml.bak-plugin-*;
未涉及的其他设置逐项校验后保持完全一致。
默认姿态:全量过滤。 豁免是「对某一个词暂停脱敏」,不是全局开关,并且由网关在代码层强制约束:
| 约束 | 说明 |
|---|---|
| 理由 | AI 入口(CLI)强制要求非空理由;人工直接调网关接口可以不写 |
| 有效期 | 默认长期有效,直到被撤销;需要临时豁免时可显式传 expires_at |
| 可用代号 | --term 可传 vault 代号(如 <SECRET_AWS_AKIA_1>),网关自行解析,AI 不必接触明文 |
| 作用范围 | layer0(正则层)/ layer1(0.5B 残差判定层)/ all |
| 审计留痕 | add / revoke / expire / hit 全部追加到 exemptions.jsonl |
| 精确匹配 | 按完整候选词做边界匹配,不会因为放行一个短词而放过包含它的真实密钥 |
| 仅本机 | 豁免接口只接受 loopback 请求,经 Tailscale/局域网访问一律 403 |
/root/privacy-gateway/scripts/privacy-exempt.sh allow --term "<要放行的词或 vault 代号>" --reason "<为什么它不敏感>" [--scope all|layer0|layer1]
/root/privacy-gateway/scripts/privacy-exempt.sh revoke --term "<词>" --reason "<为什么可以恢复过滤>"
/root/privacy-gateway/scripts/privacy-exempt.sh list
/root/privacy-gateway/scripts/privacy-exempt.sh audit
AI 在放行某个词之后,必须在回复中向用户说明放行了什么、为什么;插件会用页内横幅把这次变更同步显示出来。
| 组件 | 角色与定位 | 开源仓库 |
|---|---|---|
dsh-privacy-guard (本仓库) | DSH Web 客户端管理与监控插件 (Node.js / React / Cordis) | GitHub: amwangfan/dsh-privacy-guard |
privacy-gateway | 本地高性能出网脱敏网关核心 (Python / FastAPI / DFA) | GitHub: amwangfan/privacy-gateway |
qwen2.5-0.5b-privacy | 本地凭据残差判别(step-220 LoRA + F16/Q8 GGUF;探针只卡 FPR;弱口令不走硬规则,漏了就漏了) | HuggingFace: amwangfan/privacy-gateway-v4-qwen2.5-0.5b |
# 进入你的 DSH 环境
dsh plugin --profile web add dsh-privacy-guard
或者本地源码链接安装(开发时推荐,改完 npm run build 重启 DSH 即生效):
cd /path/to/dsh-privacy-guard
npm run build # 用 esbuild 产出 lib/index.js 与 lib/client.js
dsh plugin --profile web add link:$PWD
systemctl restart deepseek-harness.service # 会短暂断开当前页面,刷新即恢复
重启后打开浏览器控制台:
./scripts/verify.sh # 探测 Host 半注册的 4 条路由
注意:DSH 对所有
/api/*路由都要求登录态,未认证探测只能看到 401。判断插件是否真的加载,以设置面板是否出现、以及journalctl -u deepseek-harness.service | grep -i privacy为准。
community.json)若向 DSH 官方社区市场提交收录申请,直接使用如下元数据条目:
{
"id": "dsh-privacy-guard",
"name": "隐私保护",
"nameEn": "Privacy Protection",
"author": "amwangfan",
"description": "DSH 隐私保护插件:本地网关凭据脱敏与流式还原,豁免白名单(一行一词、可编辑),加密密钥管理,凭据保护模型入口,以及网关/小模型的下载部署与链接配置。",
"descriptionEn": "Privacy protection plugin for DSH: credential redaction and stream restoration through a local gateway, an editable exemption whitelist, encrypted key management, credential-protected model entries, and download/deploy plus link configuration for the gateway and local model.",
"repo": "https://github.com/amwangfan/dsh-privacy-guard",
"npm": "dsh-privacy-guard",
"category": "security",
"subcategory": "dlp"
}
Apache License 2.0