Files
hermes-agent/plugin-catalog/desensitize.yaml

40 lines
2.0 KiB
YAML

name: desensitize
repo: https://github.com/yubingz/hermes-desensitize
sha: 4f6697c1e45bb224e40b556372f33794f9326c0f
subdir: src/hermes_desensitize
description: "Chinese-context desensitization for Hermes chats. Replaces PII and business-sensitive
entities — person names, company names, addresses, file paths, and magnitude figures — with
reversible placeholders before a message reaches the model, then restores them in the reply.
Two layers: an optional local/OpenAI-compatible LLM for semantic entity judgment, plus a
sub-millisecond regex fallback (phone, ID card, email, IP, path) that keeps the conversation
working when the model is unavailable. Disclosure — the semantic layer sends the
pre-redaction text to the configured LLM, because recognising a name requires seeing it:
with the default provider=ollama that is the local Ollama host and nothing leaves the
machine, but provider=openai without an explicit base_url falls back to
https://api.siliconflow.cn/v1 (remote); set base_url, or stay on ollama, to keep it local.
Also rewrites inbound user messages and outbound
assistant replies, so transcript content differs from what you typed; placeholders are
code-generated and may over-match (18-digit ID-card-shaped strings, names that collide with
the public-entity allowlist); company names are matched greedily and a modifier such as
原北京某某有限公司 is absorbed into the placeholder; magnitude masking drops the numeric
value and only fires on the configured trigger words, so a domain term absent from that list
is left unmasked without warning; the placeholder mapping is held in memory only and never
written to disk."
maintainer: yubingz
tier: community
category: tools
requires_hermes: ">=0.19"
docs_url: https://github.com/yubingz/hermes-desensitize#readme
version: "1.4.1"
readme: true
platforms: []
capabilities:
provides_tools: []
provides_hooks:
- pre_llm_call
- pre_api_request
- transform_llm_output
- post_llm_call
provides_middleware: []
requires_env: []