- 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
990 B
990 B
Dirigent Quick Verification
1) Start no-reply API
cd no-reply-api
# optional: enforce bearer token checks
# export AUTH_TOKEN='replace-with-strong-token'
npm start
2) Validate API behavior
curl -sS http://127.0.0.1:8787/health
curl -sS -X POST http://127.0.0.1:8787/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{"model":"dirigent-no-reply-v1","messages":[{"role":"user","content":"hi"}]}'
Or run bundled smoke check:
./scripts/smoke-no-reply-api.sh
# with auth:
# AUTH_TOKEN='replace-with-strong-token' ./scripts/smoke-no-reply-api.sh
Expected assistant text: NO_REPLY
3) Enable plugin
Set OpenClaw plugin path to plugin/ and apply docs/CONFIG.example.json values.
4) Discord logic check
- non-discord session -> normal model
- discord + bypass user -> normal model
- discord + non-bypass + ending punctuation -> normal model
- discord + non-bypass + no ending punctuation -> no-reply model override