Commit Graph

37 Commits

Author SHA1 Message Date
zhi
29f1f01219 docs: finalize channel mode and shuffle docs 2026-04-02 07:48:25 +00:00
4d50826f2a refactor(installer): rename to install.mjs, remove record/restore flow, add --no-reply-port and wire config port 2026-03-08 06:38:33 +00:00
6124ceec7a docs(cleanup): mark discord-control-api references as historical after in-plugin migration 2026-03-08 06:21:26 +00:00
e6b445fb97 chore(cleanup): remove discord-control-api sidecar and stale config/docs hooks 2026-03-08 06:19:41 +00:00
zhi
cb58e3d951 docs: add schedulingIdentifier to CONFIG.example.json 2026-03-03 14:23:52 +00:00
zhi
fd1bf449a4 refine: cleanup remaining whispergate refs, improve docs and TASKLIST formatting
- Fix enableWhispergatePolicyTool → enableDirigentPolicyTool in config schema and example
- Fix whisper-gateway → dirigentway in install script
- Add v0.2.0 changelog entry
- Improve README with scheduling identifier docs and English text
- Clean up plugin README with moderator handoff format docs
- Reformat TASKLIST with cleaner done markers
2026-03-03 10:13:39 +00:00
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
zhi
80439b0912 Revert "Merge pull request 'fix: use systemPrompt instead of prependContext for end marker instruction' (#5) from fix/moderator-and-system-prompt into feat/turn-based-speaking"
This reverts commit 6a81f75fd0, reversing
changes made to 86fdc63802.
2026-02-28 19:34:37 +00:00
zhi
81758b9a54 fix: use systemPrompt instead of prependContext for end marker instruction
- Change before_prompt_build hook to return systemPrompt instead of prependContext
- This ensures the end marker instruction is injected once per session as a system prompt, not repeatedly prepended to each user message
- Add moderatorBotToken to CONFIG.example.json for documentation
2026-02-28 19:24:50 +00:00
zhi
476308d0df refactor: auto-managed turn order + dormant state + identity injection
Turn system redesign:
- Turn order auto-populated from config bindings (all bot accounts)
- No manual turnOrder config needed
- Humans (humanList) excluded from turn order automatically
- Dormant state: when all agents NO_REPLY in a cycle, currentSpeaker=null
- Reactivation: any new message wakes the system
  - Human message → start from first in order
  - Bot not in order → start from first
  - Bot in order → next after sender
- Skip already-NO_REPLY'd agents when advancing

Identity injection:
- Group chat prompts now include agent identity
- Format: '你是 {name}(Discord 账号: {accountId})'

Other:
- Remove turnOrder from ChannelPolicy (no longer configurable)
- Add TURN-WAKEUP-PROBLEM.md documenting the NO_REPLY wake-up challenge
- Update message_received to call onNewMessage with proper human detection
- Update message_sent to call onSpeakerDone with NO_REPLY tracking
2026-02-28 12:10:52 +00:00
zhi
fd6c4dd3a2 fix: remove gateway restart from installer, let user restart manually
Root cause: installer called 'openclaw gateway restart' (async via systemd)
then immediately validated model visibility — race condition caused validation
to fail and rollback the correct config.

Fix: remove restart + validation from script entirely. Script only writes config.
User restarts gateway manually after install completes.

Also fix CONFIG.example.json: contextWindow 4096->200000, maxTokens 64->8192
(OpenClaw requires minimum 16000 contextWindow).
2026-02-26 08:47:43 +00:00
875cd66d34 feat(installer): restart gateway and validate custom no-reply model visibility after install 2026-02-26 06:14:06 +00:00
51149dd6a0 feat(debug): add whispergate hook diagnostics with channel-scoped debug logs 2026-02-26 01:58:01 +00:00
46e56c6760 refactor(installer): replace bash installer logic with node-only implementation 2026-02-26 00:41:56 +00:00
e5999743fe feat(policy-runtime): in-memory policy state with whispergate_policy tool and atomic persist 2026-02-26 00:35:17 +00:00
682d9a336e feat(policy-file): move channel overrides to standalone channelPoliciesFile with hot reload 2026-02-26 00:28:34 +00:00
d6f908b813 feat(policy): add per-channel channelPolicies with hot-reload list mode/lists 2026-02-26 00:23:47 +00:00
6d463a4572 feat(config): add hot-reload config + listMode (human-list/agent-list) 2026-02-26 00:18:05 +00:00
0f526346f4 feat(tool): register optional discord_control tool in whispergate plugin and align defaults 2026-02-25 23:37:15 +00:00
7f1d6bb3f7 fix(plugin-path): align packaged dir with plugin id to remove mismatch warning 2026-02-25 23:27:16 +00:00
9d752ca090 feat(installer): add --install/--uninstall with recorded full rollback 2026-02-25 23:08:02 +00:00
2f269c25b4 feat(installer): add openclaw config-set installer with automatic rollback 2026-02-25 23:04:14 +00:00
c912ceed79 docs(test): add phase test report with pending e2e checklist 2026-02-25 22:19:29 +00:00
a2f88cfe0f chore(security): add guardrails and PR merge summary docs 2026-02-25 22:05:22 +00:00
8097ab7484 docs(discord-control): add runnable examples and smoke script 2026-02-25 22:02:00 +00:00
f20728b02d feat(discord-control): add channel-private-update and member-list field projection 2026-02-25 21:59:51 +00:00
4bec5982a5 feat(discord-control): align auth with token/allowlist/action-gate and add dryRun 2026-02-25 21:57:39 +00:00
867285309b feat(discord-control): add private-channel and member-list admin API 2026-02-25 16:09:14 +00:00
0c6d8bb2c5 feat(release): add plugin packaging script and release notes 2026-02-25 14:09:14 +00:00
6792249a0b docs: add no-docker-first run modes and quick start 2026-02-25 14:08:15 +00:00
1acaebf73f feat(dev): add no-touch OpenClaw config renderer and integration guide 2026-02-25 13:47:00 +00:00
d2fc8c89dd test: add rule-case validator for no-reply and 🔚 injection paths 2026-02-25 12:53:45 +00:00
32405fa3e2 feat(plugin): inject 🔚 ending instruction for bypass/end-symbol discord turns 2026-02-25 11:04:01 +00:00
2379d0f521 docs: add staged rollout and rollback checklist 2026-02-25 10:45:18 +00:00
d1f4252f37 docs: add smoke script and auth-aware verification steps 2026-02-25 10:43:23 +00:00
e020f1f026 docs: add sample config and verification guide 2026-02-25 10:37:12 +00:00
f3662457bc docs: add WhisperGate architecture and implementation plan 2026-02-25 10:36:16 +00:00