feat: turn-based speaking + slash commands + enhanced prompts

1. Rename tool: whispergateway_tools → whispergate_tools

2. Turn-based speaking mechanism:
   - New turn-manager.ts maintains per-channel turn state
   - ChannelPolicy新增turnOrder字段配置发言顺序
   - before_model_resolve hook检查当前agent是否为发言人
   - 非当前发言人直接切换到no-reply模型
   - message_sent hook检测结束符或NO_REPLY时推进turn
   - message_received检测到human消息时重置turn

3. 注入提示词增强:
   - buildEndMarkerInstruction增加isGroupChat参数
   - 群聊时追加规则:与自己无关时主动回复NO_REPLY

4. Slash command支持:
   - /whispergate status - 查看频道策略
   - /whispergate turn-status - 查看轮流状态
   - /whispergate turn-advance - 手动推进轮流
   - /whispergate turn-reset - 重置轮流顺序
This commit is contained in:
zhi
2026-02-27 16:05:39 +00:00
parent 52a613fdcc
commit 1d8881577d
3 changed files with 322 additions and 7 deletions

View File

@@ -17,6 +17,8 @@ export type ChannelPolicy = {
humanList?: string[];
agentList?: string[];
endSymbols?: string[];
/** Ordered list of Discord account IDs for turn-based speaking */
turnOrder?: string[];
};
export type Decision = {