类 SkillFilter
java.lang.Object
io.agentscope.core.skill.SkillFilter
Immutable filter that decides which skills are allowed in a prompt.
Two usage patterns:
- Standalone (builder level) —
all(),none(),only(java.lang.String...),except(java.lang.String...)express a complete policy. - Overlay (RuntimeContext level) —
enable(java.lang.String...),disable(java.lang.String...)express partial overrides that are merged with a base filter viaoverlay(io.agentscope.core.skill.SkillFilter).
When no SkillFilter is configured, the default behaviour is all() —
every skill is enabled.
Usage example:
// Builder level: only allow two skills
SkillFilter base = SkillFilter.only("skill_a", "skill_b");
// Runtime: disable one of them for this call
SkillFilter runtime = SkillFilter.disable("skill_b");
// Merge: skill_a enabled, skill_b disabled
SkillFilter effective = base.overlay(runtime);
-
方法概要
修饰符和类型方法说明static SkillFilterall()All skills enabled (default when no filter is configured).static SkillFilterOverlay: explicitly disable these skills (others unchanged).static SkillFilterOverlay: explicitly enable these skills (others unchanged).static SkillFilterBlacklist: all skills except the named ones are allowed.booleanWhether the given skill is allowed by this filter.booleanWhether this filter is an overlay (partial override) rather than a standalone filter.static SkillFilternone()All skills disabled.static SkillFilterWhitelist: only the named skills are allowed.overlay(SkillFilter runtimeOverlay) Merge this (base) filter with a runtime overlay.
-
方法详细资料
-
all
All skills enabled (default when no filter is configured). -
none
All skills disabled. -
only
Whitelist: only the named skills are allowed. -
except
Blacklist: all skills except the named ones are allowed. -
enable
Overlay: explicitly enable these skills (others unchanged). -
disable
Overlay: explicitly disable these skills (others unchanged). -
isAllowed
Whether the given skill is allowed by this filter.- 参数:
skillName- the skill name to check- 返回:
- true if allowed
-
isOverlay
public boolean isOverlay()Whether this filter is an overlay (partial override) rather than a standalone filter.- 返回:
- true if this is an overlay filter
-
overlay
Merge this (base) filter with a runtime overlay.Skills explicitly mentioned in the overlay use the overlay's decision. Skills not mentioned in the overlay fall through to this base filter.
If
runtimeOverlayis null or is not an overlay filter, it replaces this filter entirely.- 参数:
runtimeOverlay- the per-call override (may be null)- 返回:
- the effective filter
-