docs(cleanup): mark discord-control-api references as historical after in-plugin migration
This commit is contained in:
@@ -44,7 +44,7 @@
|
|||||||
- supports `--install` / `--uninstall`
|
- supports `--install` / `--uninstall`
|
||||||
- uninstall restores all recorded changes
|
- uninstall restores all recorded changes
|
||||||
- writes install/uninstall records under `~/.openclaw/dirigent-install-records/`
|
- writes install/uninstall records under `~/.openclaw/dirigent-install-records/`
|
||||||
- Added discord-control-api with:
|
- Added discord-control-api with: (historical; later migrated into plugin internal Discord REST control)
|
||||||
- `channel-private-create` (create private channel for allowlist)
|
- `channel-private-create` (create private channel for allowlist)
|
||||||
- `channel-private-update` (update allowlist/overwrites for existing channel)
|
- `channel-private-update` (update allowlist/overwrites for existing channel)
|
||||||
- `member-list` (guild members list with pagination + optional field projection)
|
- `member-list` (guild members list with pagination + optional field projection)
|
||||||
|
|||||||
2
FEAT.md
2
FEAT.md
@@ -120,4 +120,4 @@ Turn management is handled entirely by the plugin. Manual control via slash comm
|
|||||||
- Private channel create/update with permission overwrites
|
- Private channel create/update with permission overwrites
|
||||||
- Member list with pagination + field projection
|
- Member list with pagination + field projection
|
||||||
- Guardrails: action validation, id-list limits, response-size limit
|
- Guardrails: action validation, id-list limits, response-size limit
|
||||||
- Runs as optional companion service (`discord-control-api/`)
|
- (Migrated) Discord control now runs in-plugin via direct Discord REST (no companion service)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
当前 turn manager 初始化依赖 `recordChannelAccount`(被动观察频道里出现过哪些 bot account)。
|
当前 turn manager 初始化依赖 `recordChannelAccount`(被动观察频道里出现过哪些 bot account)。
|
||||||
在新频道/低活跃频道中,可能出现 turn state 未及时建立,导致 `currentSpeaker` 为空(`undefined/null`)并引发调度异常。
|
在新频道/低活跃频道中,可能出现 turn state 未及时建立,导致 `currentSpeaker` 为空(`undefined/null`)并引发调度异常。
|
||||||
|
|
||||||
同时,`discord-control-api` 以独立 sidecar 运行增加了部署与运维复杂度。
|
(已完成迁移)原 `discord-control-api` sidecar 带来部署与运维复杂度,现已改为插件内直连 Discord REST。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
### A. 架构调整
|
### A. 架构调整
|
||||||
|
|
||||||
- 新增模块:`plugin/discord-control.ts`
|
- 新增模块:`plugin/discord-control.ts`
|
||||||
- 迁移当前 `discord-control-api/server.mjs` 的核心能力为模块函数:
|
- (已迁移)将原 `discord-control-api/server.mjs` 核心能力迁移为插件模块函数:
|
||||||
- `channelPrivateCreate`
|
- `channelPrivateCreate`
|
||||||
- `channelPrivateUpdate`
|
- `channelPrivateUpdate`
|
||||||
- `guildMemberList`
|
- `guildMemberList`
|
||||||
|
|||||||
@@ -51,5 +51,5 @@ This PR delivers two tracks:
|
|||||||
## Rollback
|
## Rollback
|
||||||
|
|
||||||
- Disable plugin entry or remove plugin path from OpenClaw config
|
- Disable plugin entry or remove plugin path from OpenClaw config
|
||||||
- Stop `discord-control-api` process
|
- (Legacy note) `discord-control-api` sidecar has been removed; Discord control is in-plugin now
|
||||||
- Keep no-reply API stopped if not needed
|
- Keep no-reply API stopped if not needed
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
1. Dirigent 基础静态与脚本测试
|
1. Dirigent 基础静态与脚本测试
|
||||||
2. no-reply-api 隔离集成测试
|
2. no-reply-api 隔离集成测试
|
||||||
3. discord-control-api 功能测试(dryRun + 实操)
|
3. (历史)discord-control-api 功能测试(dryRun + 实操,当前版本已迁移为 in-plugin)
|
||||||
|
|
||||||
未覆盖:
|
未覆盖:
|
||||||
|
|
||||||
@@ -53,7 +53,7 @@ make check check-rules test-api
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### B. discord-control-api dryRun + 实操测试
|
### B. (历史)discord-control-api dryRun + 实操测试(当前版本已迁移)
|
||||||
|
|
||||||
执行内容与结果:
|
执行内容与结果:
|
||||||
|
|
||||||
@@ -113,7 +113,7 @@ make check check-rules test-api
|
|||||||
|
|
||||||
### 2) 回归测试
|
### 2) 回归测试
|
||||||
|
|
||||||
- discord-control-api 引入后,不影响 Dirigent 原有流程
|
- (历史结论)discord-control-api 引入后,不影响 Dirigent 原有流程;现已迁移为 in-plugin 实现
|
||||||
- 规则校验脚本在最新代码继续稳定通过
|
- 规则校验脚本在最新代码继续稳定通过
|
||||||
|
|
||||||
### 3) 运行与安全校验
|
### 3) 运行与安全校验
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ When current speaker NO_REPLYs, have **that bot** send a brief handoff message i
|
|||||||
**Challenges:**
|
**Challenges:**
|
||||||
- Adds visible noise to the channel (could use a convention like a specific emoji reaction)
|
- Adds visible noise to the channel (could use a convention like a specific emoji reaction)
|
||||||
- The no-reply'd bot can't send messages (it was silenced)
|
- The no-reply'd bot can't send messages (it was silenced)
|
||||||
- Could use the discord-control-api to send as a different bot
|
- Could use in-plugin Discord REST control to send as a different bot (sidecar removed)
|
||||||
|
|
||||||
### 6. Timer-Based Retry (Pragmatic)
|
### 6. Timer-Based Retry (Pragmatic)
|
||||||
|
|
||||||
@@ -93,7 +93,7 @@ After advancing the turn, set a short timer (e.g., 2-3 seconds). If no new messa
|
|||||||
**Solution 5 (Bot-to-Bot Handoff)** is the most pragmatic with current constraints. The implementation would be:
|
**Solution 5 (Bot-to-Bot Handoff)** is the most pragmatic with current constraints. The implementation would be:
|
||||||
|
|
||||||
1. In the `message_sent` hook, after detecting NO_REPLY and advancing the turn:
|
1. In the `message_sent` hook, after detecting NO_REPLY and advancing the turn:
|
||||||
2. Use the discord-control-api to send a short message (e.g., `[轮转]` or a specific emoji) from the **next speaker's bot account** in the channel
|
2. Use in-plugin Discord REST control to send a short message (e.g., `[轮转]` or a specific emoji) from the **next speaker's bot account** in the channel
|
||||||
3. This real Discord message triggers OpenClaw to route it to all agents
|
3. This real Discord message triggers OpenClaw to route it to all agents
|
||||||
4. The turn manager allows only the (now-current) next speaker to respond
|
4. The turn manager allows only the (now-current) next speaker to respond
|
||||||
5. The next speaker sees the original conversation context in their session history and responds appropriately
|
5. The next speaker sees the original conversation context in their session history and responds appropriately
|
||||||
|
|||||||
Reference in New Issue
Block a user