Linux 软件免费装
Banner图

HandL AI Connector Access Control

开发者 haktansuren
更新时间 2026年8月1日 11:37
PHP版本: 7.4 及以上
WordPress版本: 7.0
版权: GPLv2 or later
版权网址: 版权信息

标签

security ai handl governance ai client

下载

1.0.3 1.0.2 1.0.5 1.0.4 1.0.7 1.0.8 1.0.6 1.0.9 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14

详情介绍:

HandL AI Connector Access Control lets administrators allow/deny AI Client prompt execution on a per-plugin basis using the wp_ai_client_prevent_prompt filter introduced with the WordPress AI Client. Default behavior is allow. Per-plugin × capability matrix (Rules tab) refines access by family — Text, Image, Speech, TTS, Video — so you can allow text generation while denying image generation for the same plugin. Support checks (is_supported_for_*) and matching generate_* methods share the same family rule. Unknown operations (music, embeddings, generic methods) use a configurable fallback (inherit / allow / deny). AI tool arming (caller intent) denies a prompt when it arms a blocked WordPress ability via the AI Client (using_abilitiesfunctionDeclarations). This is not MCP visibility and does not unregister abilities site-wide. Denials are logged under this plugin’s name with the blocked ability ids. Learn mode (Activity tab) logs every AI Client call without blocking, so you can discover callers before enabling deny rules on the Rules tab. Emergency kill switch blocks all AI Client calls except plugins you list as exceptions. Denial email alerts (opt-in) notify an admin when enforcement blocks a prompt — immediate (rate-limited) or hourly digest. Weekly report email mails Dashboard aggregates (coverage, denials, estimated spend, pins) via the same wp_mail path; selected by default; reports are sent only while logging or learn mode is on, and it is always toggleable. Estimated $ on the audit log and in the weekly report is a rough token × rate placeholder, not billing. When WordPress disables AI site-wide via wp_supports_ai, an honesty banner explains why the audit log may be empty. EXPERIMENTAL per-plugin model force (Rules tab; empty force fields = off) can pin allowed AI Client generations to a provider/model per detected caller. Pins follow the nearest plugin frame on the PHP backtrace (best-effort) — not who initiated the call, and not a spend guarantee. Unattributed calls (cron, REST bootstraps, shared libraries, MU plugins, etc.) run unforced by default; admins can opt into an explicit unattributed target via the same “Unknown operations”-style control. Force relies on unsupported shallow-clone behaviour in the AI Client prevent hook, verifies the final route with exact provider/model matching before the provider call, and fail-closes on mismatch. Prefer official core routing filters when available. Shadow-AI detector (observe only): when logging or learn mode is on, the plugin watches WordPress HTTP for requests to a curated list of known AI provider hosts (OpenAI, Anthropic, Google Generative Language, Cohere, Mistral, Groq, Together, Fireworks, Perplexity, xAI, DeepSeek, OpenRouter, …). Traffic that already flows through the core AI Client is ignored. Direct bypasses are retained as observe rows (channel=direct_http) so you can see AI activity outside what these rules control — they do not block HTTP. This is a curated list, not a complete inventory of every AI host on the internet. Caller attribution is best-effort and is determined by inspecting the PHP call stack and mapping file paths to installed plugins. When force is configured, the retained log surfaces how many calls could not be attributed and ran unforced.

安装:

  1. Upload the plugin folder to /wp-content/plugins/handl-ai-connector-access-control/
  2. Activate the plugin through the Plugins screen in WordPress
  3. Go to Settings → HandL AI Connector Access Control to configure plugin rules

屏幕截图:

  • Activity — Outside AI Client / shadow lane observe rows alongside governed AI Client traffic.
  • Insights — entry vs call units and usage breakdowns from the retained log.
  • Rules — kill-switch Exceptions as a scrollable checkbox list (still follows normal allow/deny rules).
  • Activity — OBSERVE direct_http rows contrasted with governed AI Client decisions.

常见问题:

Does this stop all AI usage?

Only AI calls made through the WordPress AI Client APIs that pass through wp_ai_client_prevent_prompt. The shadow-AI detector observes direct HTTP to known AI hosts; it does not block those requests in this version.

What does “outside the AI Client” mean on Audit & log?

A plugin (or other PHP code) issued a WordPress HTTP request to a known AI provider host without going through the AI Client path this plugin gates. Those rows are labeled observe — seen, not governed by allow/deny/force rules.

Is attribution perfect?

No. It is best-effort and may be unknown or ambiguous for some execution paths (cron, REST bootstraps, shared libraries, MU plugins). Experimental model force uses the same attribution: a pin follows the detected caller, not a guarantee of which product “owns” the spend.

Does experimental model force guarantee cost control per plugin?

No. It pins the route for calls we attribute to that plugin’s nearest stack frame. Unattributed calls are unforced by default (configurable). Misattribution can apply another plugin’s pin without failing closed — existence of a resolved plugin is not proof it is the right one.

更新日志:

1.0.14 1.0.13 1.0.12 1.0.11 1.0.10 1.0.9 1.0.8 1.0.7 1.0.6 1.0.5 1.0.4 1.0.3 1.0.2 1.0.0