Files
Dirigent/CHANGELOG.md
zhi 211ad9246f feat: wait for human reply (waitIdentifier 👤)
- Add waitIdentifier config (default: 👤) to DirigentConfig and plugin schema
- Prompt injection: tells agents to end with 👤 when they need a human reply,
  warns to use sparingly (only when human is actively participating)
- Detection in before_message_write and message_sent hooks
- Turn manager: new waitingForHuman state
  - checkTurn() blocks all agents when waiting
  - onNewMessage() clears state on human message
  - Non-human messages ignored while waiting
  - resetTurn() also clears waiting state
- All agents routed to no-reply model during waiting state
- Update docs (FEAT.md, CHANGELOG.md, TASKLIST.md, README.md)
2026-03-07 17:32:28 +00:00

2.9 KiB

Changelog

0.3.0

  • Split dirigent_tools into 6 individual tools:
    • Discord: dirigent_discord_channel_create, dirigent_discord_channel_update, dirigent_discord_member_list
    • Policy: dirigent_policy_get, dirigent_policy_set, dirigent_policy_delete
    • Turn management tools removed (internal plugin logic only; use /dirigent slash commands)
  • Human @mention override: When a humanList user @mentions specific agents:
    • Temporarily overrides the speaking order to only mentioned agents
    • Agents cycle in their original turn-order position
    • After all mentioned agents have spoken, original order restores and state goes dormant
    • Handles edge cases: all NO_REPLY, reset, non-agent mentions
  • Wait for human reply: New waitIdentifier (default: 👤):
    • Agent ends with 👤 to signal it needs a human response
    • All agents go silent (routed to no-reply model) until a human speaks
    • Prompt injection warns agents to use sparingly (only when human is actively participating)
  • Installer improvements:
    • Dynamic OpenClaw dir resolution ($OPENCLAW_DIRopenclaw CLI → ~/.openclaw)
    • Plugin installed to $(openclaw_dir)/plugins/dirigent
    • New --update mode: pulls latest from git latest branch and reinstalls

0.2.0

  • Project renamed from WhisperGate to Dirigent
    • All plugin ids, tool names, config keys, file paths, docs updated
    • Legacy whispergate config key still supported as fallback
  • Identity prompt enhancements: Discord userId now included in agent identity injection
  • Scheduling identifier: Added configurable schedulingIdentifier (default: ➡️)
    • Moderator handoff now sends <@USER_ID>➡️ instead of semantic messages
    • Agent prompt explains the identifier is meaningless — check chat history and decide
  • All prompts in English: End-marker instructions, group chat rules, slash command help text

0.1.0-mvp

  • Added no-reply API service (/v1/chat/completions, /v1/responses, /v1/models)
  • Added optional bearer auth (AUTH_TOKEN)
  • Added plugin with deterministic rule gate
  • Added discord-specific 🔚 prompt injection for bypass/end-symbol paths
  • Added containerization (Dockerfile, docker-compose.yml)
  • Added helper scripts for smoke/dev lifecycle and rule validation
  • Added no-touch config rendering and integration docs
  • Added installer script with rollback (scripts/install-dirigent-openclaw.sh)
    • supports --install / --uninstall
    • uninstall restores all recorded changes
    • writes install/uninstall records under ~/.openclaw/dirigent-install-records/
  • Added discord-control-api with:
    • channel-private-create (create private channel for allowlist)
    • channel-private-update (update allowlist/overwrites for existing channel)
    • member-list (guild members list with pagination + optional field projection)
    • guardrails: action mode validation, id-list limits, response-size limit