sycommon-python-lib 0.2.7a15__py3-none-any.whl → 0.2.7a16__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -374,8 +374,8 @@ class AgentConfig(BaseModel):
374
374
  internal_model_name: Optional[str] = None
375
375
  # 敏感检测提示词(应用层可覆盖);未传(None)用基础库 DEFAULT_DETECT_PROMPT
376
376
  sensitive_detect_prompt: Optional[str] = None
377
- # 命中敏感后的动作:"downgrade"=降级内部模型继续;"block"=直接阻断不执行
378
- sensitive_action: str = "downgrade"
377
+ # 命中敏感后的动作:"allow"=不检测放行;"downgrade"=降级内部模型继续;"block"=直接阻断不执行
378
+ sensitive_action: str = "allow"
379
379
 
380
380
  # 系统提示词
381
381
  system_prompt: str = DEFAULT_SYSTEM_PROMPT
@@ -228,8 +228,8 @@ class SensitiveGuardMiddleware(AgentMiddleware):
228
228
  state: Optional[DowngradeState] = None,
229
229
  # 应用层可覆盖检测提示词;未传(None)用 DEFAULT_DETECT_PROMPT
230
230
  detect_prompt: Optional[str] = None,
231
- # 命中敏感后的动作:"downgrade"=降级内部模型继续;"block"=直接阻断(不调任何模型)
232
- action: str = "downgrade",
231
+ # 命中敏感后的动作:"allow"=不检测放行;"downgrade"=降级内部模型继续;"block"=直接阻断(不调任何模型)
232
+ action: str = "allow",
233
233
  # 阻断模式下的异步提示回调(与 on_downgrade 区分文案);downgrade 模式不用
234
234
  on_block: Optional[Callable[[], Awaitable[None]]] = None,
235
235
  # 测试注入:绕过懒加载的真实 get_llm
@@ -241,7 +241,8 @@ class SensitiveGuardMiddleware(AgentMiddleware):
241
241
  self._internal_name = internal_model_name
242
242
  self._on_downgrade = on_downgrade
243
243
  self._on_block = on_block
244
- self._action = action if action in ("downgrade", "block") else "downgrade"
244
+ # 默认 allow(不检测):应用层未显式指定时按"放行"处理,避免误伤。
245
+ self._action = action if action in ("downgrade", "block", "allow") else "allow"
245
246
  self._enabled = enabled
246
247
  self._state = state or DowngradeState()
247
248
  self._detect_prompt = detect_prompt or DEFAULT_DETECT_PROMPT
@@ -349,8 +350,9 @@ class SensitiveGuardMiddleware(AgentMiddleware):
349
350
  request: ModelRequest[ContextT],
350
351
  handler: Callable[[ModelRequest[ContextT]], Awaitable[ModelResponse[ResponseT]]],
351
352
  ) -> ModelResponse[ResponseT]:
352
- # (a) 关闭 / 内部 tier:纯放行,不检测(避免内部模型检内部模型 + token)
353
- if not self._enabled or self._model_tier == "internal":
353
+ # (a) 关闭 / 内部 tier / allow 模式:纯放行,不检测。
354
+ # allow = 应用层完全关闭敏感检测(不调用 detector、不阻断、不降级),零开销。
355
+ if not self._enabled or self._model_tier == "internal" or self._action == "allow":
354
356
  return await handler(request)
355
357
 
356
358
  # (b) 本会话已命中敏感
@@ -133,7 +133,7 @@ class TeamConfig(BaseModel):
133
133
  sensitive_guard: bool = True # 是否启用敏感信息检测守卫
134
134
  internal_model_name: Optional[str] = None # 敏感降级目标内部模型名(应用层透传)
135
135
  sensitive_detect_prompt: Optional[str] = None # 敏感检测提示词(应用层覆盖)
136
- sensitive_action: str = "downgrade" # "downgrade"=降级继续;"block"=阻断
136
+ sensitive_action: str = "allow" # "allow"=不检测放行;"downgrade"=降级继续;"block"=阻断
137
137
 
138
138
  coordinator_prompt: str = ""
139
139
  coordinator_name: str = "项目经理"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sycommon-python-lib
3
- Version: 0.2.7a15
3
+ Version: 0.2.7a16
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -136,8 +136,8 @@ sycommon/services.py,sha256=CwC_gESafo05Qn41KLQgtulx6PfX7s2FkxlBI-hXve4,24861
136
136
  sycommon/agent/__init__.py,sha256=mxceAeUifQ-DKvWp7ZEJIFlmOCb5wpYHPGQw3rwEN8I,4378
137
137
  sycommon/agent/agent_manager.py,sha256=UhhaekEumT7g4v_Z1UB4jTp13X0n8M8erYaQdkGGWkA,13620
138
138
  sycommon/agent/chat_events.py,sha256=t7qWa6OrIWLfqtd1AnqaVP67QWkn1JxpCBTZYQpoLuM,14226
