- Task 1: Identity prompt now includes Discord userId
- Task 2: Added configurable schedulingIdentifier (default: ➡️)
- Task 3: Moderator handoff uses <@userId>+identifier instead of semantic messages
- Task 4: All prompts/comments/help text converted to English
- Task 5: Full project rename WhisperGate → Dirigent across all files
Breaking: config key changed from plugins.entries.whispergate to plugins.entries.dirigent
Breaking: channel policies file renamed to dirigent-channel-policies.json
Breaking: tool name changed from whispergate_tools to dirigent_tools
26 lines
674 B
Markdown
26 lines
674 B
Markdown
# Dirigent Implementation Notes
|
|
|
|
## Decision path
|
|
|
|
Dirigent evaluates in strict order:
|
|
|
|
1. channel check (discord-only)
|
|
2. bypass sender check
|
|
3. message ending symbol check
|
|
4. fallback to no-reply model override
|
|
|
|
Additional prompt behavior:
|
|
- when decision is `bypass_sender` or `end_symbol:*`, plugin prepends:
|
|
- `你的这次发言必须以🔚作为结尾。`
|
|
|
|
## Why before_model_resolve
|
|
|
|
- deterministic
|
|
- no LLM dependency
|
|
- low overhead
|
|
- uses built-in override path (`providerOverride` + `modelOverride`)
|
|
|
|
## Known limitation
|
|
|
|
This does not fully skip OpenClaw prompt assembly. It reduces provider-side LLM usage by routing no-reply turns to a deterministic API.
|