Files
Dirigent/docs/PR_SUMMARY.md
zhi af33d747d9 feat: complete Dirigent rename + all TASKLIST items
- 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
2026-03-03 10:10:27 +00:00

1.5 KiB

PR Summary (Dirigent + Discord Control)

Scope

This PR delivers two tracks:

  1. Dirigent deterministic no-reply gate for Discord sessions
  2. Discord control extension API for private-channel/member-list gaps

Delivered Features

Dirigent

  • Deterministic rule chain:
    1. non-discord => skip
    2. bypass sender => skip
    3. ending symbol matched => skip
    4. else => no-reply provider/model override
  • NO_REPLY backend API (/v1/chat/completions, /v1/responses, /v1/models)
  • Optional API bearer auth (AUTH_TOKEN)
  • Prompt prepend on bypass/end-symbol paths:
    • 你的这次发言必须以🔚作为结尾。
  • Rule validation script and fixtures

Discord Control API

  • channel-private-create
  • channel-private-update (merge/replace)
  • member-list with optional field projection
  • Action gate + guild allowlist + caller allowlist + bearer auth
  • Dry-run support for channel private actions

Runtime Mode

  • No-Docker-first
  • Run directly with Node.js
  • Set AUTH_TOKEN
  • Set REQUIRE_AUTH_TOKEN=true
  • Use ALLOWED_GUILD_IDS
  • Use ALLOWED_CALLER_IDS
  • Keep Discord bot token in env only (DISCORD_BOT_TOKEN)

Known Limits

  • This repo cannot elevate bot privileges; Discord admin permissions still govern all actions.
  • member-list depends on Discord API permission/intents availability.

Rollback

  • Disable plugin entry or remove plugin path from OpenClaw config
  • Stop discord-control-api process
  • Keep no-reply API stopped if not needed