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

52 lines
2.9 KiB
Markdown

# 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_DIR``openclaw` 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