docs: finalize channel mode and shuffle docs
This commit is contained in:
@@ -101,6 +101,9 @@ Discord extension capabilities: `docs/DISCORD_CONTROL.md`.
|
|||||||
/dirigent turn-status
|
/dirigent turn-status
|
||||||
/dirigent turn-advance
|
/dirigent turn-advance
|
||||||
/dirigent turn-reset
|
/dirigent turn-reset
|
||||||
|
/dirigent turn-shuffling
|
||||||
|
/dirigent turn-shuffling on
|
||||||
|
/dirigent turn-shuffling off
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -116,8 +119,13 @@ Common options (see `docs/INTEGRATION.md`):
|
|||||||
- `waitIdentifier` (default `👤`) — agent ends with this to pause all agents until human replies
|
- `waitIdentifier` (default `👤`) — agent ends with this to pause all agents until human replies
|
||||||
- `channelPoliciesFile` (per-channel overrides)
|
- `channelPoliciesFile` (per-channel overrides)
|
||||||
- `moderatorBotToken` (handoff messages)
|
- `moderatorBotToken` (handoff messages)
|
||||||
|
- `multiMessageStartMarker` (default `↗️`)
|
||||||
|
- `multiMessageEndMarker` (default `↙️`)
|
||||||
|
- `multiMessagePromptMarker` (default `⤵️`)
|
||||||
- `enableDebugLogs`, `debugLogChannelIds`
|
- `enableDebugLogs`, `debugLogChannelIds`
|
||||||
|
|
||||||
|
Shuffle mode does not currently have a global config key. It is a per-channel runtime toggle, defaults to off, and is controlled with `/dirigent turn-shuffling ...`.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Development plan (incremental commits)
|
## Development plan (incremental commits)
|
||||||
|
|||||||
@@ -14,6 +14,9 @@
|
|||||||
"agentList": [],
|
"agentList": [],
|
||||||
"endSymbols": ["🔚"],
|
"endSymbols": ["🔚"],
|
||||||
"schedulingIdentifier": "➡️",
|
"schedulingIdentifier": "➡️",
|
||||||
|
"multiMessageStartMarker": "↗️",
|
||||||
|
"multiMessageEndMarker": "↙️",
|
||||||
|
"multiMessagePromptMarker": "⤵️",
|
||||||
"channelPoliciesFile": "~/.openclaw/dirigent-channel-policies.json",
|
"channelPoliciesFile": "~/.openclaw/dirigent-channel-policies.json",
|
||||||
"noReplyProvider": "dirigentway",
|
"noReplyProvider": "dirigentway",
|
||||||
"noReplyModel": "no-reply",
|
"noReplyModel": "no-reply",
|
||||||
|
|||||||
@@ -58,6 +58,9 @@ Environment overrides:
|
|||||||
- `CHANNEL_POLICIES_FILE` (standalone channel policy file path)
|
- `CHANNEL_POLICIES_FILE` (standalone channel policy file path)
|
||||||
- `CHANNEL_POLICIES_JSON` (only used to initialize file when missing)
|
- `CHANNEL_POLICIES_JSON` (only used to initialize file when missing)
|
||||||
- `END_SYMBOLS_JSON`
|
- `END_SYMBOLS_JSON`
|
||||||
|
- `MULTI_MESSAGE_START_MARKER`
|
||||||
|
- `MULTI_MESSAGE_END_MARKER`
|
||||||
|
- `MULTI_MESSAGE_PROMPT_MARKER`
|
||||||
|
|
||||||
The script:
|
The script:
|
||||||
- writes via `openclaw config set ... --json`
|
- writes via `openclaw config set ... --json`
|
||||||
@@ -76,3 +79,5 @@ Policy state semantics:
|
|||||||
|
|
||||||
- Keep no-reply API bound to loopback/private network.
|
- Keep no-reply API bound to loopback/private network.
|
||||||
- If you use API auth, set `AUTH_TOKEN` and align provider apiKey usage.
|
- If you use API auth, set `AUTH_TOKEN` and align provider apiKey usage.
|
||||||
|
- Multi-message mode markers default to `↗️` / `↙️` / `⤵️` when no overrides are supplied.
|
||||||
|
- Shuffle mode is not configured globally in the current implementation; it is a per-channel runtime toggle controlled with `/dirigent turn-shuffling`, `/dirigent turn-shuffling on`, and `/dirigent turn-shuffling off`.
|
||||||
|
|||||||
@@ -28,13 +28,13 @@
|
|||||||
|
|
||||||
### 1.2 配置项
|
### 1.2 配置项
|
||||||
|
|
||||||
建议新增以下可配置项:
|
新增并已实现以下可配置项:
|
||||||
|
|
||||||
- `multiMessageStartMarker`:默认 `↗️`
|
- `multiMessageStartMarker`:默认 `↗️`
|
||||||
- `multiMessageEndMarker`:默认 `↙️`
|
- `multiMessageEndMarker`:默认 `↙️`
|
||||||
- `multiMessagePromptMarker`:默认 `⤵️`
|
- `multiMessagePromptMarker`:默认 `⤵️`
|
||||||
|
|
||||||
这些配置应加入插件 config schema,并在运行时可被 hook/turn-manager 使用。
|
这些配置已加入插件 config schema,并在运行时被 `message-received` / `before-message-write` / `before-model-resolve` 使用。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -100,13 +100,17 @@ multi-message mode 应与 discussion channel / wait-for-human / no-reply 决策
|
|||||||
|
|
||||||
并新增 slash command:
|
并新增 slash command:
|
||||||
|
|
||||||
- `/turn-shuffling on`
|
- `/dirigent turn-shuffling on`
|
||||||
- `/turn-shuffling off`
|
- `/dirigent turn-shuffling off`
|
||||||
- `/turn-shuffling`(查看当前状态)
|
- `/dirigent turn-shuffling`(查看当前状态)
|
||||||
|
|
||||||
该状态应与 channel 级 policy / runtime state 做清晰分工:
|
当前实现结论:
|
||||||
- 若只是运行时开关,可放 runtime memory
|
- `shuffling` 是 **channel 级 runtime state**,存放在 `plugin/core/channel-modes.ts`
|
||||||
- 若希望重启保留,则需要落盘策略
|
- 默认值为 `false`
|
||||||
|
- 当前版本**不新增**全局 `shuffle default` 配置项
|
||||||
|
- 重启后会恢复为默认关闭,如需开启需要再次执行命令
|
||||||
|
|
||||||
|
这样与现有实现保持一致,也避免把一次性的实验性调度偏好混入全局静态配置。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -208,8 +212,9 @@ Multi-Message Mode 与 Shuffle Mode 已经在代码中实现,包括:
|
|||||||
- Shuffle Mode 实现:
|
- Shuffle Mode 实现:
|
||||||
- `plugin/core/channel-modes.ts` - 管理 shuffle 状态
|
- `plugin/core/channel-modes.ts` - 管理 shuffle 状态
|
||||||
- `plugin/turn-manager.ts` - 在每轮结束后根据 shuffle 设置决定是否重洗牌
|
- `plugin/turn-manager.ts` - 在每轮结束后根据 shuffle 设置决定是否重洗牌
|
||||||
- `/turn-shuffling` slash command 实现,支持 `on`/`off`/`status` 操作
|
- `/dirigent turn-shuffling` slash command 实现,支持 `on`/`off`/`status` 操作
|
||||||
- 确保上一轮最后发言者不会在下一轮中成为第一位
|
- 确保上一轮最后发言者不会在下一轮中成为第一位
|
||||||
|
- 当前行为是运行时开关,默认关闭,不落盘
|
||||||
|
|
||||||
## 7. 验收清单
|
## 7. 验收清单
|
||||||
|
|
||||||
@@ -224,7 +229,7 @@ Multi-Message Mode 与 Shuffle Mode 已经在代码中实现,包括:
|
|||||||
- [x] 与 mention override 模式兼容
|
- [x] 与 mention override 模式兼容
|
||||||
|
|
||||||
### Shuffle Mode 验收
|
### Shuffle Mode 验收
|
||||||
- [x] `/turn-shuffling on/off` 命令生效
|
- [x] `/dirigent turn-shuffling on/off` 命令生效
|
||||||
- [x] shuffling 关闭时 turn order 保持不变
|
- [x] shuffling 关闭时 turn order 保持不变
|
||||||
- [x] shuffling 开启时每轮结束后会重洗牌
|
- [x] shuffling 开启时每轮结束后会重洗牌
|
||||||
- [x] 上一轮最后发言者不会在下一轮中成为第一位
|
- [x] 上一轮最后发言者不会在下一轮中成为第一位
|
||||||
|
|||||||
@@ -278,7 +278,7 @@
|
|||||||
- [x] 增加 `multiMessageEndMarker`
|
- [x] 增加 `multiMessageEndMarker`
|
||||||
- [x] 增加 `multiMessagePromptMarker`
|
- [x] 增加 `multiMessagePromptMarker`
|
||||||
- [x] 为新增配置设置默认值:`↗️` / `↙️` / `⤵️`
|
- [x] 为新增配置设置默认值:`↗️` / `↙️` / `⤵️`
|
||||||
- [. ] 评估是否需要增加 shuffle 默认配置项
|
- [x] 评估是否需要增加 shuffle 默认配置项
|
||||||
|
|
||||||
#### B2.2 `plugin/rules.ts` / config 类型
|
#### B2.2 `plugin/rules.ts` / config 类型
|
||||||
- [x] 为 multi-message mode 相关配置补类型定义
|
- [x] 为 multi-message mode 相关配置补类型定义
|
||||||
@@ -376,7 +376,7 @@
|
|||||||
- [x] 测试 shuffle mode 与 mention override 的边界
|
- [x] 测试 shuffle mode 与 mention override 的边界
|
||||||
|
|
||||||
### B11. 文档收尾
|
### B11. 文档收尾
|
||||||
- [. ] 根据最终实现更新 `plans/CHANNEL_MODES_AND_SHUFFLE.md`
|
- [x] 根据最终实现更新 `plans/CHANNEL_MODES_AND_SHUFFLE.md`
|
||||||
- [. ] 为新增配置项补文档
|
- [x] 为新增配置项补文档
|
||||||
- [. ] 为 `/turn-shuffling` 补使用说明
|
- [x] 为 `/turn-shuffling` 补使用说明
|
||||||
- [. ] 输出 Multi-Message Mode / Shuffle Mode 的验收清单
|
- [x] 输出 Multi-Message Mode / Shuffle Mode 的验收清单
|
||||||
|
|||||||
Reference in New Issue
Block a user