139
- sycommon/agent/deep_agent.py,sha256=NX5CO9SciGArB35KZKzhVbApsZjlwq_RyuJtSAYr9nE,74520
140
- sycommon/agent/multi_agent_team.py,sha256=HFdTmMvJns07rrEsq70GCmILWKDzGxgSh6ZeyhX9Lc4,30260
139
+ sycommon/agent/deep_agent.py,sha256=UT4noiAqRRUv7aFeobsFo3ad-gUA1L6xw0SV06nxTtY,74542
140
+ sycommon/agent/multi_agent_team.py,sha256=l1hIK6ihsyIp6QCH5st74h0d0cVmZaALQAPPqbZWarc,30282
141
141
  sycommon/agent/summarization_utils.py,sha256=bqZRFqSekNGlv2mYQPaT_s2QNA5VDTKddi2Va_SkHWc,18376
142
142
  sycommon/agent/acp/__init__.py,sha256=vQGMQYAA5-ZaejYmDZ4r4Fklqs17qH3cDXQ5pZlwj-0,1844
143
143
  sycommon/agent/acp/client.py,sha256=s-K626b9ierwyEq61gejrW0xOysvrY2PIpYFsFqSHjc,27108
@@ -147,7 +147,7 @@ sycommon/agent/acp/tool.py,sha256=yt6ohKL2y7wIZMNiLv-m5oCg5u1p5GAbqgjzQVt285Y,10
147
147
  sycommon/agent/mcp/__init__.py,sha256=iKrdDhIrFsNIkqG_kgcwNe-nOiM6uVfolKv44LfQ-FQ,636
148
148
  sycommon/agent/mcp/models.py,sha256=zda4ho-UTYOJ5oPAZPZ-vxhfDRLghUCsMroHnA2A2QQ,1490
149
149
  sycommon/agent/mcp/tool_loader.py,sha256=OQa-lE7RL2s3Lqh-kNOKaUrb130hvorB_HjyFBqZBZs,10960
150
- sycommon/agent/middleware/sensitive_guard.py,sha256=uUYIl1rMP92XNe_uP0nry-NLkcFuIuO8luBP9C58C1g,21916
150
+ sycommon/agent/middleware/sensitive_guard.py,sha256=ApmC094ogG4jIwEWRaUawTpQSDs722k0OTjdeAEQ7Qc,22159
151
151
  sycommon/agent/middleware/sitecustomize.py,sha256=Bt7XFnWV_LJo89l858AGp5VUkXwefpLGmjkCtLe-CMw,4800
152
152
  sycommon/agent/middleware/skill_api_whitelist.py,sha256=e15aJekXegPp64owSCEdUE5y0SmwCQVQCF4jnhReZNU,10958
153
153
  sycommon/agent/middleware/skill_wl_check.py,sha256=rCJ9F6aWPh8tVQBIPmcq2lKDsfwiJQduwSUku_8kXfs,3952
@@ -307,8 +307,8 @@ sycommon/tools/syemail.py,sha256=BDFhgf7WDOQeTcjxJEQdu0dQhnHFPO_p3eI0-Ni3LhQ,561
307
307
  sycommon/tools/timing.py,sha256=OiiE7P07lRoMzX9kzb8sZU9cDb0zNnqIlY5pWqHcnkY,2064
308
308
  sycommon/xxljob/__init__.py,sha256=7eoBlQxv-B39IfRSCY2bkqdGYs1QRe1umAWd88VMEEM,86
309
309
  sycommon/xxljob/xxljob_service.py,sha256=1yifwIBNGsCIxLnQjHKiBlbsigc_zvPH-dMTZcNxe-Q,7649
310
- sycommon_python_lib-0.2.7a15.dist-info/METADATA,sha256=SD8YD_nOVRB1yGn0aEp0niThMJOphAymWoFHrcmqR6c,7962
311
- sycommon_python_lib-0.2.7a15.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
312
- sycommon_python_lib-0.2.7a15.dist-info/entry_points.txt,sha256=gsR4SssKxDWjRU8ggidzNcdMXDPRSKRS7UaGyNP84Qg,92
313
- sycommon_python_lib-0.2.7a15.dist-info/top_level.txt,sha256=RgphKrg7nJyZ7irJqbxFr-5H2LUYTvI7ivoWZH2hcD0,29
314
- sycommon_python_lib-0.2.7a15.dist-info/RECORD,,
310
+ sycommon_python_lib-0.2.7a16.dist-info/METADATA,sha256=p2HPgbumt2j54mpC9qt_alpijwUrntvRvpNQJYBwCnI,7962
311
+ sycommon_python_lib-0.2.7a16.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
312
+ sycommon_python_lib-0.2.7a16.dist-info/entry_points.txt,sha256=gsR4SssKxDWjRU8ggidzNcdMXDPRSKRS7UaGyNP84Qg,92
313
+ sycommon_python_lib-0.2.7a16.dist-info/top_level.txt,sha256=RgphKrg7nJyZ7irJqbxFr-5H2LUYTvI7ivoWZH2hcD0,29
314
+ sycommon_python_lib-0.2.7a16.dist-info/RECORD,,